< prev index next >

src/hotspot/share/code/relocInfo.cpp

   assert(m != NULL || _method_index == 0, "should be non-null for non-zero index");
   assert(m == NULL || m->is_method(), "not a method");
   return (Method*)m;
 }
 
-void virtual_call_Relocation::clear_inline_cache() {
+bool virtual_call_Relocation::clear_inline_cache() {
   // No stubs for ICs
   // Clean IC
   ResourceMark rm;
   CompiledIC* icache = CompiledIC_at(this);
-  icache->set_to_clean();
+  return icache->set_to_clean();
 }
 
 
 void opt_virtual_call_Relocation::pack_data_to(CodeSection* dest) {
   short* p = (short*) dest->locs_end();

@@ -670,16 +670,18 assert(m != NULL || _method_index == 0, "should be non-null for non-zero index"); assert(m == NULL || m->is_method(), "not a method"); return (Method*)m; } -void opt_virtual_call_Relocation::clear_inline_cache() { +bool opt_virtual_call_Relocation::clear_inline_cache() { // No stubs for ICs // Clean IC ResourceMark rm; CompiledIC* icache = CompiledIC_at(this); - icache->set_to_clean(); + guarantee(icache->set_to_clean(), + "Should not need transition stubs"); + return true; } address opt_virtual_call_Relocation::static_stub(bool is_aot) { // search for the static stub who points back to this static call
@@ -713,14 +715,16 void static_call_Relocation::unpack_data() { _method_index = unpack_1_int(); } -void static_call_Relocation::clear_inline_cache() { +bool static_call_Relocation::clear_inline_cache() { // Safe call site info CompiledStaticCall* handler = this->code()->compiledStaticCall_at(this); - handler->set_to_clean(); + guarantee(handler->set_to_clean(), + "Should not need transition stubs"); + return true; } address static_call_Relocation::static_stub(bool is_aot) { // search for the static stub who points back to this static call
@@ -755,14 +759,15 } return NULL; } -void static_stub_Relocation::clear_inline_cache() { +bool static_stub_Relocation::clear_inline_cache() { // Call stub is only used when calling the interpreted code. // It does not really need to be cleared, except that we want to clean out the methodoop. CompiledDirectStaticCall::set_stub_to_clean(this); + return true; } void external_word_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { address target = _target;
< prev index next >