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

src/share/vm/ci/ciEnv.cpp

Print this page
rev 5100 : 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn


1133       } else {
1134         log()->elem("method_not_compilable_at_tier level='%d'",
1135                     current()->task()->comp_level());
1136       }
1137     }
1138     _compilable = new_compilable;
1139 
1140     // Reset failure reason; this one is more important.
1141     _failure_reason = NULL;
1142     record_failure(reason);
1143   }
1144 }
1145 
1146 // ------------------------------------------------------------------
1147 // ciEnv::record_out_of_memory_failure()
1148 void ciEnv::record_out_of_memory_failure() {
1149   // If memory is low, we stop compiling methods.
1150   record_method_not_compilable("out of memory");
1151 }
1152 




1153 void ciEnv::dump_replay_data(outputStream* out) {
1154   VM_ENTRY_MARK;
1155   MutexLocker ml(Compile_lock);
1156   ResourceMark rm;
1157 #if INCLUDE_JVMTI
1158   out->print_cr("JvmtiExport can_access_local_variables %d",     _jvmti_can_access_local_variables);
1159   out->print_cr("JvmtiExport can_hotswap_or_post_breakpoint %d", _jvmti_can_hotswap_or_post_breakpoint);
1160   out->print_cr("JvmtiExport can_post_on_exceptions %d",         _jvmti_can_post_on_exceptions);
1161 #endif // INCLUDE_JVMTI
1162 
1163   GrowableArray<ciMetadata*>* objects = _factory->get_ci_metadata();
1164   out->print_cr("# %d ciObject found", objects->length());
1165   for (int i = 0; i < objects->length(); i++) {
1166     objects->at(i)->dump_replay_data(out);
1167   }
1168   CompileTask* task = this->task();
1169   Method* method = task->method();
1170   int entry_bci = task->osr_bci();
1171   int comp_level = task->comp_level();
1172   // Klass holder = method->method_holder();


1133       } else {
1134         log()->elem("method_not_compilable_at_tier level='%d'",
1135                     current()->task()->comp_level());
1136       }
1137     }
1138     _compilable = new_compilable;
1139 
1140     // Reset failure reason; this one is more important.
1141     _failure_reason = NULL;
1142     record_failure(reason);
1143   }
1144 }
1145 
1146 // ------------------------------------------------------------------
1147 // ciEnv::record_out_of_memory_failure()
1148 void ciEnv::record_out_of_memory_failure() {
1149   // If memory is low, we stop compiling methods.
1150   record_method_not_compilable("out of memory");
1151 }
1152 
1153 ciInstance* ciEnv::unloaded_ciinstance() {
1154   GUARDED_VM_ENTRY(return _factory->get_unloaded_object_constant();)
1155 }
1156 
1157 void ciEnv::dump_replay_data(outputStream* out) {
1158   VM_ENTRY_MARK;
1159   MutexLocker ml(Compile_lock);
1160   ResourceMark rm;
1161 #if INCLUDE_JVMTI
1162   out->print_cr("JvmtiExport can_access_local_variables %d",     _jvmti_can_access_local_variables);
1163   out->print_cr("JvmtiExport can_hotswap_or_post_breakpoint %d", _jvmti_can_hotswap_or_post_breakpoint);
1164   out->print_cr("JvmtiExport can_post_on_exceptions %d",         _jvmti_can_post_on_exceptions);
1165 #endif // INCLUDE_JVMTI
1166 
1167   GrowableArray<ciMetadata*>* objects = _factory->get_ci_metadata();
1168   out->print_cr("# %d ciObject found", objects->length());
1169   for (int i = 0; i < objects->length(); i++) {
1170     objects->at(i)->dump_replay_data(out);
1171   }
1172   CompileTask* task = this->task();
1173   Method* method = task->method();
1174   int entry_bci = task->osr_bci();
1175   int comp_level = task->comp_level();
1176   // Klass holder = method->method_holder();
src/share/vm/ci/ciEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File