< prev index next > src/hotspot/share/interpreter/abstractInterpreter.cpp
Print this page
case vmIntrinsics::_Reference_get0: return java_lang_ref_reference_get0;
case vmIntrinsics::_Object_init:
if (m->code_size() == 1) {
// We need to execute the special return bytecode to check for
// finalizer registration so create a normal frame.
+ // No need to use the method kind with a memory barrier on entry
+ // because the method is empty and already has a memory barrier on return
return zerolocals;
+ } else if (EnableValhalla) {
+ // For non-empty Object constructors, we need a memory barrier
+ // when entering the method to ensure correctness of strict fields
+ return object_init;
}
break;
default: break;
}
}
case native_synchronized : tty->print("native_synchronized" ); break;
case empty : tty->print("empty" ); break;
case getter : tty->print("getter" ); break;
case setter : tty->print("setter" ); break;
case abstract : tty->print("abstract" ); break;
+ case object_init : tty->print("object_init" ); break;
case java_lang_math_sin : tty->print("java_lang_math_sin" ); break;
case java_lang_math_cos : tty->print("java_lang_math_cos" ); break;
case java_lang_math_tan : tty->print("java_lang_math_tan" ); break;
case java_lang_math_sinh : tty->print("java_lang_math_sinh" ); break;
case java_lang_math_tanh : tty->print("java_lang_math_tanh" ); break;
< prev index next >