Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/thread.cpp @ 22460:f27c163d7dc2
moved JVMCI fields from ThreadShadow to Thread
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 24 Aug 2015 22:35:47 +0200 |
parents | a1b0a76567c7 |
children | b14500c9da22 |
comparison
equal
deleted
inserted
replaced
22459:0dd2b79625b3 | 22460:f27c163d7dc2 |
---|---|
841 | 841 |
842 void Thread::oops_do(OopClosure* f, CLDClosure* cld_f, CodeBlobClosure* cf) { | 842 void Thread::oops_do(OopClosure* f, CLDClosure* cld_f, CodeBlobClosure* cf) { |
843 active_handles()->oops_do(f); | 843 active_handles()->oops_do(f); |
844 // Do oop for ThreadShadow | 844 // Do oop for ThreadShadow |
845 f->do_oop((oop*)&_pending_exception); | 845 f->do_oop((oop*)&_pending_exception); |
846 #if INCLUDE_JVMCI | |
847 f->do_oop((oop*)&_pending_failed_speculation); | |
848 #endif | |
849 handle_area()->oops_do(f); | 846 handle_area()->oops_do(f); |
850 } | 847 } |
851 | 848 |
852 void Thread::nmethods_do(CodeBlobClosure* cf) { | 849 void Thread::nmethods_do(CodeBlobClosure* cf) { |
853 // no nmethods in a generic thread... | 850 // no nmethods in a generic thread... |
1485 _suspend_equivalent = false; | 1482 _suspend_equivalent = false; |
1486 _in_deopt_handler = 0; | 1483 _in_deopt_handler = 0; |
1487 _doing_unsafe_access = false; | 1484 _doing_unsafe_access = false; |
1488 _stack_guard_state = stack_guard_unused; | 1485 _stack_guard_state = stack_guard_unused; |
1489 #if INCLUDE_JVMCI | 1486 #if INCLUDE_JVMCI |
1487 _pending_monitorenter = false; | |
1488 _pending_deoptimization = -1; | |
1489 _pending_failed_speculation = NULL; | |
1490 _pending_transfer_to_interpreter = false; | |
1490 _jvmci_alternate_call_target = NULL; | 1491 _jvmci_alternate_call_target = NULL; |
1491 _jvmci_implicit_exception_pc = NULL; | 1492 _jvmci_implicit_exception_pc = NULL; |
1492 if (JVMCICounterSize > 0) { | 1493 if (JVMCICounterSize > 0) { |
1493 _jvmci_counters = NEW_C_HEAP_ARRAY(jlong, JVMCICounterSize, mtInternal); | 1494 _jvmci_counters = NEW_C_HEAP_ARRAY(jlong, JVMCICounterSize, mtInternal); |
1494 memset(_jvmci_counters, 0, sizeof(jlong) * JVMCICounterSize); | 1495 memset(_jvmci_counters, 0, sizeof(jlong) * JVMCICounterSize); |
2780 // since there may be more than one thread using each ThreadProfiler. | 2781 // since there may be more than one thread using each ThreadProfiler. |
2781 | 2782 |
2782 // Traverse the GCHandles | 2783 // Traverse the GCHandles |
2783 Thread::oops_do(f, cld_f, cf); | 2784 Thread::oops_do(f, cld_f, cf); |
2784 | 2785 |
2786 JVMCI_ONLY(f->do_oop((oop*)&_pending_failed_speculation);) | |
2787 | |
2785 assert( (!has_last_Java_frame() && java_call_counter() == 0) || | 2788 assert( (!has_last_Java_frame() && java_call_counter() == 0) || |
2786 (has_last_Java_frame() && java_call_counter() > 0), "wrong java_sp info!"); | 2789 (has_last_Java_frame() && java_call_counter() > 0), "wrong java_sp info!"); |
2787 | 2790 |
2788 if (has_last_Java_frame()) { | 2791 if (has_last_Java_frame()) { |
2789 // Record JavaThread to GC thread | 2792 // Record JavaThread to GC thread |