--- old/src/share/vm/classfile/javaClasses.cpp 2015-09-16 15:18:07.000000000 -0700 +++ new/src/share/vm/classfile/javaClasses.cpp 2015-09-16 15:18:06.000000000 -0700 @@ -54,6 +54,10 @@ #include "runtime/vframe.hpp" #include "utilities/preserveException.hpp" +#if INCLUDE_JVMCI +#include "jvmci/jvmciJavaClasses.hpp" +#endif + PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC #define INJECTED_FIELD_COMPUTE_OFFSET(klass, name, signature, may_be_java) \ @@ -1580,7 +1584,7 @@ while (h_throwable.not_null()) { objArrayHandle result (THREAD, objArrayOop(backtrace(h_throwable()))); if (result.is_null()) { - st->print_cr("%s", no_stack_trace_message()); + st->print_raw_cr(no_stack_trace_message()); return; } @@ -1655,7 +1659,7 @@ } return; } - + // Instead of using vframe directly, this version of fill_in_stack_trace // basically handles everything by hand. This significantly improved the // speed of this method call up to 28.5% on Solaris sparc. 27.1% on Windows. @@ -3655,5 +3659,10 @@ void javaClasses_init() { JavaClasses::compute_offsets(); JavaClasses::check_offsets(); +#if INCLUDE_JVMCI + if (EnableJVMCI) { + JVMCIJavaClasses::compute_offsets(); + } +#endif FilteredFieldsMap::initialize(); // must be done after computing offsets. }