OpenJDK / jdk / jdk
changeset 53084:293cec2f7670
8215500: ICRefillVerifierMark does not set the provided verfier as current
Reviewed-by: pliden, thartmann
author | eosterlund |
---|---|
date | Thu, 20 Dec 2018 10:41:45 +0100 |
parents | 4359668ab678 |
children | 4384060a7ca5 |
files | src/hotspot/share/code/icBuffer.cpp src/hotspot/share/runtime/thread.cpp src/hotspot/share/runtime/thread.hpp |
diffstat | 3 files changed, 14 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/share/code/icBuffer.cpp Thu Dec 20 02:54:16 2018 +0100 +++ b/src/hotspot/share/code/icBuffer.cpp Thu Dec 20 10:41:45 2018 +0100 @@ -53,29 +53,29 @@ _refill_remembered(false) { Thread* thread = Thread::current(); - assert(thread->missed_ic_stub_refill_mark() == NULL, "nesting not supported"); - thread->set_missed_ic_stub_refill_mark(this); + assert(thread->missed_ic_stub_refill_verifier() == NULL, "nesting not supported"); + thread->set_missed_ic_stub_refill_verifier(this); } ICRefillVerifier::~ICRefillVerifier() { assert(!_refill_requested || _refill_remembered, "Forgot to refill IC stubs after failed IC transition"); - Thread::current()->set_missed_ic_stub_refill_mark(NULL); + Thread::current()->set_missed_ic_stub_refill_verifier(NULL); } ICRefillVerifierMark::ICRefillVerifierMark(ICRefillVerifier* verifier) { Thread* thread = Thread::current(); - assert(thread->missed_ic_stub_refill_mark() == NULL, "nesting not supported"); - thread->set_missed_ic_stub_refill_mark(this); + assert(thread->missed_ic_stub_refill_verifier() == NULL, "nesting not supported"); + thread->set_missed_ic_stub_refill_verifier(verifier); } ICRefillVerifierMark::~ICRefillVerifierMark() { - Thread::current()->set_missed_ic_stub_refill_mark(NULL); + Thread::current()->set_missed_ic_stub_refill_verifier(NULL); } static ICRefillVerifier* current_ic_refill_verifier() { Thread* current = Thread::current(); - ICRefillVerifier* verifier = reinterpret_cast<ICRefillVerifier*>(current->missed_ic_stub_refill_mark()); + ICRefillVerifier* verifier = current->missed_ic_stub_refill_verifier(); assert(verifier != NULL, "need a verifier for safety"); return verifier; }
--- a/src/hotspot/share/runtime/thread.cpp Thu Dec 20 02:54:16 2018 +0100 +++ b/src/hotspot/share/runtime/thread.cpp Thu Dec 20 10:41:45 2018 +0100 @@ -231,7 +231,7 @@ set_active_handles(NULL); set_free_handle_block(NULL); set_last_handle_mark(NULL); - DEBUG_ONLY(_missed_ic_stub_refill_mark = NULL); + DEBUG_ONLY(_missed_ic_stub_refill_verifier = NULL); // This initial value ==> never claimed. _oops_do_parity = 0;
--- a/src/hotspot/share/runtime/thread.hpp Thu Dec 20 02:54:16 2018 +0100 +++ b/src/hotspot/share/runtime/thread.hpp Thu Dec 20 10:41:45 2018 +0100 @@ -81,6 +81,7 @@ class GCTaskQueue; class ThreadClosure; +class ICRefillVerifier; class IdealGraphPrinter; class Metadata; @@ -329,15 +330,15 @@ private: #ifdef ASSERT - void* _missed_ic_stub_refill_mark; + ICRefillVerifier* _missed_ic_stub_refill_verifier; public: - void* missed_ic_stub_refill_mark() { - return _missed_ic_stub_refill_mark; + ICRefillVerifier* missed_ic_stub_refill_verifier() { + return _missed_ic_stub_refill_verifier; } - void set_missed_ic_stub_refill_mark(void* mark) { - _missed_ic_stub_refill_mark = mark; + void set_missed_ic_stub_refill_verifier(ICRefillVerifier* verifier) { + _missed_ic_stub_refill_verifier = verifier; } #endif