< prev index next >

src/hotspot/share/jvmci/jvmciCodeInstaller.cpp

Print this page
rev 47413 : Introduce SafepointMechanism
rev 47415 : Add Thread Local handshakes and thread local polling

*** 35,44 **** --- 35,45 ---- #include "jvmci/jvmciCompilerToVM.hpp" #include "jvmci/jvmciRuntime.hpp" #include "oops/oop.inline.hpp" #include "oops/objArrayOop.inline.hpp" #include "runtime/javaCalls.hpp" + #include "runtime/safepointMechanism.inline.hpp" #include "utilities/align.hpp" // frequently used constants // Allocate them with new so they are never destroyed (otherwise, a // forced exit could destroy these objects while they are still in
*** 857,869 **** } else { JVMCI_ERROR_OK("unexpected site subclass: %s", site->klass()->signature_name()); } last_pc_offset = pc_offset; ! if (SafepointSynchronize::do_call_back()) { // this is a hacky way to force a safepoint check but nothing else was jumping out at me. ! ThreadToNativeFromVM ttnfv(JavaThread::current()); } } #ifndef PRODUCT if (comments() != NULL) { --- 858,871 ---- } else { JVMCI_ERROR_OK("unexpected site subclass: %s", site->klass()->signature_name()); } last_pc_offset = pc_offset; ! JavaThread* thread = JavaThread::current(); ! if (SafepointMechanism::poll(thread)) { // this is a hacky way to force a safepoint check but nothing else was jumping out at me. ! ThreadToNativeFromVM ttnfv(thread); } } #ifndef PRODUCT if (comments() != NULL) {
< prev index next >