381 if (throwouts != 0) print(" throwouts='%d'", throwouts);
382 MethodData* mdo = method->method_data();
383 if (mdo != NULL) {
384 uint cnt;
385 cnt = mdo->decompile_count();
386 if (cnt != 0) print(" decompiles='%d'", cnt);
387 for (uint reason = 0; reason < mdo->trap_reason_limit(); reason++) {
388 cnt = mdo->trap_count(reason);
389 if (cnt != 0) print(" %s_traps='%d'", Deoptimization::trap_reason_name(reason), cnt);
390 }
391 cnt = mdo->overflow_trap_count();
392 if (cnt != 0) print(" overflow_traps='%d'", cnt);
393 cnt = mdo->overflow_recompile_count();
394 if (cnt != 0) print(" overflow_recompiles='%d'", cnt);
395 }
396 }
397
398 void xmlStream::method_text(methodHandle method) {
399 assert_if_no_error(inside_attrs(), "printing attributes");
400 if (method.is_null()) return;
401 //method->print_short_name(text());
402 method->method_holder()->name()->print_symbol_on(text());
403 print_raw(" "); // " " is easier for tools to parse than "::"
404 method->name()->print_symbol_on(text());
405 print_raw(" "); // separator
406 method->signature()->print_symbol_on(text());
407 }
408
409
410 // ------------------------------------------------------------------
411 // Output a klass attribute, in the form " klass='pkg/cls'".
412 // This is used only when there is no ciKlass available.
413 void xmlStream::klass(KlassHandle klass) {
414 assert_if_no_error(inside_attrs(), "printing attributes");
415 if (klass.is_null()) return;
416 print_raw(" klass='");
417 klass_text(klass);
418 print_raw("'");
419 }
420
421 void xmlStream::klass_text(KlassHandle klass) {
422 assert_if_no_error(inside_attrs(), "printing attributes");
|
381 if (throwouts != 0) print(" throwouts='%d'", throwouts);
382 MethodData* mdo = method->method_data();
383 if (mdo != NULL) {
384 uint cnt;
385 cnt = mdo->decompile_count();
386 if (cnt != 0) print(" decompiles='%d'", cnt);
387 for (uint reason = 0; reason < mdo->trap_reason_limit(); reason++) {
388 cnt = mdo->trap_count(reason);
389 if (cnt != 0) print(" %s_traps='%d'", Deoptimization::trap_reason_name(reason), cnt);
390 }
391 cnt = mdo->overflow_trap_count();
392 if (cnt != 0) print(" overflow_traps='%d'", cnt);
393 cnt = mdo->overflow_recompile_count();
394 if (cnt != 0) print(" overflow_recompiles='%d'", cnt);
395 }
396 }
397
398 void xmlStream::method_text(methodHandle method) {
399 assert_if_no_error(inside_attrs(), "printing attributes");
400 if (method.is_null()) return;
401 text()->print(method->method_holder()->external_name());
402 print_raw(" "); // " " is easier for tools to parse than "::"
403 method->name()->print_symbol_on(text());
404 print_raw(" "); // separator
405 method->signature()->print_symbol_on(text());
406 }
407
408
409 // ------------------------------------------------------------------
410 // Output a klass attribute, in the form " klass='pkg/cls'".
411 // This is used only when there is no ciKlass available.
412 void xmlStream::klass(KlassHandle klass) {
413 assert_if_no_error(inside_attrs(), "printing attributes");
414 if (klass.is_null()) return;
415 print_raw(" klass='");
416 klass_text(klass);
417 print_raw("'");
418 }
419
420 void xmlStream::klass_text(KlassHandle klass) {
421 assert_if_no_error(inside_attrs(), "printing attributes");
|