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/code | |
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/code')
-rw-r--r-- | src/share/vm/code/vmreg.cpp | 10 | ||||
-rw-r--r-- | src/share/vm/code/vmreg.hpp | 9 |
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 |