summaryrefslogtreecommitdiffstats
path: root/runtime/java_vm_ext.h
diff options
context:
space:
mode:
authorJeff Hao <jeffhao@google.com>2015-05-27 19:29:29 -0700
committerJeff Hao <jeffhao@google.com>2015-05-27 19:44:22 -0700
commit1a302fb4f84525289c1cf7a437f5be1999a75251 (patch)
treee69db1a280980ed969d0f993f6e05ba70c1d4bd5 /runtime/java_vm_ext.h
parente0cc299fd258b6ce6f19a201ca9fce09910f6e42 (diff)
downloadart-1a302fb4f84525289c1cf7a437f5be1999a75251.tar.gz
art-1a302fb4f84525289c1cf7a437f5be1999a75251.tar.bz2
art-1a302fb4f84525289c1cf7a437f5be1999a75251.zip
Fix updating of JNI references for String.<init>.
Was missing updates to globals and weak globals. Bug: 21288130 Bug: 21440428 Change-Id: I5f801f68b61f6b066b441b92ace367e6ba434789
Diffstat (limited to 'runtime/java_vm_ext.h')
-rw-r--r--runtime/java_vm_ext.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/runtime/java_vm_ext.h b/runtime/java_vm_ext.h
index deec6a98f3..594027c3c9 100644
--- a/runtime/java_vm_ext.h
+++ b/runtime/java_vm_ext.h
@@ -125,9 +125,17 @@ class JavaVMExt : public JavaVM {
mirror::Object* DecodeGlobal(Thread* self, IndirectRef ref)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ void UpdateGlobal(Thread* self, IndirectRef ref, mirror::Object* result)
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_)
+ LOCKS_EXCLUDED(globals_lock_);
+
mirror::Object* DecodeWeakGlobal(Thread* self, IndirectRef ref)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ void UpdateWeakGlobal(Thread* self, IndirectRef ref, mirror::Object* result)
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_)
+ LOCKS_EXCLUDED(weak_globals_lock_);
+
const JNIInvokeInterface* GetUncheckedFunctions() const {
return unchecked_functions_;
}