| Index: src/mips/code-stubs-mips.cc
|
| ===================================================================
|
| --- src/mips/code-stubs-mips.cc (revision 9309)
|
| +++ src/mips/code-stubs-mips.cc (working copy)
|
| @@ -3318,6 +3318,7 @@
|
| } else {
|
| __ mov_d(f12, f4);
|
| }
|
| + AllowExternalCallThatCantCauseGC scope(masm);
|
| switch (type_) {
|
| case TranscendentalCache::SIN:
|
| __ CallCFunction(
|
| @@ -3477,7 +3478,8 @@
|
|
|
|
|
| bool CEntryStub::CompilingCallsToThisStubIsGCSafe() {
|
| - return !save_doubles_ && result_size_ == 1;
|
| + return (!save_doubles_ || ISOLATE->fp_stubs_generated()) &&
|
| + result_size_ == 1;
|
| }
|
|
|
|
|
| @@ -3485,6 +3487,14 @@
|
| }
|
|
|
|
|
| +void CodeStub::GenerateFPStubs() {
|
| + CEntryStub save_doubles(1);
|
| + save_doubles.SaveDoubles();
|
| + Handle<Code> code = save_doubles.GetCode();
|
| + code->GetIsolate()->set_fp_stubs_generated(true);
|
| +}
|
| +
|
| +
|
| void CEntryStub::GenerateThrowTOS(MacroAssembler* masm) {
|
| __ Throw(v0);
|
| }
|
|
|