< prev index next >

src/share/vm/oops/instanceKlass.cpp

Print this page

        

*** 469,478 **** --- 469,479 ---- } void InstanceKlass::eager_initialize_impl(instanceKlassHandle this_k) { EXCEPTION_MARK; oop init_lock = this_k->init_lock(); + init_lock = oopDesc::bs()->write_barrier(init_lock); ObjectLocker ol(init_lock, THREAD, init_lock != NULL); // abort if someone beat us to the initialization if (!this_k->is_not_initialized()) return; // note: not equivalent to is_initialized()
*** 615,624 **** --- 616,626 ---- PerfClassTraceTime::CLASS_LINK); // verification & rewriting { oop init_lock = this_k->init_lock(); + init_lock = oopDesc::bs()->write_barrier(init_lock); ObjectLocker ol(init_lock, THREAD, init_lock != NULL); // rewritten will have been set if loader constraint error found // on an earlier link attempt // don't verify or rewrite if already rewritten
*** 748,757 **** --- 750,760 ---- // refer to the JVM book page 47 for description of steps // Step 1 { oop init_lock = this_k->init_lock(); + init_lock = oopDesc::bs()->write_barrier(init_lock); ObjectLocker ol(init_lock, THREAD, init_lock != NULL); Thread *self = THREAD; // it's passed the current thread // Step 2
*** 880,889 **** --- 883,893 ---- set_initialization_state_and_notify_impl(kh, state, CHECK); } void InstanceKlass::set_initialization_state_and_notify_impl(instanceKlassHandle this_k, ClassState state, TRAPS) { oop init_lock = this_k->init_lock(); + init_lock = oopDesc::bs()->write_barrier(init_lock); ObjectLocker ol(init_lock, THREAD, init_lock != NULL); this_k->set_init_state(state); this_k->fence_and_clear_init_lock(); ol.notify_all(CHECK); }
*** 2252,2262 **** _source_debug_extension = sde; } } address InstanceKlass::static_field_addr(int offset) { ! return (address)(offset + InstanceMirrorKlass::offset_of_static_fields() + cast_from_oop<intptr_t>(java_mirror())); } const char* InstanceKlass::signature_name() const { int hash_len = 0; --- 2256,2266 ---- _source_debug_extension = sde; } } address InstanceKlass::static_field_addr(int offset) { ! return (address)(offset + InstanceMirrorKlass::offset_of_static_fields() + cast_from_oop<intptr_t>(oopDesc::bs()->write_barrier(java_mirror()))); } const char* InstanceKlass::signature_name() const { int hash_len = 0;
< prev index next >