(#Under Construction)
-> G1PreBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_pre_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_pre_barrier_slow_id の場合) -> SATBMarkQueueSet::handle_zero_index_for_thread() (← もうバッファに空きがない場合には呼び出す) -> (同上) -> G1UnsafeGetObjSATBBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_pre_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_pre_barrier_slow_id の場合) -> SATBMarkQueueSet::handle_zero_index_for_thread() (← もうバッファに空きがない場合には呼び出す) -> (同上) -> G1PostBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_post_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_post_barrier_slow_id の場合) -> DirtyCardQueueSet::handle_zero_index_for_thread() (← もうバッファに空きがない場合には呼び出す) -> (同上)
-> G1PreBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_pre_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_pre_barrier_slow_id の場合) -> SharedRuntime::g1_wb_pre() (← もうバッファに空きがない場合には呼び出す) -> (同上) -> G1UnsafeGetObjSATBBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_pre_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_pre_barrier_slow_id の場合) -> SharedRuntime::g1_wb_pre() (← もうバッファに空きがない場合には呼び出す) -> (同上) -> G1PostBarrierStub::emit_code() が生成するコード -> Runtime1::generate_blob_for() が生成するコード (← id 引数として g1_post_barrier_slow_id を指定) -> Runtime1::generate_code_for() が生成するコード (← ただし id 引数が g1_post_barrier_slow_id の場合) -> SharedRuntime::g1_wb_post() (← もうバッファに空きがない場合には呼び出す) -> (同上)
(#Under Construction)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.