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 1935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1946 } | 1946 } |
1947 bind(&invoke); | 1947 bind(&invoke); |
1948 } | 1948 } |
1949 } | 1949 } |
1950 | 1950 |
1951 | 1951 |
1952 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, | 1952 void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
1953 const ParameterCount& expected, | 1953 const ParameterCount& expected, |
1954 const ParameterCount& actual) { | 1954 const ParameterCount& actual) { |
1955 Label skip_flooding; | 1955 Label skip_flooding; |
1956 ExternalReference debug_step_action = | 1956 ExternalReference step_in_enabled = |
1957 ExternalReference::debug_last_step_action_address(isolate()); | 1957 ExternalReference::debug_step_in_enabled_address(isolate()); |
1958 cmpb(Operand::StaticVariable(debug_step_action), StepIn); | 1958 cmpb(Operand::StaticVariable(step_in_enabled), 0); |
1959 STATIC_ASSERT(StepFrame > StepIn); | 1959 j(equal, &skip_flooding); |
1960 j(less, &skip_flooding); | |
1961 { | 1960 { |
1962 FrameScope frame(this, | 1961 FrameScope frame(this, |
1963 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); | 1962 has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
1964 if (expected.is_reg()) { | 1963 if (expected.is_reg()) { |
1965 SmiTag(expected.reg()); | 1964 SmiTag(expected.reg()); |
1966 Push(expected.reg()); | 1965 Push(expected.reg()); |
1967 } | 1966 } |
1968 if (actual.is_reg()) { | 1967 if (actual.is_reg()) { |
1969 SmiTag(actual.reg()); | 1968 SmiTag(actual.reg()); |
1970 Push(actual.reg()); | 1969 Push(actual.reg()); |
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3048 mov(eax, dividend); | 3047 mov(eax, dividend); |
3049 shr(eax, 31); | 3048 shr(eax, 31); |
3050 add(edx, eax); | 3049 add(edx, eax); |
3051 } | 3050 } |
3052 | 3051 |
3053 | 3052 |
3054 } // namespace internal | 3053 } // namespace internal |
3055 } // namespace v8 | 3054 } // namespace v8 |
3056 | 3055 |
3057 #endif // V8_TARGET_ARCH_X87 | 3056 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |