src/share/vm/c1/c1_Compilation.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/c1/c1_Compilation.cpp
src/share/vm/c1/c1_Compilation.cpp
Print this page
rev 5240 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by:
*** 599,608 ****
--- 599,619 ----
if (PrintCompilation || PrintBailouts) tty->print_cr("compilation bailout: %s", msg);
_bailout_msg = msg;
}
}
+ ciKlass* Compilation::cha_exact_type(ciType* type) {
+ if (type != NULL && type->is_loaded() && type->is_instance_klass()) {
+ ciInstanceKlass* ik = type->as_instance_klass();
+ assert(ik->exact_klass() == NULL, "no cha for final klass");
+ if (DeoptC1 && UseCHA && !(ik->has_subklass() || ik->is_interface())) {
+ dependency_recorder()->assert_leaf_type(ik);
+ return ik;
+ }
+ }
+ return NULL;
+ }
void Compilation::print_timers() {
// tty->print_cr(" Native methods : %6.3f s, Average : %2.3f", CompileBroker::_t_native_compilation.seconds(), CompileBroker::_t_native_compilation.seconds() / CompileBroker::_total_native_compile_count);
float total = timers[_t_setup].seconds() + timers[_t_buildIR].seconds() + timers[_t_emit_lir].seconds() + timers[_t_lir_schedule].seconds() + timers[_t_codeemit].seconds() + timers[_t_codeinstall].seconds();
src/share/vm/c1/c1_Compilation.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File