< prev index next >

src/hotspot/share/interpreter/bytecodeTracer.cpp

Print this page
*** 20,10 ***
--- 20,11 ---
   * or visit www.oracle.com if you need additional information or have any
   * questions.
   *
   */
  
+ #include "cds/heapShared.hpp"
  #include "classfile/classPrinter.hpp"
  #include "classfile/javaClasses.inline.hpp"
  #include "interpreter/bytecodeHistogram.hpp"
  #include "interpreter/bytecodeStream.hpp"
  #include "interpreter/bytecodeTracer.hpp"

*** 172,11 ***
      } else {
        st->print("%4d %s", bci, Bytecodes::name(code));
      }
      _next_pc = is_wide() ? bcp+2 : bcp+1;
      print_attributes(bci, st);
!     bytecode_epilog(bci, st);
    }
  };
  
  // We need a global instance to keep track of the states when the bytecodes
  // are executed. Access by multiple threads are controlled by ttyLocker.
--- 173,13 ---
      } else {
        st->print("%4d %s", bci, Bytecodes::name(code));
      }
      _next_pc = is_wide() ? bcp+2 : bcp+1;
      print_attributes(bci, st);
!     if (ClassPrinter::has_mode(_flags, ClassPrinter::PRINT_PROFILE)) {
+       bytecode_epilog(bci, st);
+     }
    }
  };
  
  // We need a global instance to keep track of the states when the bytecodes
  // are executed. Access by multiple threads are controlled by ttyLocker.

*** 299,10 ***
--- 302,14 ---
  
      if (is_linked()) {
        ResolvedIndyEntry* indy_entry = constants()->resolved_indy_entry_at(indy_index);
        st->print("  ResolvedIndyEntry: ");
        indy_entry->print_on(st);
+       if (indy_entry->has_appendix()) {
+         oop apx = constants()->resolved_reference_from_indy(indy_index);
+         st->print_cr(" - appendix = " INTPTR_FORMAT, p2i(apx));
+       }
      }
    }
  }
  
  // cp_index: must be the cp_index of a JVM_CONSTANT_{Dynamic, DynamicInError, InvokeDynamic}
< prev index next >