equal
deleted
inserted
replaced
35 #include "jvmci/jvmciCompilerToVM.hpp" |
35 #include "jvmci/jvmciCompilerToVM.hpp" |
36 #include "jvmci/jvmciRuntime.hpp" |
36 #include "jvmci/jvmciRuntime.hpp" |
37 #include "oops/oop.inline.hpp" |
37 #include "oops/oop.inline.hpp" |
38 #include "oops/objArrayOop.inline.hpp" |
38 #include "oops/objArrayOop.inline.hpp" |
39 #include "runtime/javaCalls.hpp" |
39 #include "runtime/javaCalls.hpp" |
|
40 #include "runtime/safepointMechanism.inline.hpp" |
40 #include "utilities/align.hpp" |
41 #include "utilities/align.hpp" |
41 |
42 |
42 // frequently used constants |
43 // frequently used constants |
43 // Allocate them with new so they are never destroyed (otherwise, a |
44 // Allocate them with new so they are never destroyed (otherwise, a |
44 // forced exit could destroy these objects while they are still in |
45 // forced exit could destroy these objects while they are still in |
852 } else { |
853 } else { |
853 JVMCI_ERROR_OK("unexpected site subclass: %s", site->klass()->signature_name()); |
854 JVMCI_ERROR_OK("unexpected site subclass: %s", site->klass()->signature_name()); |
854 } |
855 } |
855 last_pc_offset = pc_offset; |
856 last_pc_offset = pc_offset; |
856 |
857 |
857 if (SafepointSynchronize::do_call_back()) { |
858 JavaThread* thread = JavaThread::current(); |
|
859 if (SafepointMechanism::poll(thread)) { |
858 // this is a hacky way to force a safepoint check but nothing else was jumping out at me. |
860 // this is a hacky way to force a safepoint check but nothing else was jumping out at me. |
859 ThreadToNativeFromVM ttnfv(JavaThread::current()); |
861 ThreadToNativeFromVM ttnfv(thread); |
860 } |
862 } |
861 } |
863 } |
862 |
864 |
863 #ifndef PRODUCT |
865 #ifndef PRODUCT |
864 if (comments() != NULL) { |
866 if (comments() != NULL) { |