OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #include <assert.h> // For assert | 5 #include <assert.h> // For assert |
6 #include <limits.h> // For LONG_MIN, LONG_MAX. | 6 #include <limits.h> // For LONG_MIN, LONG_MAX. |
7 | 7 |
8 #if V8_TARGET_ARCH_S390 | 8 #if V8_TARGET_ARCH_S390 |
9 | 9 |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1302 Jump(adaptor, RelocInfo::CODE_TARGET); | 1302 Jump(adaptor, RelocInfo::CODE_TARGET); |
1303 } | 1303 } |
1304 bind(®ular_invoke); | 1304 bind(®ular_invoke); |
1305 } | 1305 } |
1306 } | 1306 } |
1307 | 1307 |
1308 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, | 1308 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
1309 const ParameterCount& expected, | 1309 const ParameterCount& expected, |
1310 const ParameterCount& actual) { | 1310 const ParameterCount& actual) { |
1311 Label skip_flooding; | 1311 Label skip_flooding; |
1312 ExternalReference step_in_enabled = | 1312 ExternalReference last_step_action = |
1313 ExternalReference::debug_step_in_enabled_address(isolate()); | 1313 ExternalReference::debug_last_step_action_address(isolate()); |
1314 mov(r6, Operand(step_in_enabled)); | 1314 STATIC_ASSERT(StepFrame > StepIn); |
1315 LoadlB(r6, MemOperand(r6)); | 1315 mov(r6, Operand(last_step_action)); |
1316 CmpP(r6, Operand::Zero()); | 1316 LoadB(r6, MemOperand(r6)); |
1317 beq(&skip_flooding); | 1317 CmpP(r6, Operand(StepIn)); |
| 1318 blt(&skip_flooding); |
1318 { | 1319 { |
1319 FrameScope frame(this, | 1320 FrameScope frame(this, |
1320 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); | 1321 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
1321 if (expected.is_reg()) { | 1322 if (expected.is_reg()) { |
1322 SmiTag(expected.reg()); | 1323 SmiTag(expected.reg()); |
1323 Push(expected.reg()); | 1324 Push(expected.reg()); |
1324 } | 1325 } |
1325 if (actual.is_reg()) { | 1326 if (actual.is_reg()) { |
1326 SmiTag(actual.reg()); | 1327 SmiTag(actual.reg()); |
1327 Push(actual.reg()); | 1328 Push(actual.reg()); |
(...skipping 4195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5523 } | 5524 } |
5524 if (mag.shift > 0) ShiftRightArith(result, result, Operand(mag.shift)); | 5525 if (mag.shift > 0) ShiftRightArith(result, result, Operand(mag.shift)); |
5525 ExtractBit(r0, dividend, 31); | 5526 ExtractBit(r0, dividend, 31); |
5526 AddP(result, r0); | 5527 AddP(result, r0); |
5527 } | 5528 } |
5528 | 5529 |
5529 } // namespace internal | 5530 } // namespace internal |
5530 } // namespace v8 | 5531 } // namespace v8 |
5531 | 5532 |
5532 #endif // V8_TARGET_ARCH_S390 | 5533 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |