Commit 9d8684f8 authored by hpayer@chromium.org's avatar hpayer@chromium.org

Fix Cluster Fuzz stack frame corruption bug.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/23596002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9f8f0c6d
...@@ -4413,6 +4413,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -4413,6 +4413,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ SmiTag(r0);
__ push(r0); __ push(r0);
__ push(r1); __ push(r1);
__ push(r2); __ push(r2);
...@@ -4423,6 +4424,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -4423,6 +4424,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
__ pop(r2); __ pop(r2);
__ pop(r1); __ pop(r1);
__ pop(r0); __ pop(r0);
__ SmiUntag(r0);
} }
__ b(&done); __ b(&done);
......
...@@ -4303,6 +4303,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -4303,6 +4303,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ SmiTag(eax);
__ push(eax); __ push(eax);
__ push(edi); __ push(edi);
__ push(ebx); __ push(ebx);
...@@ -4313,6 +4314,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -4313,6 +4314,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
__ pop(ebx); __ pop(ebx);
__ pop(edi); __ pop(edi);
__ pop(eax); __ pop(eax);
__ SmiUntag(eax);
} }
__ jmp(&done); __ jmp(&done);
......
...@@ -3391,6 +3391,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -3391,6 +3391,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
{ {
FrameScope scope(masm, StackFrame::INTERNAL); FrameScope scope(masm, StackFrame::INTERNAL);
__ Integer32ToSmi(rax, rax);
__ push(rax); __ push(rax);
__ push(rdi); __ push(rdi);
__ push(rbx); __ push(rbx);
...@@ -3401,6 +3402,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) { ...@@ -3401,6 +3402,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
__ pop(rbx); __ pop(rbx);
__ pop(rdi); __ pop(rdi);
__ pop(rax); __ pop(rax);
__ SmiToInteger32(rax, rax);
} }
__ jmp(&done); __ jmp(&done);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment