comparison src/share/vm/oops/instanceKlass.cpp @ 12067:e22ee8e7ae62

8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes. Summary: Change InstanceKlass::_source_file_name and _generic_signature to u2 fields. Reviewed-by: coleenp, iklam
author jiangli
date Mon, 19 Aug 2013 14:59:54 -0400
parents 825e6cb66923
children b2e698d2276c 4f9a42c33738
comparison
equal deleted inserted replaced
12061:e5003079dfa5 12067:e22ee8e7ae62
267 set_transitive_interfaces(NULL); 267 set_transitive_interfaces(NULL);
268 init_implementor(); 268 init_implementor();
269 set_fields(NULL, 0); 269 set_fields(NULL, 0);
270 set_constants(NULL); 270 set_constants(NULL);
271 set_class_loader_data(NULL); 271 set_class_loader_data(NULL);
272 set_source_file_name(NULL); 272 set_source_file_name_index(0);
273 set_source_debug_extension(NULL, 0); 273 set_source_debug_extension(NULL, 0);
274 set_array_name(NULL); 274 set_array_name(NULL);
275 set_inner_classes(NULL); 275 set_inner_classes(NULL);
276 set_static_oop_field_count(0); 276 set_static_oop_field_count(0);
277 set_nonstatic_field_size(0); 277 set_nonstatic_field_size(0);
282 set_oop_map_cache(NULL); 282 set_oop_map_cache(NULL);
283 set_jni_ids(NULL); 283 set_jni_ids(NULL);
284 set_osr_nmethods_head(NULL); 284 set_osr_nmethods_head(NULL);
285 set_breakpoints(NULL); 285 set_breakpoints(NULL);
286 init_previous_versions(); 286 init_previous_versions();
287 set_generic_signature(NULL); 287 set_generic_signature_index(0);
288 release_set_methods_jmethod_ids(NULL); 288 release_set_methods_jmethod_ids(NULL);
289 release_set_methods_cached_itable_indices(NULL); 289 release_set_methods_cached_itable_indices(NULL);
290 set_annotations(NULL); 290 set_annotations(NULL);
291 set_jvmti_cached_class_field_map(NULL); 291 set_jvmti_cached_class_field_map(NULL);
292 set_initial_method_idnum(0); 292 set_initial_method_idnum(0);
2366 // Decrement symbol reference counts associated with the unloaded class. 2366 // Decrement symbol reference counts associated with the unloaded class.
2367 if (_name != NULL) _name->decrement_refcount(); 2367 if (_name != NULL) _name->decrement_refcount();
2368 // unreference array name derived from this class name (arrays of an unloaded 2368 // unreference array name derived from this class name (arrays of an unloaded
2369 // class can't be referenced anymore). 2369 // class can't be referenced anymore).
2370 if (_array_name != NULL) _array_name->decrement_refcount(); 2370 if (_array_name != NULL) _array_name->decrement_refcount();
2371 if (_source_file_name != NULL) _source_file_name->decrement_refcount();
2372 if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension, mtClass); 2371 if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension, mtClass);
2373 2372
2374 assert(_total_instanceKlass_count >= 1, "Sanity check"); 2373 assert(_total_instanceKlass_count >= 1, "Sanity check");
2375 Atomic::dec(&_total_instanceKlass_count); 2374 Atomic::dec(&_total_instanceKlass_count);
2376 }
2377
2378 void InstanceKlass::set_source_file_name(Symbol* n) {
2379 _source_file_name = n;
2380 if (_source_file_name != NULL) _source_file_name->increment_refcount();
2381 } 2375 }
2382 2376
2383 void InstanceKlass::set_source_debug_extension(char* array, int length) { 2377 void InstanceKlass::set_source_debug_extension(char* array, int length) {
2384 if (array == NULL) { 2378 if (array == NULL) {
2385 _source_debug_extension = NULL; 2379 _source_debug_extension = NULL;