OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 1572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1583 static void Generate_NotifyStubFailureHelper(MacroAssembler* masm, | 1583 static void Generate_NotifyStubFailureHelper(MacroAssembler* masm, |
1584 SaveFPRegsMode save_doubles) { | 1584 SaveFPRegsMode save_doubles) { |
1585 { | 1585 { |
1586 FrameScope scope(masm, StackFrame::INTERNAL); | 1586 FrameScope scope(masm, StackFrame::INTERNAL); |
1587 | 1587 |
1588 // Preserve registers across notification, this is important for compiled | 1588 // Preserve registers across notification, this is important for compiled |
1589 // stubs that tail call the runtime on deopts passing their parameters in | 1589 // stubs that tail call the runtime on deopts passing their parameters in |
1590 // registers. | 1590 // registers. |
1591 __ MultiPush(kJSCallerSaved | kCalleeSaved); | 1591 __ MultiPush(kJSCallerSaved | kCalleeSaved); |
1592 // Pass the function and deoptimization type to the runtime system. | 1592 // Pass the function and deoptimization type to the runtime system. |
1593 __ CallRuntime(Runtime::kNotifyStubFailure, save_doubles); | 1593 __ CallRuntime(Runtime::kNotifyBuiltinContinuation, save_doubles); |
1594 __ MultiPop(kJSCallerSaved | kCalleeSaved); | 1594 __ MultiPop(kJSCallerSaved | kCalleeSaved); |
1595 } | 1595 } |
1596 | 1596 |
1597 __ Addu(sp, sp, Operand(kPointerSize)); // Ignore state | 1597 __ Addu(sp, sp, Operand(kPointerSize)); // Ignore state |
1598 __ Jump(ra); // Jump to miss handler | 1598 __ Jump(ra); // Jump to miss handler |
1599 } | 1599 } |
1600 | 1600 |
1601 void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) { | 1601 void Builtins::Generate_NotifyStubFailure(MacroAssembler* masm) { |
1602 Generate_NotifyStubFailureHelper(masm, kDontSaveFPRegs); | 1602 Generate_NotifyStubFailureHelper(masm, kDontSaveFPRegs); |
1603 } | 1603 } |
(...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3076 // Now jump to the instructions of the returned code object. | 3076 // Now jump to the instructions of the returned code object. |
3077 __ Jump(at, v0, Code::kHeaderSize - kHeapObjectTag); | 3077 __ Jump(at, v0, Code::kHeaderSize - kHeapObjectTag); |
3078 } | 3078 } |
3079 | 3079 |
3080 #undef __ | 3080 #undef __ |
3081 | 3081 |
3082 } // namespace internal | 3082 } // namespace internal |
3083 } // namespace v8 | 3083 } // namespace v8 |
3084 | 3084 |
3085 #endif // V8_TARGET_ARCH_MIPS | 3085 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |