| Index: src/full-codegen/mips64/full-codegen-mips64.cc
|
| diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| index afee1377a87dbeffee7809ec809ca4dd87606c77..c62dc05e34c2ca524f2f025e34a205eedc3754d1 100644
|
| --- a/src/full-codegen/mips64/full-codegen-mips64.cc
|
| +++ b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| @@ -1407,13 +1407,11 @@ void FullCodeGenerator::EmitGlobalVariableLoad(VariableProxy* proxy,
|
| int const depth = scope()->ContextChainLength(var->scope());
|
| if (depth <= LoadGlobalViaContextStub::kMaximumDepth) {
|
| __ li(LoadGlobalViaContextDescriptor::SlotRegister(), Operand(slot));
|
| - __ li(LoadGlobalViaContextDescriptor::NameRegister(), var->name());
|
| LoadGlobalViaContextStub stub(isolate(), depth);
|
| __ CallStub(&stub);
|
| } else {
|
| __ Push(Smi::FromInt(slot));
|
| - __ Push(var->name());
|
| - __ CallRuntime(Runtime::kLoadGlobalViaContext, 2);
|
| + __ CallRuntime(Runtime::kLoadGlobalViaContext, 1);
|
| }
|
|
|
| } else {
|
| @@ -2702,22 +2700,19 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op,
|
| DCHECK(var->IsStaticGlobalObjectProperty());
|
| DCHECK(StoreGlobalViaContextDescriptor::ValueRegister().is(a0));
|
| __ mov(StoreGlobalViaContextDescriptor::ValueRegister(), result_register());
|
| - // Each var occupies two slots in the context: for reads and writes.
|
| - int const slot = var->index() + 1;
|
| + int const slot = var->index();
|
| int const depth = scope()->ContextChainLength(var->scope());
|
| if (depth <= StoreGlobalViaContextStub::kMaximumDepth) {
|
| __ li(StoreGlobalViaContextDescriptor::SlotRegister(), Operand(slot));
|
| - __ li(StoreGlobalViaContextDescriptor::NameRegister(), var->name());
|
| StoreGlobalViaContextStub stub(isolate(), depth, language_mode());
|
| __ CallStub(&stub);
|
| } else {
|
| __ Push(Smi::FromInt(slot));
|
| - __ Push(var->name());
|
| __ Push(a0);
|
| __ CallRuntime(is_strict(language_mode())
|
| ? Runtime::kStoreGlobalViaContext_Strict
|
| : Runtime::kStoreGlobalViaContext_Sloppy,
|
| - 3);
|
| + 2);
|
| }
|
|
|
| } else if (var->mode() == LET && op != Token::INIT_LET) {
|
|
|