src/hotspot/share/opto/graphKit.cpp
changeset 49752 93d84f667d12
parent 49480 d7df2dd501ce
child 49754 ee93c1087584
equal deleted inserted replaced
49751:c3a10df652c0 49752:93d84f667d12
    46 #include "opto/parse.hpp"
    46 #include "opto/parse.hpp"
    47 #include "opto/rootnode.hpp"
    47 #include "opto/rootnode.hpp"
    48 #include "opto/runtime.hpp"
    48 #include "opto/runtime.hpp"
    49 #include "runtime/deoptimization.hpp"
    49 #include "runtime/deoptimization.hpp"
    50 #include "runtime/sharedRuntime.hpp"
    50 #include "runtime/sharedRuntime.hpp"
       
    51 #if INCLUDE_ALL_GCS
       
    52 #include "gc/g1/g1ThreadLocalData.hpp"
       
    53 #endif // INCLUDE_ALL_GCS
    51 
    54 
    52 //----------------------------GraphKit-----------------------------------------
    55 //----------------------------GraphKit-----------------------------------------
    53 // Main utility constructor.
    56 // Main utility constructor.
    54 GraphKit::GraphKit(JVMState* jvms)
    57 GraphKit::GraphKit(JVMState* jvms)
    55   : Phase(Phase::Parser),
    58   : Phase(Phase::Parser),
  4079 
  4082 
  4080   BasicType active_type = in_bytes(SATBMarkQueue::byte_width_of_active()) == 4 ? T_INT : T_BYTE;
  4083   BasicType active_type = in_bytes(SATBMarkQueue::byte_width_of_active()) == 4 ? T_INT : T_BYTE;
  4081   assert(in_bytes(SATBMarkQueue::byte_width_of_active()) == 4 || in_bytes(SATBMarkQueue::byte_width_of_active()) == 1, "flag width");
  4084   assert(in_bytes(SATBMarkQueue::byte_width_of_active()) == 4 || in_bytes(SATBMarkQueue::byte_width_of_active()) == 1, "flag width");
  4082 
  4085 
  4083   // Offsets into the thread
  4086   // Offsets into the thread
  4084   const int marking_offset = in_bytes(JavaThread::satb_mark_queue_offset() +  // 648
  4087   const int marking_offset = in_bytes(G1ThreadLocalData::satb_mark_queue_active_offset());
  4085                                           SATBMarkQueue::byte_offset_of_active());
  4088   const int index_offset   = in_bytes(G1ThreadLocalData::satb_mark_queue_index_offset());
  4086   const int index_offset   = in_bytes(JavaThread::satb_mark_queue_offset() +  // 656
  4089   const int buffer_offset  = in_bytes(G1ThreadLocalData::satb_mark_queue_buffer_offset());
  4087                                           SATBMarkQueue::byte_offset_of_index());
       
  4088   const int buffer_offset  = in_bytes(JavaThread::satb_mark_queue_offset() +  // 652
       
  4089                                           SATBMarkQueue::byte_offset_of_buf());
       
  4090 
  4090 
  4091   // Now the actual pointers into the thread
  4091   // Now the actual pointers into the thread
  4092   Node* marking_adr = __ AddP(no_base, tls, __ ConX(marking_offset));
  4092   Node* marking_adr = __ AddP(no_base, tls, __ ConX(marking_offset));
  4093   Node* buffer_adr  = __ AddP(no_base, tls, __ ConX(buffer_offset));
  4093   Node* buffer_adr  = __ AddP(no_base, tls, __ ConX(buffer_offset));
  4094   Node* index_adr   = __ AddP(no_base, tls, __ ConX(index_offset));
  4094   Node* index_adr   = __ AddP(no_base, tls, __ ConX(index_offset));
  4284   const TypePtr* card_type = TypeRawPtr::BOTTOM;
  4284   const TypePtr* card_type = TypeRawPtr::BOTTOM;
  4285 
  4285 
  4286   const TypeFunc *tf = OptoRuntime::g1_wb_post_Type();
  4286   const TypeFunc *tf = OptoRuntime::g1_wb_post_Type();
  4287 
  4287 
  4288   // Offsets into the thread
  4288   // Offsets into the thread
  4289   const int index_offset  = in_bytes(JavaThread::dirty_card_queue_offset() +
  4289   const int index_offset  = in_bytes(G1ThreadLocalData::dirty_card_queue_index_offset());
  4290                                      DirtyCardQueue::byte_offset_of_index());
  4290   const int buffer_offset = in_bytes(G1ThreadLocalData::dirty_card_queue_buffer_offset());
  4291   const int buffer_offset = in_bytes(JavaThread::dirty_card_queue_offset() +
       
  4292                                      DirtyCardQueue::byte_offset_of_buf());
       
  4293 
  4291 
  4294   // Pointers into the thread
  4292   // Pointers into the thread
  4295 
  4293 
  4296   Node* buffer_adr = __ AddP(no_base, tls, __ ConX(buffer_offset));
  4294   Node* buffer_adr = __ AddP(no_base, tls, __ ConX(buffer_offset));
  4297   Node* index_adr =  __ AddP(no_base, tls, __ ConX(index_offset));
  4295   Node* index_adr =  __ AddP(no_base, tls, __ ConX(index_offset));