diff options
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
| -rw-r--r-- | runtime/interpreter/interpreter.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index 9cc144149b..2db62f8ead 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -95,9 +95,11 @@ static void UnstartedRuntimeJni(Thread* self, ArtMethod* method, jint newValue = args[4]; bool success; if (Runtime::Current()->IsActiveTransaction()) { - success = obj->CasField32<true>(MemberOffset(offset), expectedValue, newValue); + success = obj->CasFieldWeakSequentiallyConsistent32<true>(MemberOffset(offset), + expectedValue, newValue); } else { - success = obj->CasField32<false>(MemberOffset(offset), expectedValue, newValue); + success = obj->CasFieldWeakSequentiallyConsistent32<false>(MemberOffset(offset), + expectedValue, newValue); } result->SetZ(success ? JNI_TRUE : JNI_FALSE); } else if (name == "void sun.misc.Unsafe.putObject(java.lang.Object, long, java.lang.Object)") { |