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:
@@ -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());
|
||||
|
||||
@@ -1669,6 +1669,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
|
||||
&label,
|
||||
RawPcDescriptors::kOther,
|
||||
locs);
|
||||
compiler->AddStubCallTarget(stub);
|
||||
__ MoveRegister(result_, EAX);
|
||||
compiler->RestoreLiveRegisters(locs);
|
||||
__ jmp(exit_label());
|
||||
|
||||
@@ -1857,6 +1857,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
|
||||
&label,
|
||||
RawPcDescriptors::kOther,
|
||||
locs);
|
||||
compiler->AddStubCallTarget(stub);
|
||||
if (result_ != V0) {
|
||||
__ mov(result_, V0);
|
||||
}
|
||||
|
||||
@@ -1678,6 +1678,7 @@ class BoxAllocationSlowPath : public SlowPathCode {
|
||||
&label,
|
||||
RawPcDescriptors::kOther,
|
||||
locs);
|
||||
compiler->AddStubCallTarget(stub);
|
||||
__ MoveRegister(result_, RAX);
|
||||
compiler->RestoreLiveRegisters(locs);
|
||||
__ jmp(exit_label());
|
||||
|
||||
Reference in New Issue
Block a user