| 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 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 521 __ SmiTag(a0); | 521 __ SmiTag(a0); |
| 522 __ Push(a0, a1, a3, a1); | 522 __ Push(a0, a1, a3, a1); |
| 523 | 523 |
| 524 __ CallRuntime(function_id, 1); | 524 __ CallRuntime(function_id, 1); |
| 525 | 525 |
| 526 // Restore target function and new target. | 526 // Restore target function and new target. |
| 527 __ Pop(a0, a1, a3); | 527 __ Pop(a0, a1, a3); |
| 528 __ SmiUntag(a0); | 528 __ SmiUntag(a0); |
| 529 } | 529 } |
| 530 | 530 |
| 531 __ Addu(at, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); | 531 __ Jump(at, v0, Code::kHeaderSize - kHeapObjectTag); |
| 532 __ Jump(at); | |
| 533 } | 532 } |
| 534 | 533 |
| 535 void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) { | 534 void Builtins::Generate_InOptimizationQueue(MacroAssembler* masm) { |
| 536 // Checking whether the queued function is ready for install is optional, | 535 // Checking whether the queued function is ready for install is optional, |
| 537 // since we come across interrupts and stack checks elsewhere. However, | 536 // since we come across interrupts and stack checks elsewhere. However, |
| 538 // not checking may delay installing ready functions, and always checking | 537 // not checking may delay installing ready functions, and always checking |
| 539 // would be quite expensive. A good compromise is to first check against | 538 // would be quite expensive. A good compromise is to first check against |
| 540 // stack limit as a cue for an interrupt signal. | 539 // stack limit as a cue for an interrupt signal. |
| 541 Label ok; | 540 Label ok; |
| 542 __ LoadRoot(t0, Heap::kStackLimitRootIndex); | 541 __ LoadRoot(t0, Heap::kStackLimitRootIndex); |
| (...skipping 2401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2944 __ break_(0xCC); | 2943 __ break_(0xCC); |
| 2945 } | 2944 } |
| 2946 } | 2945 } |
| 2947 | 2946 |
| 2948 #undef __ | 2947 #undef __ |
| 2949 | 2948 |
| 2950 } // namespace internal | 2949 } // namespace internal |
| 2951 } // namespace v8 | 2950 } // namespace v8 |
| 2952 | 2951 |
| 2953 #endif // V8_TARGET_ARCH_MIPS | 2952 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |