diff options
author | kvn <none@none> | 2008-02-20 17:23:43 -0800 |
---|---|---|
committer | kvn <none@none> | 2008-02-20 17:23:43 -0800 |
commit | 75077bf3c01639e458d3acbcab13644baab81558 (patch) | |
tree | e7c6107f91b2df7eb98f6b05de97c36a72c2379d /src/share/vm/compiler | |
parent | 82d059b7605176e0fc23be907ed72f10a1572cc2 (diff) | |
download | jdk8u_hotspot-75077bf3c01639e458d3acbcab13644baab81558.tar.gz |
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
Diffstat (limited to 'src/share/vm/compiler')
-rw-r--r-- | src/share/vm/compiler/oopMap.cpp | 28 | ||||
-rw-r--r-- | src/share/vm/compiler/oopMap.hpp | 3 |
2 files changed, 16 insertions, 15 deletions
diff --git a/src/share/vm/compiler/oopMap.cpp b/src/share/vm/compiler/oopMap.cpp index bd6dc8013..b4a85f787 100644 --- a/src/share/vm/compiler/oopMap.cpp +++ b/src/share/vm/compiler/oopMap.cpp @@ -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(" "); } diff --git a/src/share/vm/compiler/oopMap.hpp b/src/share/vm/compiler/oopMap.hpp index dec8afe57..8b6783682 100644 --- a/src/share/vm/compiler/oopMap.hpp +++ b/src/share/vm/compiler/oopMap.hpp @@ -129,7 +129,8 @@ public: return reg()->reg2stack(); } - void print( ) const PRODUCT_RETURN; + void print_on(outputStream* st) const PRODUCT_RETURN; + void print() const { print_on(tty); } }; |