Index: src/scopeinfo.cc |
diff --git a/src/scopeinfo.cc b/src/scopeinfo.cc |
index 72c36c2665942f0ad9a66a691d342baf791b6008..b819b172c4ad1db78926b0d59dc253d9841de94f 100644 |
--- a/src/scopeinfo.cc |
+++ b/src/scopeinfo.cc |
@@ -6,7 +6,6 @@ |
#include "src/v8.h" |
-#include "src/bootstrapper.h" |
#include "src/scopeinfo.h" |
#include "src/scopes.h" |
@@ -189,77 +188,6 @@ |
DCHECK(scope->num_heap_slots() == scope_info->ContextLength() || |
(scope->num_heap_slots() == kVariablePartIndex && |
scope_info->ContextLength() == 0)); |
- return scope_info; |
-} |
- |
- |
-Handle<ScopeInfo> ScopeInfo::CreateGlobalThisBinding(Isolate* isolate) { |
- DCHECK(isolate->bootstrapper()->IsActive()); |
- |
- const int stack_local_count = 0; |
- const int context_local_count = 1; |
- const int strong_mode_free_variable_count = 0; |
- const bool simple_parameter_list = true; |
- const VariableAllocationInfo receiver_info = CONTEXT; |
- const VariableAllocationInfo function_name_info = NONE; |
- const VariableMode function_variable_mode = VAR; |
- const bool has_function_name = false; |
- const bool has_receiver = true; |
- const int parameter_count = 0; |
- const int length = kVariablePartIndex + parameter_count + |
- (1 + stack_local_count) + 2 * context_local_count + |
- 3 * strong_mode_free_variable_count + |
- (has_receiver ? 1 : 0) + (has_function_name ? 2 : 0); |
- |
- Factory* factory = isolate->factory(); |
- Handle<ScopeInfo> scope_info = factory->NewScopeInfo(length); |
- |
- // Encode the flags. |
- int flags = ScopeTypeField::encode(SCRIPT_SCOPE) | |
- CallsEvalField::encode(false) | |
- LanguageModeField::encode(SLOPPY) | |
- ReceiverVariableField::encode(receiver_info) | |
- FunctionVariableField::encode(function_name_info) | |
- FunctionVariableMode::encode(function_variable_mode) | |
- AsmModuleField::encode(false) | AsmFunctionField::encode(false) | |
- IsSimpleParameterListField::encode(simple_parameter_list) | |
- BlockScopeIsClassScopeField::encode(false) | |
- FunctionKindField::encode(FunctionKind::kNormalFunction); |
- scope_info->SetFlags(flags); |
- scope_info->SetParameterCount(parameter_count); |
- scope_info->SetStackLocalCount(stack_local_count); |
- scope_info->SetContextLocalCount(context_local_count); |
- scope_info->SetStrongModeFreeVariableCount(strong_mode_free_variable_count); |
- |
- int index = kVariablePartIndex; |
- const int first_slot_index = 0; |
- DCHECK(index == scope_info->StackLocalFirstSlotIndex()); |
- scope_info->set(index++, Smi::FromInt(first_slot_index)); |
- DCHECK(index == scope_info->StackLocalEntriesIndex()); |
- |
- // Here we add info for context-allocated "this". |
- DCHECK(index == scope_info->ContextLocalNameEntriesIndex()); |
- scope_info->set(index++, *isolate->factory()->this_string()); |
- DCHECK(index == scope_info->ContextLocalInfoEntriesIndex()); |
- const uint32_t value = ContextLocalMode::encode(CONST) | |
- ContextLocalInitFlag::encode(kCreatedInitialized) | |
- ContextLocalMaybeAssignedFlag::encode(kNotAssigned); |
- scope_info->set(index++, Smi::FromInt(value)); |
- |
- DCHECK(index == scope_info->StrongModeFreeVariableNameEntriesIndex()); |
- DCHECK(index == scope_info->StrongModeFreeVariablePositionEntriesIndex()); |
- |
- // And here we record that this scopeinfo binds a receiver. |
- DCHECK(index == scope_info->ReceiverEntryIndex()); |
- const int receiver_index = Context::MIN_CONTEXT_SLOTS + 0; |
- scope_info->set(index++, Smi::FromInt(receiver_index)); |
- |
- DCHECK(index == scope_info->FunctionNameEntryIndex()); |
- |
- DCHECK_EQ(index, scope_info->length()); |
- DCHECK_EQ(scope_info->ParameterCount(), 0); |
- DCHECK_EQ(scope_info->ContextLength(), Context::MIN_CONTEXT_SLOTS + 1); |
- |
return scope_info; |
} |