Decoding references. Otherwise, buggy code works only on stack refs.
Now, we handle not only SIRT (stack stuff), but because now we call
DecodeJObject(), we can also handle Globals, Global Weak, and Local.
Change-Id: Ibaf2f6ff81765bda6c14491b35ea088a5bf2bb27
diff --git a/src/calling_convention.h b/src/calling_convention.h
index 1385337..44ce93f 100644
--- a/src/calling_convention.h
+++ b/src/calling_convention.h
@@ -26,6 +26,8 @@
// Register reserved for scratch usage during procedure calls
ManagedRegister InterproceduralScratchRegister();
+ ManagedRegister ThreadRegister();
+
// Offset of Method within the frame
FrameOffset MethodStackOffset();
@@ -38,6 +40,7 @@
displacement_ = displacement;
itr_slots_ = 0;
itr_args_ = 0;
+ itr_refs_ = 0;
itr_longs_and_doubles_ = 0;
}
@@ -49,6 +52,7 @@
// The slot number for current calling_convention argument.
// Note that each slot is 32-bit. When the current argument is bigger
// than 32 bits, return the first slot number for this argument.
+ unsigned int itr_refs_;
unsigned int itr_slots_;
// The argument number along argument list for current argument
unsigned int itr_args_;