| Index: src/full-codegen/x64/full-codegen-x64.cc
|
| diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc
|
| index 9d783d3b8a339ca5f305718068be8266248e0052..cf168a598e02ba67fcd5f6b3cf08d7b7a3c785ce 100644
|
| --- a/src/full-codegen/x64/full-codegen-x64.cc
|
| +++ b/src/full-codegen/x64/full-codegen-x64.cc
|
| @@ -91,7 +91,6 @@
|
| // frames-x64.h for its layout.
|
| void FullCodeGenerator::Generate() {
|
| CompilationInfo* info = info_;
|
| - DCHECK_EQ(scope(), info->scope());
|
| profiling_counter_ = isolate()->factory()->NewCell(
|
| Handle<Smi>(Smi::FromInt(FLAG_interrupt_budget), isolate()));
|
| SetFunctionPosition(literal());
|
| @@ -194,8 +193,7 @@
|
| int num_parameters = info->scope()->num_parameters();
|
| int first_parameter = info->scope()->has_this_declaration() ? -1 : 0;
|
| for (int i = first_parameter; i < num_parameters; i++) {
|
| - Variable* var =
|
| - (i == -1) ? info->scope()->receiver() : info->scope()->parameter(i);
|
| + Variable* var = (i == -1) ? scope()->receiver() : scope()->parameter(i);
|
| if (var->IsContextSlot()) {
|
| int parameter_offset = StandardFrameConstants::kCallerSPOffset +
|
| (num_parameters - 1 - i) * kPointerSize;
|
| @@ -226,7 +224,7 @@
|
|
|
| // Possibly set up a local binding to the this function which is used in
|
| // derived constructors with super calls.
|
| - Variable* this_function_var = info->scope()->this_function_var();
|
| + Variable* this_function_var = scope()->this_function_var();
|
| if (this_function_var != nullptr) {
|
| Comment cmnt(masm_, "[ This function");
|
| if (!function_in_register) {
|
| @@ -237,7 +235,7 @@
|
| }
|
|
|
| // Possibly set up a local binding to the new target value.
|
| - Variable* new_target_var = info->scope()->new_target_var();
|
| + Variable* new_target_var = scope()->new_target_var();
|
| if (new_target_var != nullptr) {
|
| Comment cmnt(masm_, "[ new.target");
|
| SetVar(new_target_var, rdx, rbx, rcx);
|
| @@ -245,7 +243,7 @@
|
|
|
| // Possibly allocate RestParameters
|
| int rest_index;
|
| - Variable* rest_param = info->scope()->rest_parameter(&rest_index);
|
| + Variable* rest_param = scope()->rest_parameter(&rest_index);
|
| if (rest_param) {
|
| Comment cmnt(masm_, "[ Allocate rest parameter array");
|
| if (!function_in_register) {
|
| @@ -258,8 +256,7 @@
|
| }
|
|
|
| // Possibly allocate an arguments object.
|
| - DCHECK_EQ(scope(), info->scope());
|
| - Variable* arguments = info->scope()->arguments();
|
| + Variable* arguments = scope()->arguments();
|
| if (arguments != NULL) {
|
| // Arguments object must be allocated after the context object, in
|
| // case the "arguments" or ".arguments" variables are in the context.
|
| @@ -291,7 +288,7 @@
|
| BailoutState::NO_REGISTERS);
|
| {
|
| Comment cmnt(masm_, "[ Declarations");
|
| - VisitDeclarations(info->scope()->declarations());
|
| + VisitDeclarations(scope()->declarations());
|
| }
|
|
|
| // Assert that the declarations do not use ICs. Otherwise the debugger
|
| @@ -3515,7 +3512,7 @@
|
|
|
|
|
| void FullCodeGenerator::PushFunctionArgumentForContextAllocation() {
|
| - DeclarationScope* closure_scope = scope()->GetClosureScope();
|
| + Scope* closure_scope = scope()->ClosureScope();
|
| if (closure_scope->is_script_scope() ||
|
| closure_scope->is_module_scope()) {
|
| // Contexts nested in the native context have a canonical empty function
|
|
|