17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 #include "precompiled.hpp"
25 #include "classfile/symbolTable.hpp"
26 #include "compiler/compileBroker.hpp"
27 #include "jvmci/jniAccessMark.inline.hpp"
28 #include "jvmci/jvmciCompilerToVM.hpp"
29 #include "jvmci/jvmciRuntime.hpp"
30 #include "logging/log.hpp"
31 #include "memory/oopFactory.hpp"
32 #include "memory/universe.hpp"
33 #include "oops/constantPool.inline.hpp"
34 #include "oops/method.inline.hpp"
35 #include "oops/objArrayKlass.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "runtime/biasedLocking.hpp"
38 #include "runtime/deoptimization.hpp"
39 #include "runtime/fieldDescriptor.inline.hpp"
40 #include "runtime/frame.inline.hpp"
41 #include "runtime/sharedRuntime.hpp"
42 #if INCLUDE_G1GC
43 #include "gc/g1/g1ThreadLocalData.hpp"
44 #endif // INCLUDE_G1GC
45
46 // Simple helper to see if the caller of a runtime stub which
47 // entered the VM has been deoptimized
48
49 static bool caller_is_deopted() {
50 JavaThread* thread = JavaThread::current();
51 RegisterMap reg_map(thread, false);
52 frame runtime_frame = thread->last_frame();
53 frame caller_frame = runtime_frame.sender(®_map);
54 assert(caller_frame.is_compiled_frame(), "must be compiled");
55 return caller_frame.is_deoptimized_frame();
56 }
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 #include "precompiled.hpp"
25 #include "classfile/symbolTable.hpp"
26 #include "compiler/compileBroker.hpp"
27 #include "jvmci/jniAccessMark.inline.hpp"
28 #include "jvmci/jvmciCompilerToVM.hpp"
29 #include "jvmci/jvmciRuntime.hpp"
30 #include "logging/log.hpp"
31 #include "memory/oopFactory.hpp"
32 #include "memory/universe.hpp"
33 #include "oops/constantPool.inline.hpp"
34 #include "oops/method.inline.hpp"
35 #include "oops/objArrayKlass.hpp"
36 #include "oops/oop.inline.hpp"
37 #include "runtime/atomic.hpp"
38 #include "runtime/biasedLocking.hpp"
39 #include "runtime/deoptimization.hpp"
40 #include "runtime/fieldDescriptor.inline.hpp"
41 #include "runtime/frame.inline.hpp"
42 #include "runtime/sharedRuntime.hpp"
43 #if INCLUDE_G1GC
44 #include "gc/g1/g1ThreadLocalData.hpp"
45 #endif // INCLUDE_G1GC
46
47 // Simple helper to see if the caller of a runtime stub which
48 // entered the VM has been deoptimized
49
50 static bool caller_is_deopted() {
51 JavaThread* thread = JavaThread::current();
52 RegisterMap reg_map(thread, false);
53 frame runtime_frame = thread->last_frame();
54 frame caller_frame = runtime_frame.sender(®_map);
55 assert(caller_frame.is_compiled_frame(), "must be compiled");
56 return caller_frame.is_deoptimized_frame();
57 }
|