diff options
Diffstat (limited to 'compiler/utils/jni_macro_assembler.h')
-rw-r--r-- | compiler/utils/jni_macro_assembler.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/utils/jni_macro_assembler.h b/compiler/utils/jni_macro_assembler.h index d62112211b..a9d9f546e9 100644 --- a/compiler/utils/jni_macro_assembler.h +++ b/compiler/utils/jni_macro_assembler.h @@ -111,8 +111,13 @@ class JNIMacroAssembler : public DeletableArenaObject<kArenaAllocAssembler> { virtual void IncreaseFrameSize(size_t adjust) = 0; virtual void DecreaseFrameSize(size_t adjust) = 0; + // Return the same core register but with correct size if the architecture-specific + // ManagedRegister has different representation for different sizes. + virtual ManagedRegister CoreRegisterWithSize(ManagedRegister src, size_t size) = 0; + // Store routines virtual void Store(FrameOffset offs, ManagedRegister src, size_t size) = 0; + virtual void Store(ManagedRegister base, MemberOffset offs, ManagedRegister src, size_t size) = 0; virtual void StoreRef(FrameOffset dest, ManagedRegister src) = 0; virtual void StoreRawPtr(FrameOffset dest, ManagedRegister src) = 0; @@ -129,6 +134,7 @@ class JNIMacroAssembler : public DeletableArenaObject<kArenaAllocAssembler> { // Load routines virtual void Load(ManagedRegister dest, FrameOffset src, size_t size) = 0; + virtual void Load(ManagedRegister dest, ManagedRegister base, MemberOffset offs, size_t size) = 0; virtual void LoadFromThread(ManagedRegister dest, ThreadOffset<kPointerSize> src, |