Mercurial > hg > graal-compiler
comparison src/share/vm/compiler/oopMap.cpp @ 25:c5cbd367e4d1
6621094: PrintOptoAssembly is broken for oops information in DebugInfo
Summary: OopMapValue and VMRegImpl classes miss the virtual method print_on(st).
Reviewed-by: rasbold, jrose, never
author | kvn |
---|---|
date | Wed, 20 Feb 2008 17:23:43 -0800 |
parents | a61af66fc99e |
children | c7c777385a15 |
comparison
equal
deleted
inserted
replaced
24:953939ef62ab | 25:c5cbd367e4d1 |
---|---|
504 return false; | 504 return false; |
505 #endif // COMPILER2 | 505 #endif // COMPILER2 |
506 } | 506 } |
507 | 507 |
508 | 508 |
509 void print_register_type(OopMapValue::oop_types x, VMReg optional) { | 509 static void print_register_type(OopMapValue::oop_types x, VMReg optional, outputStream* st) { |
510 switch( x ) { | 510 switch( x ) { |
511 case OopMapValue::oop_value: | 511 case OopMapValue::oop_value: |
512 tty->print("Oop"); | 512 st->print("Oop"); |
513 break; | 513 break; |
514 case OopMapValue::value_value: | 514 case OopMapValue::value_value: |
515 tty->print("Value" ); | 515 st->print("Value" ); |
516 break; | 516 break; |
517 case OopMapValue::dead_value: | 517 case OopMapValue::dead_value: |
518 tty->print("Dead" ); | 518 st->print("Dead" ); |
519 break; | 519 break; |
520 case OopMapValue::callee_saved_value: | 520 case OopMapValue::callee_saved_value: |
521 tty->print("Callers_" ); | 521 st->print("Callers_" ); |
522 optional->print(); | 522 optional->print_on(st); |
523 break; | 523 break; |
524 case OopMapValue::derived_oop_value: | 524 case OopMapValue::derived_oop_value: |
525 tty->print("Derived_oop_" ); | 525 st->print("Derived_oop_" ); |
526 optional->print(); | 526 optional->print_on(st); |
527 break; | 527 break; |
528 case OopMapValue::stack_obj: | 528 case OopMapValue::stack_obj: |
529 tty->print("Stack"); | 529 st->print("Stack"); |
530 break; | 530 break; |
531 default: | 531 default: |
532 ShouldNotReachHere(); | 532 ShouldNotReachHere(); |
533 } | 533 } |
534 } | 534 } |
535 | 535 |
536 | 536 |
537 void OopMapValue::print() const { | 537 void OopMapValue::print_on(outputStream* st) const { |
538 reg()->print(); | 538 reg()->print_on(st); |
539 tty->print("="); | 539 st->print("="); |
540 print_register_type(type(),content_reg()); | 540 print_register_type(type(),content_reg(),st); |
541 tty->print(" "); | 541 st->print(" "); |
542 } | 542 } |
543 | 543 |
544 | 544 |
545 void OopMap::print_on(outputStream* st) const { | 545 void OopMap::print_on(outputStream* st) const { |
546 OopMapValue omv; | 546 OopMapValue omv; |