Mercurial > hg > graal-jvmci-8
comparison src/share/vm/code/nmethod.cpp @ 23426:682119c4c32e
8058737: CodeCache::find_blob fails with 'unsafe access to zombie method'
Summary: Remove active ICStubs from zombie nmethods
Reviewed-by: kvn, iveresov
author | thartmann |
---|---|
date | Thu, 08 Oct 2015 09:37:23 +0200 |
parents | b12a2a9b05ca |
children | c1950f51ed60 |
comparison
equal
deleted
inserted
replaced
23425:aa97f9321b9c | 23426:682119c4c32e |
---|---|
1143 } | 1143 } |
1144 | 1144 |
1145 RelocIterator iter(this); | 1145 RelocIterator iter(this); |
1146 while (iter.next()) { | 1146 while (iter.next()) { |
1147 iter.reloc()->clear_inline_cache(); | 1147 iter.reloc()->clear_inline_cache(); |
1148 } | |
1149 } | |
1150 | |
1151 // Clear ICStubs of all compiled ICs | |
1152 void nmethod::clear_ic_stubs() { | |
1153 assert_locked_or_safepoint(CompiledIC_lock); | |
1154 RelocIterator iter(this); | |
1155 while(iter.next()) { | |
1156 if (iter.type() == relocInfo::virtual_call_type) { | |
1157 CompiledIC* ic = CompiledIC_at(&iter); | |
1158 ic->clear_ic_stub(); | |
1159 } | |
1148 } | 1160 } |
1149 } | 1161 } |
1150 | 1162 |
1151 | 1163 |
1152 void nmethod::cleanup_inline_caches() { | 1164 void nmethod::cleanup_inline_caches() { |