diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-12-05 16:29:01 -0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-12-05 16:29:01 -0800 |
commit | 21d081fd7f83aa168ea0bef0870c7f1fed410a63 (patch) | |
tree | 23a04eef49364b1cbee204a87fd0904be2430c2e /deps/v8/src/variables.cc | |
parent | e90623edc2befb06602ff8c3e01809ba0a21d593 (diff) | |
download | node-21d081fd7f83aa168ea0bef0870c7f1fed410a63.tar.gz |
Upgrade V8 to 3.7.12
Diffstat (limited to 'deps/v8/src/variables.cc')
-rw-r--r-- | deps/v8/src/variables.cc | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/deps/v8/src/variables.cc b/deps/v8/src/variables.cc index 971061b05..aa6a010fa 100644 --- a/deps/v8/src/variables.cc +++ b/deps/v8/src/variables.cc @@ -37,10 +37,11 @@ namespace internal { // ---------------------------------------------------------------------------- // Implementation Variable. -const char* Variable::Mode2String(Mode mode) { +const char* Variable::Mode2String(VariableMode mode) { switch (mode) { case VAR: return "VAR"; case CONST: return "CONST"; + case CONST_HARMONY: return "CONST"; case LET: return "LET"; case DYNAMIC: return "DYNAMIC"; case DYNAMIC_GLOBAL: return "DYNAMIC_GLOBAL"; @@ -55,21 +56,26 @@ const char* Variable::Mode2String(Mode mode) { Variable::Variable(Scope* scope, Handle<String> name, - Mode mode, + VariableMode mode, bool is_valid_LHS, - Kind kind) + Kind kind, + InitializationFlag initialization_flag) : scope_(scope), name_(name), mode_(mode), kind_(kind), location_(UNALLOCATED), index_(-1), + initializer_position_(RelocInfo::kNoPosition), local_if_not_shadowed_(NULL), is_valid_LHS_(is_valid_LHS), - is_accessed_from_inner_scope_(false), - is_used_(false) { - // names must be canonicalized for fast equality checks + force_context_allocation_(false), + is_used_(false), + initialization_flag_(initialization_flag) { + // Names must be canonicalized for fast equality checks. ASSERT(name->IsSymbol()); + // Var declared variables never need initialization. + ASSERT(!(mode == VAR && initialization_flag == kNeedsInitialization)); } @@ -79,4 +85,12 @@ bool Variable::is_global() const { return mode_ != TEMPORARY && scope_ != NULL && scope_->is_global_scope(); } + +int Variable::CompareIndex(Variable* const* v, Variable* const* w) { + int x = (*v)->index(); + int y = (*w)->index(); + // Consider sorting them according to type as well? + return x - y; +} + } } // namespace v8::internal |