diff options
Diffstat (limited to 'runtime/gc/reference_processor.cc')
-rw-r--r-- | runtime/gc/reference_processor.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/runtime/gc/reference_processor.cc b/runtime/gc/reference_processor.cc index 772174f885..f24c94279c 100644 --- a/runtime/gc/reference_processor.cc +++ b/runtime/gc/reference_processor.cc @@ -363,9 +363,8 @@ class ClearedReferenceTask : public HeapTask { } void Run(Thread* thread) override { ScopedObjectAccess soa(thread); - jvalue args[1]; - args[0].l = cleared_references_; - InvokeWithJValues(soa, nullptr, WellKnownClasses::java_lang_ref_ReferenceQueue_add, args); + WellKnownClasses::java_lang_ref_ReferenceQueue_add->InvokeStatic<'V', 'L'>( + thread, soa.Decode<mirror::Object>(cleared_references_)); soa.Env()->DeleteGlobalRef(cleared_references_); } |