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 |