< prev index next >

src/hotspot/share/memory/universe.cpp

Print this page




 494   if (Thread::current()->is_VM_thread()) {
 495     assert_pll_locked(is_locked);
 496   } else {
 497     assert_pll_ownership();
 498   }
 499   return _reference_pending_list;
 500 }
 501 
 502 void Universe::set_reference_pending_list(oop list) {
 503   assert_pll_ownership();
 504   _reference_pending_list = list;
 505 }
 506 
 507 bool Universe::has_reference_pending_list() {
 508   assert_pll_ownership();
 509   return _reference_pending_list != NULL;
 510 }
 511 
 512 oop Universe::swap_reference_pending_list(oop list) {
 513   assert_pll_locked(is_locked);
 514   return Atomic::xchg(list, &_reference_pending_list);
 515 }
 516 
 517 #undef assert_pll_locked
 518 #undef assert_pll_ownership
 519 
 520 void Universe::reinitialize_vtable_of(Klass* ko, TRAPS) {
 521   // init vtable of k and all subclasses
 522   ko->vtable().initialize_vtable(false, CHECK);
 523   if (ko->is_instance_klass()) {
 524     for (Klass* sk = ko->subklass();
 525          sk != NULL;
 526          sk = sk->next_sibling()) {
 527       reinitialize_vtable_of(sk, CHECK);
 528     }
 529   }
 530 }
 531 
 532 void Universe::reinitialize_vtables(TRAPS) {
 533   // The vtables are initialized by starting at java.lang.Object and
 534   // initializing through the subclass links, so that the super




 494   if (Thread::current()->is_VM_thread()) {
 495     assert_pll_locked(is_locked);
 496   } else {
 497     assert_pll_ownership();
 498   }
 499   return _reference_pending_list;
 500 }
 501 
 502 void Universe::set_reference_pending_list(oop list) {
 503   assert_pll_ownership();
 504   _reference_pending_list = list;
 505 }
 506 
 507 bool Universe::has_reference_pending_list() {
 508   assert_pll_ownership();
 509   return _reference_pending_list != NULL;
 510 }
 511 
 512 oop Universe::swap_reference_pending_list(oop list) {
 513   assert_pll_locked(is_locked);
 514   return Atomic::xchg(&_reference_pending_list, list);
 515 }
 516 
 517 #undef assert_pll_locked
 518 #undef assert_pll_ownership
 519 
 520 void Universe::reinitialize_vtable_of(Klass* ko, TRAPS) {
 521   // init vtable of k and all subclasses
 522   ko->vtable().initialize_vtable(false, CHECK);
 523   if (ko->is_instance_klass()) {
 524     for (Klass* sk = ko->subklass();
 525          sk != NULL;
 526          sk = sk->next_sibling()) {
 527       reinitialize_vtable_of(sk, CHECK);
 528     }
 529   }
 530 }
 531 
 532 void Universe::reinitialize_vtables(TRAPS) {
 533   // The vtables are initialized by starting at java.lang.Object and
 534   // initializing through the subclass links, so that the super


< prev index next >