< prev index next >

src/hotspot/share/prims/jvm.cpp

Print this page
rev 59083 : DRAFT 8236522: NonTearable marker interface for inline classes to enforce atomicity

@@ -2330,14 +2330,11 @@
   oop o = JNIHandles::resolve(array);
   Klass* k = o->klass();
   if ((o == NULL) || (!k->is_array_klass())) {
     THROW_0(vmSymbols::java_lang_IllegalArgumentException());
   }
-  if (k->is_valueArray_klass()) {
-    return ValueArrayKlass::cast(k)->is_atomic();
-  }
-  return true;
+  return ArrayKlass::cast(k)->element_access_is_atomic();
 JVM_END
 
 JVM_ENTRY(jobject, JVM_ArrayEnsureAccessAtomic(JNIEnv *env, jclass unused, jobject array))
   JVMWrapper("JVM_ArrayEnsureAccessAtomic");
   oop o = JNIHandles::resolve(array);

@@ -2345,11 +2342,11 @@
   if ((o == NULL) || (!k->is_array_klass())) {
     THROW_0(vmSymbols::java_lang_IllegalArgumentException());
   }
   if (k->is_valueArray_klass()) {
     ValueArrayKlass* vk = ValueArrayKlass::cast(k);
-    if (!vk->is_atomic()) {
+    if (!vk->element_access_is_atomic()) {
       /**
        * Need to decide how to implement:
        *
        * 1) Change to objArrayOop layout, therefore oop->klass() differs so
        * then "<atomic>[Qfoo;" klass needs to subclass "[Qfoo;" to pass through
< prev index next >