(#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.