diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-11-08 15:39:11 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-11-08 15:46:25 +0100 |
commit | 6ca81ad72a3c6fdf16c683335be748f22aaa9a0d (patch) | |
tree | 33c8ee75f729aed76c2c0b89c63f9bf1b4dd66aa /deps/v8/src/ast/variables.h | |
parent | 1eee0b8bf8bba39b600fb16a9223e545e3bac2bc (diff) | |
download | android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.gz android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.bz2 android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.zip |
deps: update V8 to 7.9.317.20
PR-URL: https://github.com/nodejs/node/pull/30020
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/src/ast/variables.h')
-rw-r--r-- | deps/v8/src/ast/variables.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/deps/v8/src/ast/variables.h b/deps/v8/src/ast/variables.h index 1ff6f9f422..7be99adc7c 100644 --- a/deps/v8/src/ast/variables.h +++ b/deps/v8/src/ast/variables.h @@ -21,7 +21,8 @@ class Variable final : public ZoneObject { public: Variable(Scope* scope, const AstRawString* name, VariableMode mode, VariableKind kind, InitializationFlag initialization_flag, - MaybeAssignedFlag maybe_assigned_flag = kNotAssigned) + MaybeAssignedFlag maybe_assigned_flag = kNotAssigned, + IsStaticFlag is_static_flag = IsStaticFlag::kNotStatic) : scope_(scope), name_(name), local_if_not_shadowed_(nullptr), @@ -35,10 +36,13 @@ class Variable final : public ZoneObject { ForceContextAllocationField::encode(false) | ForceHoleInitializationField::encode(false) | LocationField::encode(VariableLocation::UNALLOCATED) | - VariableKindField::encode(kind)) { + VariableKindField::encode(kind) | + IsStaticFlagField::encode(is_static_flag)) { // Var declared variables never need initialization. DCHECK(!(mode == VariableMode::kVar && initialization_flag == kNeedsInitialization)); + DCHECK_IMPLIES(is_static_flag == IsStaticFlag::kStatic, + IsConstVariableMode(mode)); } explicit Variable(Variable* other); @@ -59,6 +63,14 @@ class Variable final : public ZoneObject { void set_mode(VariableMode mode) { bit_field_ = VariableModeField::update(bit_field_, mode); } + void set_is_static_flag(IsStaticFlag is_static_flag) { + bit_field_ = IsStaticFlagField::update(bit_field_, is_static_flag); + } + IsStaticFlag is_static_flag() const { + return IsStaticFlagField::decode(bit_field_); + } + bool is_static() const { return is_static_flag() == IsStaticFlag::kStatic; } + bool has_forced_context_allocation() const { return ForceContextAllocationField::decode(bit_field_); } @@ -72,6 +84,9 @@ class Variable final : public ZoneObject { MaybeAssignedFlag maybe_assigned() const { return MaybeAssignedFlagField::decode(bit_field_); } + void clear_maybe_assigned() { + bit_field_ = MaybeAssignedFlagField::update(bit_field_, kNotAssigned); + } void SetMaybeAssigned() { if (mode() == VariableMode::kConst) return; @@ -249,6 +264,7 @@ class Variable final : public ZoneObject { using ForceHoleInitializationField = InitializationFlagField::Next<bool, 1>; using MaybeAssignedFlagField = ForceHoleInitializationField::Next<MaybeAssignedFlag, 1>; + using IsStaticFlagField = MaybeAssignedFlagField::Next<IsStaticFlag, 1>; Variable** next() { return &next_; } friend List; |