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

src/share/vm/ci/ciEnv.cpp

Print this page




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "ci/ciConstant.hpp"
  27 #include "ci/ciEnv.hpp"
  28 #include "ci/ciField.hpp"
  29 #include "ci/ciInstance.hpp"
  30 #include "ci/ciInstanceKlass.hpp"
  31 #include "ci/ciMethod.hpp"
  32 #include "ci/ciNullObject.hpp"
  33 #include "ci/ciReplay.hpp"
  34 #include "ci/ciUtilities.hpp"
  35 #include "classfile/systemDictionary.hpp"
  36 #include "classfile/vmSymbols.hpp"

  37 #include "code/scopeDesc.hpp"
  38 #include "compiler/compileBroker.hpp"
  39 #include "compiler/compileLog.hpp"
  40 #include "compiler/compilerOracle.hpp"
  41 #include "gc_interface/collectedHeap.inline.hpp"
  42 #include "interpreter/linkResolver.hpp"
  43 #include "memory/allocation.inline.hpp"
  44 #include "memory/oopFactory.hpp"
  45 #include "memory/universe.inline.hpp"
  46 #include "oops/methodData.hpp"
  47 #include "oops/objArrayKlass.hpp"
  48 #include "oops/oop.inline.hpp"
  49 #include "oops/oop.inline2.hpp"
  50 #include "prims/jvmtiExport.hpp"
  51 #include "runtime/init.hpp"
  52 #include "runtime/reflection.hpp"
  53 #include "runtime/sharedRuntime.hpp"
  54 #include "runtime/thread.inline.hpp"
  55 #include "utilities/dtrace.hpp"
  56 #include "utilities/macros.hpp"


1068         if (TraceNMethodInstalls) {
1069           ResourceMark rm;
1070           char *method_name = method->name_and_sig_as_C_string();
1071           ttyLocker ttyl;
1072           tty->print_cr("Installing osr method (%d) %s @ %d",
1073                         comp_level,
1074                         method_name,
1075                         entry_bci);
1076         }
1077         method->method_holder()->add_osr_nmethod(nm);
1078       }
1079     }
1080   }  // safepoints are allowed again
1081 
1082   if (nm != NULL) {
1083     // JVMTI -- compiled method notification (must be done outside lock)
1084     nm->post_compiled_method_load_event();
1085   } else {
1086     // The CodeCache is full. Print out warning and disable compilation.
1087     record_failure("code cache is full");
1088     CompileBroker::handle_full_code_cache();
1089   }
1090 }
1091 
1092 
1093 // ------------------------------------------------------------------
1094 // ciEnv::find_system_klass
1095 ciKlass* ciEnv::find_system_klass(ciSymbol* klass_name) {
1096   VM_ENTRY_MARK;
1097   return get_klass_by_name_impl(NULL, constantPoolHandle(), klass_name, false);
1098 }
1099 
1100 // ------------------------------------------------------------------
1101 // ciEnv::comp_level
1102 int ciEnv::comp_level() {
1103   if (task() == NULL)  return CompLevel_highest_tier;
1104   return task()->comp_level();
1105 }
1106 
1107 // ------------------------------------------------------------------
1108 // ciEnv::compile_id




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "ci/ciConstant.hpp"
  27 #include "ci/ciEnv.hpp"
  28 #include "ci/ciField.hpp"
  29 #include "ci/ciInstance.hpp"
  30 #include "ci/ciInstanceKlass.hpp"
  31 #include "ci/ciMethod.hpp"
  32 #include "ci/ciNullObject.hpp"
  33 #include "ci/ciReplay.hpp"
  34 #include "ci/ciUtilities.hpp"
  35 #include "classfile/systemDictionary.hpp"
  36 #include "classfile/vmSymbols.hpp"
  37 #include "code/codeCache.hpp"
  38 #include "code/scopeDesc.hpp"
  39 #include "compiler/compileBroker.hpp"
  40 #include "compiler/compileLog.hpp"
  41 #include "compiler/compilerOracle.hpp"
  42 #include "gc_interface/collectedHeap.inline.hpp"
  43 #include "interpreter/linkResolver.hpp"
  44 #include "memory/allocation.inline.hpp"
  45 #include "memory/oopFactory.hpp"
  46 #include "memory/universe.inline.hpp"
  47 #include "oops/methodData.hpp"
  48 #include "oops/objArrayKlass.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "oops/oop.inline2.hpp"
  51 #include "prims/jvmtiExport.hpp"
  52 #include "runtime/init.hpp"
  53 #include "runtime/reflection.hpp"
  54 #include "runtime/sharedRuntime.hpp"
  55 #include "runtime/thread.inline.hpp"
  56 #include "utilities/dtrace.hpp"
  57 #include "utilities/macros.hpp"


1069         if (TraceNMethodInstalls) {
1070           ResourceMark rm;
1071           char *method_name = method->name_and_sig_as_C_string();
1072           ttyLocker ttyl;
1073           tty->print_cr("Installing osr method (%d) %s @ %d",
1074                         comp_level,
1075                         method_name,
1076                         entry_bci);
1077         }
1078         method->method_holder()->add_osr_nmethod(nm);
1079       }
1080     }
1081   }  // safepoints are allowed again
1082 
1083   if (nm != NULL) {
1084     // JVMTI -- compiled method notification (must be done outside lock)
1085     nm->post_compiled_method_load_event();
1086   } else {
1087     // The CodeCache is full. Print out warning and disable compilation.
1088     record_failure("code cache is full");
1089     CompileBroker::handle_full_code_cache(CodeCache::get_code_blob_type(comp_level));
1090   }
1091 }
1092 
1093 
1094 // ------------------------------------------------------------------
1095 // ciEnv::find_system_klass
1096 ciKlass* ciEnv::find_system_klass(ciSymbol* klass_name) {
1097   VM_ENTRY_MARK;
1098   return get_klass_by_name_impl(NULL, constantPoolHandle(), klass_name, false);
1099 }
1100 
1101 // ------------------------------------------------------------------
1102 // ciEnv::comp_level
1103 int ciEnv::comp_level() {
1104   if (task() == NULL)  return CompLevel_highest_tier;
1105   return task()->comp_level();
1106 }
1107 
1108 // ------------------------------------------------------------------
1109 // ciEnv::compile_id


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