aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/code
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/code
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/code')
-rw-r--r--src/share/vm/code/vmreg.cpp10
-rw-r--r--src/share/vm/code/vmreg.hpp9
2 files changed, 10 insertions, 9 deletions
diff --git a/src/share/vm/code/vmreg.cpp b/src/share/vm/code/vmreg.cpp
index 32e70f8cd..22be4b2f3 100644
--- a/src/share/vm/code/vmreg.cpp
+++ b/src/share/vm/code/vmreg.cpp
@@ -36,16 +36,16 @@ const int VMRegImpl::register_count = ConcreteRegisterImpl::number_of_registers;
// Register names
const char *VMRegImpl::regName[ConcreteRegisterImpl::number_of_registers];
-void VMRegImpl::print() {
#ifndef PRODUCT
+void VMRegImpl::print_on(outputStream* st) const {
if( is_reg() ) {
assert( VMRegImpl::regName[value()], "" );
- tty->print("%s",VMRegImpl::regName[value()]);
+ st->print("%s",VMRegImpl::regName[value()]);
} else if (is_stack()) {
int stk = value() - stack0->value();
- tty->print("[%d]", stk*4);
+ st->print("[%d]", stk*4);
} else {
- tty->print("BAD!");
+ st->print("BAD!");
}
-#endif // PRODUCT
}
+#endif // PRODUCT
diff --git a/src/share/vm/code/vmreg.hpp b/src/share/vm/code/vmreg.hpp
index 66b354078..ab77b265f 100644
--- a/src/share/vm/code/vmreg.hpp
+++ b/src/share/vm/code/vmreg.hpp
@@ -66,9 +66,9 @@ public:
}
}
static VMReg Bad() { return (VMReg) (intptr_t) BAD; }
- bool is_valid() { return ((intptr_t) this) != BAD; }
- bool is_stack() { return (intptr_t) this >= (intptr_t) stack0; }
- bool is_reg() { return is_valid() && !is_stack(); }
+ bool is_valid() const { return ((intptr_t) this) != BAD; }
+ bool is_stack() const { return (intptr_t) this >= (intptr_t) stack0; }
+ bool is_reg() const { return is_valid() && !is_stack(); }
// A concrete register is a value that returns true for is_reg() and is
// also a register you could use in the assembler. On machines with
@@ -96,7 +96,8 @@ public:
intptr_t value() const {return (intptr_t) this; }
- void print();
+ void print_on(outputStream* st) const PRODUCT_RETURN;
+ void print() const { print_on(tty); }
// bias a stack slot.
// Typically used to adjust a virtual frame slots by amounts that are offset by