8213486: SIGSEGV in CompiledMethod::cleanup_inline_caches_impl with AOT

Reviewed-by: kvn, dlong
This commit is contained in:
Erik Österlund 2018-11-22 09:46:24 +01:00
parent 62b2f0f5c9
commit 44b1ed07f5
5 changed files with 79 additions and 76 deletions

View file

@ -158,6 +158,9 @@ class nmethod : public CompiledMethod {
// counter is decreased (by 1) while sweeping.
int _hotness_counter;
// Local state used to keep track of whether unloading is happening or not
volatile uint8_t _is_unloading_state;
// These are used for compiled synchronized native methods to
// locate the owner and stack slot for the BasicLock so that we can
// properly revoke the bias of the owner if necessary. They are
@ -323,6 +326,8 @@ class nmethod : public CompiledMethod {
bool is_zombie() const { return _state == zombie; }
bool is_unloaded() const { return _state == unloaded; }
void clear_unloading_state();
virtual bool is_unloading();
virtual void do_unloading(bool unloading_occurred);
#if INCLUDE_RTM_OPT