Index: src/x87/lithium-codegen-x87.cc |
diff --git a/src/x87/lithium-codegen-x87.cc b/src/x87/lithium-codegen-x87.cc |
index ee96cf698801e8c1c0deb3c6e53baad5459891ad..bfb72b972187aa8f99bb8dc3e4073e1c7bc5f6c6 100644 |
--- a/src/x87/lithium-codegen-x87.cc |
+++ b/src/x87/lithium-codegen-x87.cc |
@@ -3153,15 +3153,13 @@ void LCodeGen::DoLoadGlobalViaContext(LLoadGlobalViaContext* instr) { |
int const slot = instr->slot_index(); |
int const depth = instr->depth(); |
if (depth <= LoadGlobalViaContextStub::kMaximumDepth) { |
- __ mov(LoadGlobalViaContextDescriptor::SlotRegister(), slot); |
- __ mov(LoadGlobalViaContextDescriptor::NameRegister(), instr->name()); |
+ __ mov(LoadGlobalViaContextDescriptor::SlotRegister(), Immediate(slot)); |
Handle<Code> stub = |
CodeFactory::LoadGlobalViaContext(isolate(), depth).code(); |
CallCode(stub, RelocInfo::CODE_TARGET, instr); |
} else { |
__ Push(Smi::FromInt(slot)); |
- __ Push(instr->name()); |
- __ CallRuntime(Runtime::kLoadGlobalViaContext, 2); |
+ __ CallRuntime(Runtime::kLoadGlobalViaContext, 1); |
} |
} |
@@ -4553,20 +4551,18 @@ void LCodeGen::DoStoreGlobalViaContext(LStoreGlobalViaContext* instr) { |
int const slot = instr->slot_index(); |
int const depth = instr->depth(); |
if (depth <= StoreGlobalViaContextStub::kMaximumDepth) { |
- __ mov(StoreGlobalViaContextDescriptor::SlotRegister(), slot); |
- __ mov(StoreGlobalViaContextDescriptor::NameRegister(), instr->name()); |
+ __ mov(StoreGlobalViaContextDescriptor::SlotRegister(), Immediate(slot)); |
Handle<Code> stub = CodeFactory::StoreGlobalViaContext( |
isolate(), depth, instr->language_mode()) |
.code(); |
CallCode(stub, RelocInfo::CODE_TARGET, instr); |
} else { |
__ Push(Smi::FromInt(slot)); |
- __ Push(instr->name()); |
__ Push(StoreGlobalViaContextDescriptor::ValueRegister()); |
__ CallRuntime(is_strict(instr->language_mode()) |
? Runtime::kStoreGlobalViaContext_Strict |
: Runtime::kStoreGlobalViaContext_Sloppy, |
- 3); |
+ 2); |
} |
} |