404 ik->set_vtable_length(vtable_len);
405 ik->set_itable_length(itable_len);
406 ik->set_static_field_size(static_field_size);
407 ik->set_nonstatic_oop_map_size(nonstatic_oop_map_size);
408 ik->set_access_flags(access_flags);
409 ik->set_is_anonymous(!host_klass.is_null());
410 assert(k()->size() == size, "wrong size for object");
411
412 ik->set_array_klasses(NULL);
413 ik->set_methods(NULL);
414 ik->set_method_ordering(NULL);
415 ik->set_local_interfaces(NULL);
416 ik->set_transitive_interfaces(NULL);
417 ik->init_implementor();
418 ik->set_fields(NULL, 0);
419 ik->set_constants(NULL);
420 ik->set_class_loader(NULL);
421 ik->set_protection_domain(NULL);
422 ik->set_signers(NULL);
423 ik->set_source_file_name(NULL);
424 ik->set_source_debug_extension(NULL);
425 ik->set_source_debug_extension(NULL);
426 ik->set_array_name(NULL);
427 ik->set_inner_classes(NULL);
428 ik->set_static_oop_field_count(0);
429 ik->set_nonstatic_field_size(0);
430 ik->set_is_marked_dependent(false);
431 ik->set_init_state(instanceKlass::allocated);
432 ik->set_init_thread(NULL);
433 ik->set_reference_type(rt);
434 ik->set_oop_map_cache(NULL);
435 ik->set_jni_ids(NULL);
436 ik->set_osr_nmethods_head(NULL);
437 ik->set_breakpoints(NULL);
438 ik->init_previous_versions();
439 ik->set_generic_signature(NULL);
440 ik->release_set_methods_jmethod_ids(NULL);
441 ik->release_set_methods_cached_itable_indices(NULL);
442 ik->set_class_annotations(NULL);
443 ik->set_fields_annotations(NULL);
444 ik->set_methods_annotations(NULL);
445 ik->set_methods_parameter_annotations(NULL);
514 tty->print("%d : ", i); methods->obj_at(i)->print_value(); tty->cr();
515 }
516 }
517 st->print(BULLET"method ordering: "); ik->method_ordering()->print_value_on(st); st->cr();
518 st->print(BULLET"local interfaces: "); ik->local_interfaces()->print_value_on(st); st->cr();
519 st->print(BULLET"trans. interfaces: "); ik->transitive_interfaces()->print_value_on(st); st->cr();
520 st->print(BULLET"constants: "); ik->constants()->print_value_on(st); st->cr();
521 st->print(BULLET"class loader: "); ik->class_loader()->print_value_on(st); st->cr();
522 st->print(BULLET"protection domain: "); ik->protection_domain()->print_value_on(st); st->cr();
523 if (ik->host_klass() != NULL) {
524 st->print(BULLET"host class: "); ik->host_klass()->print_value_on(st); st->cr();
525 }
526 st->print(BULLET"signers: "); ik->signers()->print_value_on(st); st->cr();
527 if (ik->source_file_name() != NULL) {
528 st->print(BULLET"source file: ");
529 ik->source_file_name()->print_value_on(st);
530 st->cr();
531 }
532 if (ik->source_debug_extension() != NULL) {
533 st->print(BULLET"source debug extension: ");
534 ik->source_debug_extension()->print_value_on(st);
535 st->cr();
536 }
537
538 {
539 ResourceMark rm;
540 // PreviousVersionInfo objects returned via PreviousVersionWalker
541 // contain a GrowableArray of handles. We have to clean up the
542 // GrowableArray _after_ the PreviousVersionWalker destructor
543 // has destroyed the handles.
544 {
545 bool have_pv = false;
546 PreviousVersionWalker pvw(ik);
547 for (PreviousVersionInfo * pv_info = pvw.next_previous_version();
548 pv_info != NULL; pv_info = pvw.next_previous_version()) {
549 if (!have_pv)
550 st->print(BULLET"previous version: ");
551 have_pv = true;
552 pv_info->prev_constant_pool_handle()()->print_value_on(st);
553 }
554 if (have_pv) st->cr();
|
404 ik->set_vtable_length(vtable_len);
405 ik->set_itable_length(itable_len);
406 ik->set_static_field_size(static_field_size);
407 ik->set_nonstatic_oop_map_size(nonstatic_oop_map_size);
408 ik->set_access_flags(access_flags);
409 ik->set_is_anonymous(!host_klass.is_null());
410 assert(k()->size() == size, "wrong size for object");
411
412 ik->set_array_klasses(NULL);
413 ik->set_methods(NULL);
414 ik->set_method_ordering(NULL);
415 ik->set_local_interfaces(NULL);
416 ik->set_transitive_interfaces(NULL);
417 ik->init_implementor();
418 ik->set_fields(NULL, 0);
419 ik->set_constants(NULL);
420 ik->set_class_loader(NULL);
421 ik->set_protection_domain(NULL);
422 ik->set_signers(NULL);
423 ik->set_source_file_name(NULL);
424 ik->set_source_debug_extension(NULL, 0);
425 ik->set_array_name(NULL);
426 ik->set_inner_classes(NULL);
427 ik->set_static_oop_field_count(0);
428 ik->set_nonstatic_field_size(0);
429 ik->set_is_marked_dependent(false);
430 ik->set_init_state(instanceKlass::allocated);
431 ik->set_init_thread(NULL);
432 ik->set_reference_type(rt);
433 ik->set_oop_map_cache(NULL);
434 ik->set_jni_ids(NULL);
435 ik->set_osr_nmethods_head(NULL);
436 ik->set_breakpoints(NULL);
437 ik->init_previous_versions();
438 ik->set_generic_signature(NULL);
439 ik->release_set_methods_jmethod_ids(NULL);
440 ik->release_set_methods_cached_itable_indices(NULL);
441 ik->set_class_annotations(NULL);
442 ik->set_fields_annotations(NULL);
443 ik->set_methods_annotations(NULL);
444 ik->set_methods_parameter_annotations(NULL);
513 tty->print("%d : ", i); methods->obj_at(i)->print_value(); tty->cr();
514 }
515 }
516 st->print(BULLET"method ordering: "); ik->method_ordering()->print_value_on(st); st->cr();
517 st->print(BULLET"local interfaces: "); ik->local_interfaces()->print_value_on(st); st->cr();
518 st->print(BULLET"trans. interfaces: "); ik->transitive_interfaces()->print_value_on(st); st->cr();
519 st->print(BULLET"constants: "); ik->constants()->print_value_on(st); st->cr();
520 st->print(BULLET"class loader: "); ik->class_loader()->print_value_on(st); st->cr();
521 st->print(BULLET"protection domain: "); ik->protection_domain()->print_value_on(st); st->cr();
522 if (ik->host_klass() != NULL) {
523 st->print(BULLET"host class: "); ik->host_klass()->print_value_on(st); st->cr();
524 }
525 st->print(BULLET"signers: "); ik->signers()->print_value_on(st); st->cr();
526 if (ik->source_file_name() != NULL) {
527 st->print(BULLET"source file: ");
528 ik->source_file_name()->print_value_on(st);
529 st->cr();
530 }
531 if (ik->source_debug_extension() != NULL) {
532 st->print(BULLET"source debug extension: ");
533 st->print_cr("%s", ik->source_debug_extension());
534 st->cr();
535 }
536
537 {
538 ResourceMark rm;
539 // PreviousVersionInfo objects returned via PreviousVersionWalker
540 // contain a GrowableArray of handles. We have to clean up the
541 // GrowableArray _after_ the PreviousVersionWalker destructor
542 // has destroyed the handles.
543 {
544 bool have_pv = false;
545 PreviousVersionWalker pvw(ik);
546 for (PreviousVersionInfo * pv_info = pvw.next_previous_version();
547 pv_info != NULL; pv_info = pvw.next_previous_version()) {
548 if (!have_pv)
549 st->print(BULLET"previous version: ");
550 have_pv = true;
551 pv_info->prev_constant_pool_handle()()->print_value_on(st);
552 }
553 if (have_pv) st->cr();
|