diff src/share/vm/oops/constantPoolKlass.cpp @ 1155:4e6abf09f540

6912062: disassembler plugin needs to produce symbolic information in product mode Summary: More informative disassembly in product mode. Also, a more consistent CompileCommand syntax. Reviewed-by: never
author jrose
date Fri, 08 Jan 2010 13:47:01 -0800
parents be93aad57795
children c18cbe5936b8 beb77f0d41b3
line wrap: on
line diff
--- a/src/share/vm/oops/constantPoolKlass.cpp	Fri Jan 08 09:42:31 2010 -0800
+++ b/src/share/vm/oops/constantPoolKlass.cpp	Fri Jan 08 13:47:01 2010 -0800
@@ -387,8 +387,18 @@
   cp->set_cache(cache());
 }
 
+#endif
 
-#endif
+void constantPoolKlass::oop_print_value_on(oop obj, outputStream* st) {
+  assert(obj->is_constantPool(), "must be constantPool");
+  constantPoolOop cp = constantPoolOop(obj);
+  st->print("constant pool [%d]", cp->length());
+  if (cp->has_pseudo_string()) st->print("/pseudo_string");
+  if (cp->has_invokedynamic()) st->print("/invokedynamic");
+  cp->print_address_on(st);
+  st->print(" for ");
+  cp->pool_holder()->print_value_on(st);
+}
 
 const char* constantPoolKlass::internal_name() const {
   return "{constant pool}";