src/share/vm/ci/ciEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/ci/ciEnv.cpp	Wed Oct  7 12:14:48 2015
--- new/src/share/vm/ci/ciEnv.cpp	Wed Oct  7 12:14:48 2015

*** 36,46 **** --- 36,47 ---- #include "classfile/vmSymbols.hpp" #include "code/codeCache.hpp" #include "code/scopeDesc.hpp" #include "compiler/compileBroker.hpp" #include "compiler/compileLog.hpp" ! #include "compiler/compilerOracle.hpp" ! #include "compiler/compilerDirectives.hpp" + #include "compiler/disassembler.hpp" #include "gc/shared/collectedHeap.inline.hpp" #include "interpreter/linkResolver.hpp" #include "memory/allocation.inline.hpp" #include "memory/oopFactory.hpp" #include "memory/universe.inline.hpp"
*** 954,966 **** --- 955,967 ---- int frame_words, OopMapSet* oop_map_set, ExceptionHandlerTable* handler_table, ImplicitExceptionTable* inc_table, AbstractCompiler* compiler, int comp_level, bool has_unsafe_access, bool has_wide_vectors, + DirectiveSet* directives, RTMState rtm_state) { VM_ENTRY_MARK; nmethod* nm = NULL; { // To prevent compile queue updates.
*** 1032,1046 **** --- 1033,1056 ---- offsets, orig_pc_offset, debug_info(), dependencies(), code_buffer, frame_words, oop_map_set, handler_table, inc_table, ! compiler, task()->comp_level()); + // Free codeBlobs code_buffer->free_blob(); if (nm != NULL) { + bool printnmethods = directives->PrintAssemblyOption || directives->PrintNMethodsOption; + if (printnmethods || PrintDebugInfo || PrintRelocations || PrintDependencies || PrintExceptionHandlers) { + nm->print_nmethod(printnmethods); + } + if (directives->PrintAssemblyOption) { + Disassembler::decode(nm); + } + nm->set_has_unsafe_access(has_unsafe_access); nm->set_has_wide_vectors(has_wide_vectors); #if INCLUDE_RTM_OPT nm->set_rtm_state(rtm_state); #endif
*** 1067,1088 **** --- 1077,1098 ---- if (TraceNMethodInstalls) { ResourceMark rm; char *method_name = method->name_and_sig_as_C_string(); ttyLocker ttyl; tty->print_cr("Installing method (%d) %s ", ! task()->comp_level(), method_name); } // Allow the code to be executed method->set_code(method, nm); } else { if (TraceNMethodInstalls) { ResourceMark rm; char *method_name = method->name_and_sig_as_C_string(); ttyLocker ttyl; tty->print_cr("Installing osr method (%d) %s @ %d", ! task()->comp_level(), method_name, entry_bci); } method->method_holder()->add_osr_nmethod(nm); }

src/share/vm/ci/ciEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File