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_X87 | 5 #if V8_TARGET_ARCH_X87 |
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 1941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1952 } | 1952 } |
1953 | 1953 |
1954 | 1954 |
1955 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, | 1955 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
1956 const ParameterCount& expected, | 1956 const ParameterCount& expected, |
1957 const ParameterCount& actual) { | 1957 const ParameterCount& actual) { |
1958 Label skip_flooding; | 1958 Label skip_flooding; |
1959 ExternalReference debug_step_action = | 1959 ExternalReference debug_step_action = |
1960 ExternalReference::debug_last_step_action_address(isolate()); | 1960 ExternalReference::debug_last_step_action_address(isolate()); |
1961 cmpb(Operand::StaticVariable(debug_step_action), StepIn); | 1961 cmpb(Operand::StaticVariable(debug_step_action), StepIn); |
1962 j(not_equal, &skip_flooding); | 1962 STATIC_ASSERT(StepFrame > StepIn); |
| 1963 j(less, &skip_flooding); |
1963 { | 1964 { |
1964 FrameScope frame(this, | 1965 FrameScope frame(this, |
1965 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); | 1966 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
1966 if (expected.is_reg()) { | 1967 if (expected.is_reg()) { |
1967 SmiTag(expected.reg()); | 1968 SmiTag(expected.reg()); |
1968 Push(expected.reg()); | 1969 Push(expected.reg()); |
1969 } | 1970 } |
1970 if (actual.is_reg()) { | 1971 if (actual.is_reg()) { |
1971 SmiTag(actual.reg()); | 1972 SmiTag(actual.reg()); |
1972 Push(actual.reg()); | 1973 Push(actual.reg()); |
(...skipping 1082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3055 mov(eax, dividend); | 3056 mov(eax, dividend); |
3056 shr(eax, 31); | 3057 shr(eax, 31); |
3057 add(edx, eax); | 3058 add(edx, eax); |
3058 } | 3059 } |
3059 | 3060 |
3060 | 3061 |
3061 } // namespace internal | 3062 } // namespace internal |
3062 } // namespace v8 | 3063 } // namespace v8 |
3063 | 3064 |
3064 #endif // V8_TARGET_ARCH_X87 | 3065 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |