Index: runtime/vm/stub_code_arm.cc |
diff --git a/runtime/vm/stub_code_arm.cc b/runtime/vm/stub_code_arm.cc |
index b2264c78821721eb557d11d858e4d9e1f967868a..12210a268deb008ac9ec4eac6b30b6c8ba58d0c3 100644 |
--- a/runtime/vm/stub_code_arm.cc |
+++ b/runtime/vm/stub_code_arm.cc |
@@ -1379,8 +1379,9 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( |
} |
#endif // DEBUG |
+#if !defined(PRODUCT) |
Label stepping, done_stepping; |
- if (FLAG_support_debugger && !optimized) { |
+ if (!optimized) { |
__ Comment("Check single stepping"); |
__ LoadIsolate(R8); |
__ ldrb(R8, Address(R8, Isolate::single_step_offset())); |
@@ -1388,6 +1389,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( |
__ b(&stepping, NE); |
__ Bind(&done_stepping); |
} |
+#endif |
Label not_smi_or_overflow; |
if (kind != Token::kILLEGAL) { |
@@ -1508,7 +1510,8 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( |
__ ldr(CODE_REG, FieldAddress(R0, Function::code_offset())); |
__ bx(R2); |
- if (FLAG_support_debugger && !optimized) { |
+#if !defined(PRODUCT) |
+ if (!optimized) { |
__ Bind(&stepping); |
__ EnterStubFrame(); |
__ Push(R9); // Preserve IC data. |
@@ -1518,6 +1521,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( |
__ LeaveStubFrame(); |
__ b(&done_stepping); |
} |
+#endif |
} |
// Use inline cache data array to invoke the target or continue in inline |
@@ -1597,15 +1601,15 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) { |
} |
#endif // DEBUG |
+#if !defined(PRODUCT) |
// Check single stepping. |
Label stepping, done_stepping; |
- if (FLAG_support_debugger) { |
- __ LoadIsolate(R8); |
- __ ldrb(R8, Address(R8, Isolate::single_step_offset())); |
- __ CompareImmediate(R8, 0); |
- __ b(&stepping, NE); |
- __ Bind(&done_stepping); |
- } |
+ __ LoadIsolate(R8); |
+ __ ldrb(R8, Address(R8, Isolate::single_step_offset())); |
+ __ CompareImmediate(R8, 0); |
+ __ b(&stepping, NE); |
+ __ Bind(&done_stepping); |
+#endif |
// R9: IC data object (preserved). |
__ ldr(R8, FieldAddress(R9, ICData::ic_data_offset())); |
@@ -1631,16 +1635,16 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) { |
__ ldr(R2, FieldAddress(R0, Function::entry_point_offset())); |
__ bx(R2); |
- if (FLAG_support_debugger) { |
- __ Bind(&stepping); |
- __ EnterStubFrame(); |
- __ Push(R9); // Preserve IC data. |
- __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0); |
- __ Pop(R9); |
- __ RestoreCodePointer(); |
- __ LeaveStubFrame(); |
- __ b(&done_stepping); |
- } |
+#if !defined(PRODUCT) |
+ __ Bind(&stepping); |
+ __ EnterStubFrame(); |
+ __ Push(R9); // Preserve IC data. |
+ __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0); |
+ __ Pop(R9); |
+ __ RestoreCodePointer(); |
+ __ LeaveStubFrame(); |
+ __ b(&done_stepping); |
+#endif |
} |
void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) { |
@@ -2001,15 +2005,15 @@ static void GenerateIdenticalWithNumberCheckStub(Assembler* assembler, |
// Return Zero condition flag set if equal. |
void StubCode::GenerateUnoptimizedIdenticalWithNumberCheckStub( |
Assembler* assembler) { |
+#if !defined(PRODUCT) |
// Check single stepping. |
Label stepping, done_stepping; |
- if (FLAG_support_debugger) { |
- __ LoadIsolate(R1); |
- __ ldrb(R1, Address(R1, Isolate::single_step_offset())); |
- __ CompareImmediate(R1, 0); |
- __ b(&stepping, NE); |
- __ Bind(&done_stepping); |
- } |
+ __ LoadIsolate(R1); |
+ __ ldrb(R1, Address(R1, Isolate::single_step_offset())); |
+ __ CompareImmediate(R1, 0); |
+ __ b(&stepping, NE); |
+ __ Bind(&done_stepping); |
+#endif |
const Register temp = R2; |
const Register left = R1; |
@@ -2019,14 +2023,14 @@ void StubCode::GenerateUnoptimizedIdenticalWithNumberCheckStub( |
GenerateIdenticalWithNumberCheckStub(assembler, left, right, temp); |
__ Ret(); |
- if (FLAG_support_debugger) { |
- __ Bind(&stepping); |
- __ EnterStubFrame(); |
- __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0); |
- __ RestoreCodePointer(); |
- __ LeaveStubFrame(); |
- __ b(&done_stepping); |
- } |
+#if !defined(PRODUCT) |
+ __ Bind(&stepping); |
+ __ EnterStubFrame(); |
+ __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0); |
+ __ RestoreCodePointer(); |
+ __ LeaveStubFrame(); |
+ __ b(&done_stepping); |
+#endif |
} |
// Called from optimized code only. |