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_X64 | 5 #if V8_TARGET_ARCH_X64 |
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 4132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4143 } | 4143 } |
4144 bind(&invoke); | 4144 bind(&invoke); |
4145 } | 4145 } |
4146 } | 4146 } |
4147 | 4147 |
4148 | 4148 |
4149 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, | 4149 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
4150 const ParameterCount& expected, | 4150 const ParameterCount& expected, |
4151 const ParameterCount& actual) { | 4151 const ParameterCount& actual) { |
4152 Label skip_flooding; | 4152 Label skip_flooding; |
4153 ExternalReference debug_step_action = | 4153 ExternalReference step_in_enabled = |
4154 ExternalReference::debug_last_step_action_address(isolate()); | 4154 ExternalReference::debug_step_in_enabled_address(isolate()); |
4155 Operand debug_step_action_operand = ExternalOperand(debug_step_action); | 4155 Operand step_in_enabled_operand = ExternalOperand(step_in_enabled); |
4156 cmpb(debug_step_action_operand, Immediate(StepIn)); | 4156 cmpb(step_in_enabled_operand, Immediate(0)); |
4157 j(not_equal, &skip_flooding); | 4157 j(equal, &skip_flooding); |
4158 { | 4158 { |
4159 FrameScope frame(this, | 4159 FrameScope frame(this, |
4160 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); | 4160 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
4161 if (expected.is_reg()) { | 4161 if (expected.is_reg()) { |
4162 Integer32ToSmi(expected.reg(), expected.reg()); | 4162 Integer32ToSmi(expected.reg(), expected.reg()); |
4163 Push(expected.reg()); | 4163 Push(expected.reg()); |
4164 } | 4164 } |
4165 if (actual.is_reg()) { | 4165 if (actual.is_reg()) { |
4166 Integer32ToSmi(actual.reg(), actual.reg()); | 4166 Integer32ToSmi(actual.reg(), actual.reg()); |
4167 Push(actual.reg()); | 4167 Push(actual.reg()); |
(...skipping 1414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5582 movl(rax, dividend); | 5582 movl(rax, dividend); |
5583 shrl(rax, Immediate(31)); | 5583 shrl(rax, Immediate(31)); |
5584 addl(rdx, rax); | 5584 addl(rdx, rax); |
5585 } | 5585 } |
5586 | 5586 |
5587 | 5587 |
5588 } // namespace internal | 5588 } // namespace internal |
5589 } // namespace v8 | 5589 } // namespace v8 |
5590 | 5590 |
5591 #endif // V8_TARGET_ARCH_X64 | 5591 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |