hotspot/src/share/vm/oops/instanceKlass.cpp
changeset 27880 afb974a04396
parent 27674 00cabfc45357
child 27883 3179632c8f66
equal deleted inserted replaced
27879:419385282044 27880:afb974a04396
  1363       fd.reinitialize(this, fields_sorted[i + 1]);
  1363       fd.reinitialize(this, fields_sorted[i + 1]);
  1364       assert(!fd.is_static() && fd.offset() == fields_sorted[i], "only nonstatic fields");
  1364       assert(!fd.is_static() && fd.offset() == fields_sorted[i], "only nonstatic fields");
  1365       cl->do_field(&fd);
  1365       cl->do_field(&fd);
  1366     }
  1366     }
  1367   }
  1367   }
  1368   FREE_C_HEAP_ARRAY(int, fields_sorted, mtClass);
  1368   FREE_C_HEAP_ARRAY(int, fields_sorted);
  1369 }
  1369 }
  1370 
  1370 
  1371 
  1371 
  1372 void InstanceKlass::array_klasses_do(void f(Klass* k, TRAPS), TRAPS) {
  1372 void InstanceKlass::array_klasses_do(void f(Klass* k, TRAPS), TRAPS) {
  1373   if (array_klasses() != NULL)
  1373   if (array_klasses() != NULL)
  2471     assert(breakpoints() == 0x0, "should have cleared breakpoints");
  2471     assert(breakpoints() == 0x0, "should have cleared breakpoints");
  2472   }
  2472   }
  2473 
  2473 
  2474   // deallocate the cached class file
  2474   // deallocate the cached class file
  2475   if (_cached_class_file != NULL) {
  2475   if (_cached_class_file != NULL) {
  2476     os::free(_cached_class_file, mtClass);
  2476     os::free(_cached_class_file);
  2477     _cached_class_file = NULL;
  2477     _cached_class_file = NULL;
  2478   }
  2478   }
  2479 
  2479 
  2480   // Decrement symbol reference counts associated with the unloaded class.
  2480   // Decrement symbol reference counts associated with the unloaded class.
  2481   if (_name != NULL) _name->decrement_refcount();
  2481   if (_name != NULL) _name->decrement_refcount();
  2482   // unreference array name derived from this class name (arrays of an unloaded
  2482   // unreference array name derived from this class name (arrays of an unloaded
  2483   // class can't be referenced anymore).
  2483   // class can't be referenced anymore).
  2484   if (_array_name != NULL)  _array_name->decrement_refcount();
  2484   if (_array_name != NULL)  _array_name->decrement_refcount();
  2485   if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension, mtClass);
  2485   if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension);
  2486 
  2486 
  2487   assert(_total_instanceKlass_count >= 1, "Sanity check");
  2487   assert(_total_instanceKlass_count >= 1, "Sanity check");
  2488   Atomic::dec(&_total_instanceKlass_count);
  2488   Atomic::dec(&_total_instanceKlass_count);
  2489 }
  2489 }
  2490 
  2490