Index: src/ast/scopes.cc |
diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
index 129cbceaf5bef5c1104efa1332481c23582f7ce3..ba0008a7cd415dc86ce36fa5dbeb7f34ec5882b3 100644 |
--- a/src/ast/scopes.cc |
+++ b/src/ast/scopes.cc |
@@ -232,7 +232,6 @@ void Scope::SetDefaults() { |
num_stack_slots_ = 0; |
num_heap_slots_ = Context::MIN_CONTEXT_SLOTS; |
- num_global_slots_ = 0; |
set_language_mode(SLOPPY); |
@@ -340,10 +339,8 @@ void Scope::DeserializeScopeInfo(Isolate* isolate, |
DCHECK(ThreadId::Current().Equals(isolate->thread_id())); |
- // Internalize context local & globals variables. |
- for (int var = 0; var < scope_info_->ContextLocalCount() + |
- scope_info_->ContextGlobalCount(); |
- ++var) { |
+ // Internalize context local variables. |
+ for (int var = 0; var < scope_info_->ContextLocalCount(); ++var) { |
Handle<String> name_handle(scope_info_->ContextLocalName(var), isolate); |
const AstRawString* name = ast_value_factory->GetString(name_handle); |
int index = Context::MIN_CONTEXT_SLOTS + var; |
@@ -351,9 +348,7 @@ void Scope::DeserializeScopeInfo(Isolate* isolate, |
InitializationFlag init_flag = scope_info_->ContextLocalInitFlag(var); |
MaybeAssignedFlag maybe_assigned_flag = |
scope_info_->ContextLocalMaybeAssignedFlag(var); |
- VariableLocation location = var < scope_info_->ContextLocalCount() |
- ? VariableLocation::CONTEXT |
- : VariableLocation::GLOBAL; |
+ VariableLocation location = VariableLocation::CONTEXT; |
Variable::Kind kind = Variable::NORMAL; |
if (index == scope_info_->ReceiverContextSlotIndex()) { |
kind = Variable::THIS; |
@@ -603,12 +598,6 @@ Variable* Scope::LookupInScopeInfo(const AstRawString* name) { |
VariableLocation location = VariableLocation::CONTEXT; |
int index = ScopeInfo::ContextSlotIndex(scope_info_, name_handle, &mode, |
&init_flag, &maybe_assigned_flag); |
- if (index < 0) { |
- location = VariableLocation::GLOBAL; |
- index = ScopeInfo::ContextGlobalSlotIndex(scope_info_, name_handle, &mode, |
- &init_flag, &maybe_assigned_flag); |
- DCHECK(index < 0 || (is_script_scope() && mode == VAR)); |
- } |
if (index < 0 && scope_type() == MODULE_SCOPE) { |
location = VariableLocation::MODULE; |
index = -1; // TODO(neis): Find module variables in scope info. |
@@ -790,26 +779,6 @@ Declaration* Scope::CheckLexDeclarationsConflictingWith( |
return nullptr; |
} |
-void Scope::CollectVariables(ZoneList<Variable*>* stack_locals, |
- ZoneList<Variable*>* context_locals, |
- ZoneList<Variable*>* context_globals) { |
- // TODO(verwaest): Just pass out locals_ directly and walk it? |
- DCHECK_NOT_NULL(stack_locals); |
- DCHECK_NOT_NULL(context_locals); |
- DCHECK_NOT_NULL(context_globals); |
- |
- for (int i = 0; i < locals_.length(); i++) { |
- Variable* var = locals_[i]; |
- if (var->IsStackLocal()) { |
- stack_locals->Add(var, zone()); |
- } else if (var->IsContextSlot()) { |
- context_locals->Add(var, zone()); |
- } else if (var->IsGlobalSlot()) { |
- context_globals->Add(var, zone()); |
- } |
- } |
-} |
- |
void DeclarationScope::AllocateVariables(ParseInfo* info) { |
// 1) Propagate scope information. |
PropagateScopeInfo(); |
@@ -1116,8 +1085,7 @@ void Scope::Print(int n) { |
} |
if (num_heap_slots_ > 0) { |
Indent(n1, "// "); |
- PrintF("%d heap slots (including %d global slots)\n", num_heap_slots_, |
- num_global_slots_); |
+ PrintF("%d heap slots\n", num_heap_slots_); |
} |
// Print locals. |
@@ -1468,8 +1436,6 @@ void DeclarationScope::AllocateParameter(Variable* var, int index) { |
var->AllocateTo(VariableLocation::PARAMETER, index); |
} |
} |
- } else { |
- DCHECK(!var->IsGlobalSlot()); |
} |
} |
@@ -1491,32 +1457,11 @@ void Scope::AllocateNonParameterLocal(Variable* var) { |
} |
} |
-void Scope::AllocateDeclaredGlobal(Variable* var) { |
- DCHECK(var->scope() == this); |
- if (var->IsUnallocated()) { |
- if (var->IsStaticGlobalObjectProperty()) { |
- DCHECK_EQ(-1, var->index()); |
- DCHECK(var->name()->IsString()); |
- var->AllocateTo(VariableLocation::GLOBAL, num_heap_slots_++); |
- num_global_slots_++; |
- } else { |
- // There must be only DYNAMIC_GLOBAL in the script scope. |
- DCHECK(!is_script_scope() || DYNAMIC_GLOBAL == var->mode()); |
- } |
- } |
-} |
- |
void Scope::AllocateNonParameterLocalsAndDeclaredGlobals() { |
for (int i = 0; i < locals_.length(); i++) { |
AllocateNonParameterLocal(locals_[i]); |
} |
- if (FLAG_global_var_shortcuts) { |
- for (int i = 0; i < locals_.length(); i++) { |
- AllocateDeclaredGlobal(locals_[i]); |
- } |
- } |
- |
if (is_declaration_scope()) { |
AsDeclarationScope()->AllocateLocals(); |
} |
@@ -1614,12 +1559,9 @@ int Scope::ContextLocalCount() const { |
is_function_scope() ? AsDeclarationScope()->function_var() : nullptr; |
bool is_function_var_in_context = |
function != nullptr && function->IsContextSlot(); |
- return num_heap_slots() - Context::MIN_CONTEXT_SLOTS - num_global_slots() - |
+ return num_heap_slots() - Context::MIN_CONTEXT_SLOTS - |
(is_function_var_in_context ? 1 : 0); |
} |
- |
-int Scope::ContextGlobalCount() const { return num_global_slots(); } |
- |
} // namespace internal |
} // namespace v8 |