diff options
author | Ian Rogers <irogers@google.com> | 2014-10-14 17:41:57 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-10-16 19:27:28 -0700 |
commit | 6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3 (patch) | |
tree | f7a20779e4d665f948c5fbcd26dac0071dafb8d4 /runtime/reflection.cc | |
parent | 2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4 (diff) | |
download | art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.tar.gz art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.tar.bz2 art-6f3dbbadf4ce66982eb3d400e0a74cb73eb034f3.zip |
Make ART compile with GCC -O0 again.
Tidy up InstructionSetFeatures so that it has a type hierarchy dependent on
architecture.
Add to instruction_set_test to warn when InstructionSetFeatures don't agree
with ones from system properties, AT_HWCAP and /proc/cpuinfo.
Clean-up class linker entry point logic to not return entry points but to
test whether the passed code is the particular entrypoint. This works around
image trampolines that replicate entrypoints.
Bug: 17993736
Change-Id: I5f4b49e88c3b02a79f9bee04f83395146ed7be23
Diffstat (limited to 'runtime/reflection.cc')
-rw-r--r-- | runtime/reflection.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/reflection.cc b/runtime/reflection.cc index 23f8076e0f..b57e48fdd5 100644 --- a/runtime/reflection.cc +++ b/runtime/reflection.cc @@ -19,6 +19,7 @@ #include "class_linker.h" #include "common_throws.h" #include "dex_file-inl.h" +#include "entrypoints/entrypoint_utils.h" #include "jni_internal.h" #include "method_helper-inl.h" #include "mirror/art_field-inl.h" @@ -528,7 +529,7 @@ JValue InvokeVirtualOrInterfaceWithVarArgs(const ScopedObjectAccessAlreadyRunnab } void InvokeWithShadowFrame(Thread* self, ShadowFrame* shadow_frame, uint16_t arg_offset, - MethodHelper& mh, JValue* result) { + MethodHelper* mh, JValue* result) { // We want to make sure that the stack is not within a small distance from the // protected region in case we are calling into a leaf function whose stack // check has been elided. @@ -537,10 +538,10 @@ void InvokeWithShadowFrame(Thread* self, ShadowFrame* shadow_frame, uint16_t arg return; } - ArgArray arg_array(mh.GetShorty(), mh.GetShortyLength()); + ArgArray arg_array(mh->GetShorty(), mh->GetShortyLength()); arg_array.BuildArgArrayFromFrame(shadow_frame, arg_offset); shadow_frame->GetMethod()->Invoke(self, arg_array.GetArray(), arg_array.GetNumBytes(), result, - mh.GetShorty()); + mh->GetShorty()); } jobject InvokeMethod(const ScopedObjectAccessAlreadyRunnable& soa, jobject javaMethod, |