comparison src/share/vm/runtime/vframe.cpp @ 1149:0579c695832f

Merge
author ysr
date Sat, 09 Jan 2010 09:01:41 -0800
parents 4ce7240d622c
children cd37471eaecc
comparison
equal deleted inserted replaced
1148:05b775309e59 1149:0579c695832f
122 } 122 }
123 123
124 static void print_locked_object_class_name(outputStream* st, Handle obj, const char* lock_state) { 124 static void print_locked_object_class_name(outputStream* st, Handle obj, const char* lock_state) {
125 if (obj.not_null()) { 125 if (obj.not_null()) {
126 st->print("\t- %s <" INTPTR_FORMAT "> ", lock_state, (address)obj()); 126 st->print("\t- %s <" INTPTR_FORMAT "> ", lock_state, (address)obj());
127 if (obj->klass() == SystemDictionary::class_klass()) { 127 if (obj->klass() == SystemDictionary::Class_klass()) {
128 klassOop target_klass = java_lang_Class::as_klassOop(obj()); 128 klassOop target_klass = java_lang_Class::as_klassOop(obj());
129 st->print_cr("(a java.lang.Class for %s)", instanceKlass::cast(target_klass)->external_name()); 129 st->print_cr("(a java.lang.Class for %s)", instanceKlass::cast(target_klass)->external_name());
130 } else { 130 } else {
131 Klass* k = Klass::cast(obj->klass()); 131 Klass* k = Klass::cast(obj->klass());
132 st->print_cr("(a %s)", k->external_name()); 132 st->print_cr("(a %s)", k->external_name());
428 while (!at_end()) { 428 while (!at_end()) {
429 if (Universe::reflect_invoke_cache()->is_same_method(method())) { 429 if (Universe::reflect_invoke_cache()->is_same_method(method())) {
430 // This is Method.invoke() -- skip it 430 // This is Method.invoke() -- skip it
431 } else if (use_new_reflection && 431 } else if (use_new_reflection &&
432 Klass::cast(method()->method_holder()) 432 Klass::cast(method()->method_holder())
433 ->is_subclass_of(SystemDictionary::reflect_method_accessor_klass())) { 433 ->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass())) {
434 // This is an auxilary frame -- skip it 434 // This is an auxilary frame -- skip it
435 } else { 435 } else {
436 // This is non-excluded frame, we need to count it against the depth 436 // This is non-excluded frame, we need to count it against the depth
437 if (depth-- <= 0) { 437 if (depth-- <= 0) {
438 // we have reached the desired depth, we are done 438 // we have reached the desired depth, we are done
488 488
489 489
490 void vframeStreamCommon::skip_reflection_related_frames() { 490 void vframeStreamCommon::skip_reflection_related_frames() {
491 while (!at_end() && 491 while (!at_end() &&
492 (JDK_Version::is_gte_jdk14x_version() && UseNewReflection && 492 (JDK_Version::is_gte_jdk14x_version() && UseNewReflection &&
493 (Klass::cast(method()->method_holder())->is_subclass_of(SystemDictionary::reflect_method_accessor_klass()) || 493 (Klass::cast(method()->method_holder())->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass()) ||
494 Klass::cast(method()->method_holder())->is_subclass_of(SystemDictionary::reflect_constructor_accessor_klass())))) { 494 Klass::cast(method()->method_holder())->is_subclass_of(SystemDictionary::reflect_ConstructorAccessorImpl_klass())))) {
495 next(); 495 next();
496 } 496 }
497 } 497 }
498 498
499 499