src/cpu/x86/vm/c1_CodeStubs_x86.cpp

Print this page
rev 2893 : 7121756: Improve C1 inlining policy by using profiling at call sites
Summary: profile based recompilation of methods with C1 with more inlining.
Reviewed-by:

@@ -399,10 +399,21 @@
   __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id)));
   ce->add_call_info_here(_info);
   debug_only(__ should_not_reach_here());
 }
 
+void InvalidateProfileInliningStub::emit_code(LIR_Assembler* ce) {
+  __ bind(_entry);
+
+  ce->store_parameter(_obj->as_register(), 0);
+  assert(_klass->is_loaded(), "class should be loaded");
+  ce->store_parameter(_klass->constant_encoding(), 1);
+
+  __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::invalidate_profile_inlining_id)));
+  ce->add_call_info_here(_info);
+  debug_only(__ should_not_reach_here());
+}
 
 void SimpleExceptionStub::emit_code(LIR_Assembler* ce) {
   assert(__ rsp_offset() == 0, "frame size should be fixed");
 
   __ bind(_entry);