| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
| 6 | 6 |
| 7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
| 8 #include "src/base/division-by-constant.h" | 8 #include "src/base/division-by-constant.h" |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 2474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2485 } | 2485 } |
| 2486 } | 2486 } |
| 2487 Bind(®ular_invoke); | 2487 Bind(®ular_invoke); |
| 2488 } | 2488 } |
| 2489 | 2489 |
| 2490 | 2490 |
| 2491 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, | 2491 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
| 2492 const ParameterCount& expected, | 2492 const ParameterCount& expected, |
| 2493 const ParameterCount& actual) { | 2493 const ParameterCount& actual) { |
| 2494 Label skip_flooding; | 2494 Label skip_flooding; |
| 2495 ExternalReference step_in_enabled = | 2495 ExternalReference last_step_action = |
| 2496 ExternalReference::debug_step_in_enabled_address(isolate()); | 2496 ExternalReference::debug_last_step_action_address(isolate()); |
| 2497 Mov(x4, Operand(step_in_enabled)); | 2497 STATIC_ASSERT(StepFrame > StepIn); |
| 2498 ldrb(x4, MemOperand(x4)); | 2498 Mov(x4, Operand(last_step_action)); |
| 2499 CompareAndBranch(x4, Operand(0), eq, &skip_flooding); | 2499 Ldrsb(x4, MemOperand(x4)); |
| 2500 CompareAndBranch(x4, Operand(StepIn), lt, &skip_flooding); |
| 2500 { | 2501 { |
| 2501 FrameScope frame(this, | 2502 FrameScope frame(this, |
| 2502 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); | 2503 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
| 2503 if (expected.is_reg()) { | 2504 if (expected.is_reg()) { |
| 2504 SmiTag(expected.reg()); | 2505 SmiTag(expected.reg()); |
| 2505 Push(expected.reg()); | 2506 Push(expected.reg()); |
| 2506 } | 2507 } |
| 2507 if (actual.is_reg()) { | 2508 if (actual.is_reg()) { |
| 2508 SmiTag(actual.reg()); | 2509 SmiTag(actual.reg()); |
| 2509 Push(actual.reg()); | 2510 Push(actual.reg()); |
| (...skipping 2634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5144 } | 5145 } |
| 5145 | 5146 |
| 5146 | 5147 |
| 5147 #undef __ | 5148 #undef __ |
| 5148 | 5149 |
| 5149 | 5150 |
| 5150 } // namespace internal | 5151 } // namespace internal |
| 5151 } // namespace v8 | 5152 } // namespace v8 |
| 5152 | 5153 |
| 5153 #endif // V8_TARGET_ARCH_ARM64 | 5154 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |