Add box slow path allocation stub to static calls target table

- Fixes a crash when tracing double allocation in optimized code.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1266033003 .
This commit is contained in:
John McCutchan
2015-08-03 13:19:57 -07:00
parent fa1d1e9faf
commit 59f50474c2
5 changed files with 5 additions and 0 deletions
+1
View File
@@ -1832,6 +1832,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
&label,
RawPcDescriptors::kOther,
locs);
compiler->AddStubCallTarget(stub);
__ MoveRegister(result_, R0);
compiler->RestoreLiveRegisters(locs);
__ b(exit_label());
@@ -1688,6 +1688,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
&label,
RawPcDescriptors::kOther,
locs);
compiler->AddStubCallTarget(stub);
__ mov(result_, R0);
compiler->RestoreLiveRegisters(locs);
__ b(exit_label());
+1
View File
@@ -1669,6 +1669,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
&label,
RawPcDescriptors::kOther,
locs);
compiler->AddStubCallTarget(stub);
__ MoveRegister(result_, EAX);
compiler->RestoreLiveRegisters(locs);
__ jmp(exit_label());
+1
View File
@@ -1857,6 +1857,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
&label,
RawPcDescriptors::kOther,
locs);
compiler->AddStubCallTarget(stub);
if (result_ != V0) {
__ mov(result_, V0);
}
+1
View File
@@ -1678,6 +1678,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
&label,
RawPcDescriptors::kOther,
locs);
compiler->AddStubCallTarget(stub);
__ MoveRegister(result_, RAX);
compiler->RestoreLiveRegisters(locs);
__ jmp(exit_label());