diff src/share/vm/code/pcDesc.cpp @ 5129:51111665eda6

Support for recording a leaf graph id for each deoptimization point in the debug info.
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 21 Mar 2012 10:47:02 +0100
parents 04b9a2566eec
children 5d0bb7d52783
line wrap: on
line diff
--- a/src/share/vm/code/pcDesc.cpp	Fri Mar 16 11:03:54 2012 +0100
+++ b/src/share/vm/code/pcDesc.cpp	Wed Mar 21 10:47:02 2012 +0100
@@ -29,11 +29,12 @@
 #include "code/scopeDesc.hpp"
 #include "memory/resourceArea.hpp"
 
-PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset) {
+PcDesc::PcDesc(int pc_offset, int scope_decode_offset, int obj_decode_offset, jlong leaf_graph_id) {
   _pc_offset           = pc_offset;
   _scope_decode_offset = scope_decode_offset;
   _obj_decode_offset   = obj_decode_offset;
   _flags               = 0;
+  GRAAL_ONLY(_leaf_graph_id = leaf_graph_id);
 }
 
 address PcDesc::real_pc(const nmethod* code) const {
@@ -43,7 +44,11 @@
 void PcDesc::print(nmethod* code) {
 #ifndef PRODUCT
   ResourceMark rm;
+#ifdef GRAAL
+  tty->print_cr("PcDesc(pc=0x%lx offset=%x bits=%x leaf_graph_id=%d):", real_pc(code), pc_offset(), _flags, leaf_graph_id());
+#else
   tty->print_cr("PcDesc(pc=0x%lx offset=%x bits=%x):", real_pc(code), pc_offset(), _flags);
+#endif
 
   if (scope_decode_offset() == DebugInformationRecorder::serialized_null) {
     return;