equal
deleted
inserted
replaced
272 int count = 0; |
272 int count = 0; |
273 |
273 |
274 RelocIterator iter(this); |
274 RelocIterator iter(this); |
275 while(iter.next()) { |
275 while(iter.next()) { |
276 if (iter.type() == relocInfo::virtual_call_type) { |
276 if (iter.type() == relocInfo::virtual_call_type) { |
277 if (CompiledIC::is_icholder_call_site(iter.virtual_call_reloc())) { |
277 if (CompiledIC::is_icholder_call_site(iter.virtual_call_reloc(), this)) { |
278 CompiledIC *ic = CompiledIC_at(&iter); |
278 CompiledIC *ic = CompiledIC_at(&iter); |
279 if (TraceCompiledIC) { |
279 if (TraceCompiledIC) { |
280 tty->print("noticed icholder " INTPTR_FORMAT " ", p2i(ic->cached_icholder())); |
280 tty->print("noticed icholder " INTPTR_FORMAT " ", p2i(ic->cached_icholder())); |
281 ic->print(); |
281 ic->print(); |
282 } |
282 } |
407 }; |
407 }; |
408 |
408 |
409 // This is called during a safepoint so can use static data |
409 // This is called during a safepoint so can use static data |
410 BoolObjectClosure* CheckClass::_is_alive = NULL; |
410 BoolObjectClosure* CheckClass::_is_alive = NULL; |
411 #endif // ASSERT |
411 #endif // ASSERT |
|
412 |
412 |
413 |
413 void CompiledMethod::clean_ic_if_metadata_is_dead(CompiledIC *ic, BoolObjectClosure *is_alive) { |
414 void CompiledMethod::clean_ic_if_metadata_is_dead(CompiledIC *ic, BoolObjectClosure *is_alive) { |
414 if (ic->is_icholder_call()) { |
415 if (ic->is_icholder_call()) { |
415 // The only exception is compiledICHolder oops which may |
416 // The only exception is compiledICHolder oops which may |
416 // yet be marked below. (We check this further below). |
417 // yet be marked below. (We check this further below). |