From dd7624d2b9e599d57762d12031b10b89defc9807 Mon Sep 17 00:00:00 2001 From: Ian Rogers Date: Fri, 14 Mar 2014 17:43:00 -0700 Subject: Allow mixing of thread offsets between 32 and 64bit architectures. Begin a more full implementation x86-64 REX prefixes. Doesn't implement 64bit thread offset support for the JNI compiler. Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147 --- runtime/entrypoints/interpreter/interpreter_entrypoints.h | 5 ++--- runtime/entrypoints/jni/jni_entrypoints.h | 5 ++--- runtime/entrypoints/portable/portable_entrypoints.h | 5 ++--- runtime/entrypoints/quick/quick_entrypoints.h | 5 ++--- 4 files changed, 8 insertions(+), 12 deletions(-) (limited to 'runtime/entrypoints') diff --git a/runtime/entrypoints/interpreter/interpreter_entrypoints.h b/runtime/entrypoints/interpreter/interpreter_entrypoints.h index c7df4e6..d8b2204 100644 --- a/runtime/entrypoints/interpreter/interpreter_entrypoints.h +++ b/runtime/entrypoints/interpreter/interpreter_entrypoints.h @@ -21,9 +21,8 @@ #include "dex_file.h" #include "offsets.h" -#define INTERPRETER_ENTRYPOINT_OFFSET(x) \ - ThreadOffset(static_cast(OFFSETOF_MEMBER(Thread, interpreter_entrypoints_)) + \ - static_cast(OFFSETOF_MEMBER(InterpreterEntryPoints, x))) +#define INTERPRETER_ENTRYPOINT_OFFSET(ptr_size, x) \ + Thread::InterpreterEntryPointOffset(OFFSETOF_MEMBER(InterpreterEntryPoints, x)) namespace art { diff --git a/runtime/entrypoints/jni/jni_entrypoints.h b/runtime/entrypoints/jni/jni_entrypoints.h index 0a53447..6fb0560 100644 --- a/runtime/entrypoints/jni/jni_entrypoints.h +++ b/runtime/entrypoints/jni/jni_entrypoints.h @@ -20,9 +20,8 @@ #include "base/macros.h" #include "offsets.h" -#define JNI_ENTRYPOINT_OFFSET(x) \ - ThreadOffset(static_cast(OFFSETOF_MEMBER(Thread, jni_entrypoints_)) + \ - static_cast(OFFSETOF_MEMBER(JniEntryPoints, x))) +#define JNI_ENTRYPOINT_OFFSET(ptr_size, x) \ + Thread::JniEntryPointOffset(OFFSETOF_MEMBER(JniEntryPoints, x)) namespace art { diff --git a/runtime/entrypoints/portable/portable_entrypoints.h b/runtime/entrypoints/portable/portable_entrypoints.h index dbea707..6f77e1c 100644 --- a/runtime/entrypoints/portable/portable_entrypoints.h +++ b/runtime/entrypoints/portable/portable_entrypoints.h @@ -27,9 +27,8 @@ namespace mirror { } // namespace mirror class Thread; -#define PORTABLE_ENTRYPOINT_OFFSET(x) \ - ThreadOffset(static_cast(OFFSETOF_MEMBER(Thread, portable_entrypoints_)) + \ - static_cast(OFFSETOF_MEMBER(PortableEntryPoints, x))) +#define PORTABLE_ENTRYPOINT_OFFSET(ptr_size, x) \ + Thread::PortableEntryPointOffset(OFFSETOF_MEMBER(PortableEntryPoints, x)) // Pointers to functions that are called by code generated by compiler's adhering to the portable // compiler ABI. diff --git a/runtime/entrypoints/quick/quick_entrypoints.h b/runtime/entrypoints/quick/quick_entrypoints.h index 5c3b824..ec69e28 100644 --- a/runtime/entrypoints/quick/quick_entrypoints.h +++ b/runtime/entrypoints/quick/quick_entrypoints.h @@ -22,9 +22,8 @@ #include "base/macros.h" #include "offsets.h" -#define QUICK_ENTRYPOINT_OFFSET(x) \ - ThreadOffset(static_cast(OFFSETOF_MEMBER(Thread, quick_entrypoints_)) + \ - static_cast(OFFSETOF_MEMBER(QuickEntryPoints, x))) +#define QUICK_ENTRYPOINT_OFFSET(ptr_size, x) \ + Thread::QuickEntryPointOffset(OFFSETOF_MEMBER(QuickEntryPoints, x)) namespace art { -- cgit v1.1