mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
6621094: PrintOptoAssembly is broken for oops information in DebugInfo
OopMapValue and VMRegImpl classes miss the virtual method print_on(st). Reviewed-by: rasbold, jrose, never
This commit is contained in:
parent
5ade869e8c
commit
26097e9848
4 changed files with 26 additions and 24 deletions
|
@ -506,27 +506,27 @@ bool OopMap::has_derived_pointer() const {
|
|||
}
|
||||
|
||||
|
||||
void print_register_type(OopMapValue::oop_types x, VMReg optional) {
|
||||
static void print_register_type(OopMapValue::oop_types x, VMReg optional, outputStream* st) {
|
||||
switch( x ) {
|
||||
case OopMapValue::oop_value:
|
||||
tty->print("Oop");
|
||||
st->print("Oop");
|
||||
break;
|
||||
case OopMapValue::value_value:
|
||||
tty->print("Value" );
|
||||
st->print("Value" );
|
||||
break;
|
||||
case OopMapValue::dead_value:
|
||||
tty->print("Dead" );
|
||||
st->print("Dead" );
|
||||
break;
|
||||
case OopMapValue::callee_saved_value:
|
||||
tty->print("Callers_" );
|
||||
optional->print();
|
||||
st->print("Callers_" );
|
||||
optional->print_on(st);
|
||||
break;
|
||||
case OopMapValue::derived_oop_value:
|
||||
tty->print("Derived_oop_" );
|
||||
optional->print();
|
||||
st->print("Derived_oop_" );
|
||||
optional->print_on(st);
|
||||
break;
|
||||
case OopMapValue::stack_obj:
|
||||
tty->print("Stack");
|
||||
st->print("Stack");
|
||||
break;
|
||||
default:
|
||||
ShouldNotReachHere();
|
||||
|
@ -534,11 +534,11 @@ void print_register_type(OopMapValue::oop_types x, VMReg optional) {
|
|||
}
|
||||
|
||||
|
||||
void OopMapValue::print() const {
|
||||
reg()->print();
|
||||
tty->print("=");
|
||||
print_register_type(type(),content_reg());
|
||||
tty->print(" ");
|
||||
void OopMapValue::print_on(outputStream* st) const {
|
||||
reg()->print_on(st);
|
||||
st->print("=");
|
||||
print_register_type(type(),content_reg(),st);
|
||||
st->print(" ");
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue