summaryrefslogtreecommitdiff
path: root/compiler/utils/jni_macro_assembler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/jni_macro_assembler.cc')
-rw-r--r--compiler/utils/jni_macro_assembler.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/utils/jni_macro_assembler.cc b/compiler/utils/jni_macro_assembler.cc
index dc7ec60032..7a90a46f51 100644
--- a/compiler/utils/jni_macro_assembler.cc
+++ b/compiler/utils/jni_macro_assembler.cc
@@ -38,6 +38,7 @@
#include "base/globals.h"
#include "base/memory_region.h"
#include "gc_root.h"
+#include "stack_reference.h"
namespace art HIDDEN {
@@ -115,4 +116,17 @@ void JNIMacroAssembler<PointerSize::k64>::LoadGcRootWithoutReadBarrier(ManagedRe
ManagedRegister base,
MemberOffset offs);
+template <PointerSize kPointerSize>
+void JNIMacroAssembler<kPointerSize>::LoadStackReference(ManagedRegister dest, FrameOffset offs) {
+ static_assert(sizeof(uint32_t) == sizeof(StackReference<mirror::Object>));
+ Load(dest, offs, sizeof(uint32_t));
+}
+
+template
+void JNIMacroAssembler<PointerSize::k32>::LoadStackReference(ManagedRegister dest,
+ FrameOffset offs);
+template
+void JNIMacroAssembler<PointerSize::k64>::LoadStackReference(ManagedRegister dest,
+ FrameOffset offs);
+
} // namespace art