aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/compiler
diff options
context:
space:
mode:
authorkvn <none@none>2008-02-20 17:23:43 -0800
committerkvn <none@none>2008-02-20 17:23:43 -0800
commit75077bf3c01639e458d3acbcab13644baab81558 (patch)
treee7c6107f91b2df7eb98f6b05de97c36a72c2379d /src/share/vm/compiler
parent82d059b7605176e0fc23be907ed72f10a1572cc2 (diff)
downloadjdk8u_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.cpp28
-rw-r--r--src/share/vm/compiler/oopMap.hpp3
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); }
};