Index: runtime/vm/stub_code_arm.cc |
=================================================================== |
--- runtime/vm/stub_code_arm.cc (revision 31428) |
+++ runtime/vm/stub_code_arm.cc (working copy) |
@@ -1900,6 +1900,23 @@ |
} |
+// Called only from unoptimized code. All relevant registers have been saved. |
+void StubCode::GenerateDebugStepCheckStub( |
+ Assembler* assembler) { |
+ // Check single stepping. |
+ Label not_stepping; |
+ __ ldr(R1, FieldAddress(CTX, Context::isolate_offset())); |
+ __ ldrb(R1, Address(R1, Isolate::single_step_offset())); |
+ __ CompareImmediate(R1, 0); |
+ __ b(¬_stepping, EQ); |
+ __ EnterStubFrame(); |
+ __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0); |
+ __ LeaveStubFrame(); |
+ __ Bind(¬_stepping); |
+ __ Ret(); |
+} |
+ |
+ |
// Used to check class and type arguments. Arguments passed in registers: |
// LR: return address. |
// R0: instance (must be preserved). |