diff -r 2667e5c45e24 -r f8a45a60bc6b src/share/vm/code/nmethod.cpp --- a/src/share/vm/code/nmethod.cpp Tue Aug 08 12:02:01 2017 +0100 +++ b/src/share/vm/code/nmethod.cpp Fri Sep 29 14:30:05 2017 -0400 @@ -1748,12 +1748,11 @@ CompiledICHolder* cichk_oop = ic->cached_icholder(); if (mark_on_stack) { - Metadata::mark_on_stack(cichk_oop->holder_method()); + Metadata::mark_on_stack(cichk_oop->holder_metadata()); Metadata::mark_on_stack(cichk_oop->holder_klass()); } - if (cichk_oop->holder_method()->method_holder()->is_loader_alive(is_alive) && - cichk_oop->holder_klass()->is_loader_alive(is_alive)) { + if (cichk_oop->is_loader_alive(is_alive)) { return; } } else { @@ -2180,7 +2179,7 @@ CompiledIC *ic = CompiledIC_at(&iter); if (ic->is_icholder_call()) { CompiledICHolder* cichk = ic->cached_icholder(); - f(cichk->holder_method()); + f(cichk->holder_metadata()); f(cichk->holder_klass()); } else { Metadata* ic_oop = ic->cached_metadata();