Index: src/ia32/code-stubs-ia32.cc |
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
index b9df93364fdafbb0e8e8193f76ada0d0035dda0f..47b93d601a88ef34f1103175e3da063a868c94a7 100644 |
--- a/src/ia32/code-stubs-ia32.cc |
+++ b/src/ia32/code-stubs-ia32.cc |
@@ -1995,8 +1995,9 @@ void JSEntryStub::Generate(MacroAssembler* masm) { |
// Push marker in two places. |
int marker = type(); |
- __ push(Immediate(Smi::FromInt(marker))); // context slot |
- __ push(Immediate(Smi::FromInt(marker))); // function slot |
+ __ push(Immediate(Smi::FromInt(marker))); // marker |
+ ExternalReference context_address(Isolate::kContextAddress, isolate()); |
+ __ push(Operand::StaticVariable(context_address)); // context |
// Save callee-saved registers (C calling conventions). |
__ push(edi); |
__ push(esi); |
@@ -3692,7 +3693,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { |
CEntryStub ces(isolate(), 1, kSaveFPRegs); |
__ call(ces.GetCode(), RelocInfo::CODE_TARGET); |
int parameter_count_offset = |
- StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset; |
+ StubFailureTrampolineFrameConstants::kArgumentsLengthOffset; |
__ mov(ebx, MemOperand(ebp, parameter_count_offset)); |
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); |
__ pop(ecx); |
@@ -4859,7 +4860,7 @@ void FastNewRestParameterStub::Generate(MacroAssembler* masm) { |
__ bind(&loop); |
__ mov(edx, Operand(edx, StandardFrameConstants::kCallerFPOffset)); |
__ bind(&loop_entry); |
- __ cmp(edi, Operand(edx, StandardFrameConstants::kMarkerOffset)); |
+ __ cmp(edi, Operand(edx, StandardFrameConstants::kFunctionOffset)); |
__ j(not_equal, &loop); |
} |
@@ -4867,7 +4868,7 @@ void FastNewRestParameterStub::Generate(MacroAssembler* masm) { |
// arguments adaptor frame below the function frame). |
Label no_rest_parameters; |
__ mov(ebx, Operand(edx, StandardFrameConstants::kCallerFPOffset)); |
- __ cmp(Operand(ebx, StandardFrameConstants::kContextOffset), |
+ __ cmp(Operand(ebx, CommonFrameConstants::kContextOrFrameTypeOffset), |
Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); |
__ j(not_equal, &no_rest_parameters, Label::kNear); |
@@ -5010,7 +5011,7 @@ void FastNewSloppyArgumentsStub::Generate(MacroAssembler* masm) { |
// Check if the calling frame is an arguments adaptor frame. |
Label adaptor_frame, try_allocate, runtime; |
__ mov(ebx, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); |
- __ mov(eax, Operand(ebx, StandardFrameConstants::kContextOffset)); |
+ __ mov(eax, Operand(ebx, CommonFrameConstants::kContextOrFrameTypeOffset)); |
__ cmp(eax, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); |
__ j(equal, &adaptor_frame, Label::kNear); |
@@ -5247,14 +5248,14 @@ void FastNewStrictArgumentsStub::Generate(MacroAssembler* masm) { |
__ bind(&loop); |
__ mov(edx, Operand(edx, StandardFrameConstants::kCallerFPOffset)); |
__ bind(&loop_entry); |
- __ cmp(edi, Operand(edx, StandardFrameConstants::kMarkerOffset)); |
+ __ cmp(edi, Operand(edx, StandardFrameConstants::kFunctionOffset)); |
__ j(not_equal, &loop); |
} |
// Check if we have an arguments adaptor frame below the function frame. |
Label arguments_adaptor, arguments_done; |
__ mov(ebx, Operand(edx, StandardFrameConstants::kCallerFPOffset)); |
- __ cmp(Operand(ebx, StandardFrameConstants::kContextOffset), |
+ __ cmp(Operand(ebx, CommonFrameConstants::kContextOrFrameTypeOffset), |
Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR))); |
__ j(equal, &arguments_adaptor, Label::kNear); |
{ |