diff options
author | 2017-03-16 10:45:40 +0000 | |
---|---|---|
committer | 2017-03-16 10:55:24 +0000 | |
commit | 9e57abacecc683f50dd6c9870a32ee075eaf86a8 (patch) | |
tree | 27ef93c87f3ce9f09414620f77b35f6d0949fb22 /runtime/native/java_lang_String.cc | |
parent | 26ec3cad4968ae32ce9d04c3046f766df46d9bd7 (diff) |
Fix String::DoReplace() using obsolete `this`.
Change it to a static function taking a Handle<>.
Test: testrunner.py --host --interp-ac --gcstress -t 021-string2
Bug: 36335996
Change-Id: I5ab3e7adc59d6a9095290e57d5ce5d46b79f089b
Diffstat (limited to 'runtime/native/java_lang_String.cc')
-rw-r--r-- | runtime/native/java_lang_String.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/native/java_lang_String.cc b/runtime/native/java_lang_String.cc index 2e561ffa46..bf33bf24a0 100644 --- a/runtime/native/java_lang_String.cc +++ b/runtime/native/java_lang_String.cc @@ -101,8 +101,9 @@ static jstring String_intern(JNIEnv* env, jobject java_this) { static jstring String_doReplace(JNIEnv* env, jobject java_this, jchar old_c, jchar new_c) { ScopedFastNativeObjectAccess soa(env); - ObjPtr<mirror::String> result = - soa.Decode<mirror::String>(java_this)->DoReplace(soa.Self(), old_c, new_c); + StackHandleScope<1> hs(soa.Self()); + Handle<mirror::String> string = hs.NewHandle(soa.Decode<mirror::String>(java_this)); + ObjPtr<mirror::String> result = mirror::String::DoReplace(soa.Self(), string, old_c, new_c); return soa.AddLocalReference<jstring>(result); } |