summaryrefslogtreecommitdiffstats
path: root/compiler/jni
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-07-07 21:44:06 -0700
committerIan Rogers <irogers@google.com>2014-07-07 21:44:06 -0700
commit04c31d2c984d382b4186974fa0a416aecbed2625 (patch)
tree7790a9443b7e5639f2674104514d2e690f6d812f /compiler/jni
parent0da09a026fb6c612e659dc782312987b4515f472 (diff)
downloadart-04c31d2c984d382b4186974fa0a416aecbed2625.zip
art-04c31d2c984d382b4186974fa0a416aecbed2625.tar.gz
art-04c31d2c984d382b4186974fa0a416aecbed2625.tar.bz2
JNI dlsym lookup fixes.
Thread* self is passed on all architectures apart from ARM and ARM64. On x86 restore ebx correctly. Pass self in correct register on x86-64. Ensure methods are compiled in jni_compiler_test even if the generic JNI trampoline is present. Change-Id: If5fdb1de97b78ac5a5cf8d0915c5b82311f23eb9
Diffstat (limited to 'compiler/jni')
-rw-r--r--compiler/jni/jni_compiler_test.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/jni/jni_compiler_test.cc b/compiler/jni/jni_compiler_test.cc
index 25b489b..b4d863b 100644
--- a/compiler/jni/jni_compiler_test.cc
+++ b/compiler/jni/jni_compiler_test.cc
@@ -61,8 +61,8 @@ class JniCompilerTest : public CommonCompilerTest {
method = c->FindVirtualMethod(method_name, method_sig);
}
ASSERT_TRUE(method != nullptr) << method_name << " " << method_sig;
- if (method->GetEntryPointFromQuickCompiledCode() == nullptr) {
- ASSERT_TRUE(method->GetEntryPointFromPortableCompiledCode() == nullptr);
+ if (method->GetEntryPointFromQuickCompiledCode() == nullptr ||
+ method->GetEntryPointFromQuickCompiledCode() == class_linker_->GetQuickGenericJniTrampoline()) {
CompileMethod(method);
ASSERT_TRUE(method->GetEntryPointFromQuickCompiledCode() != nullptr)
<< method_name << " " << method_sig;