(#Under Construction)
-> GraphKit::pre_barrier() が生成するコード
-> 使用する GC アルゴリズムが G1GC かどうかに応じて 2通りの処理が存在
* G1GC 以外の場合:
-> 何もしない
* G1GC の場合:
-> GraphKit::g1_write_barrier_pre() が生成するコード
-> SharedRuntime::g1_wb_pre()
-> (同上)
-> GraphKit::post_barrier() が生成するコード
-> 使用する GC アルゴリズムが G1GC かどうかに応じて 2通りの処理が存在
* G1GC 以外の場合:
-> GraphKit::write_barrier_post() が生成するコード
-> 使用する GC アルゴリズムが CMS かどうかに応じて 2通りの処理が存在
* CMS 以外の場合:
-> IdealKit::store() が生成するコード
-> StoreBNode に対応するコード
* CMS の場合:
-> IdealKit::storeCM() が生成するコード
-> StoreCMNode に対応するコード
* G1GC の場合:
-> GraphKit::g1_write_barrier_post() が生成するコード
-> GraphKit::g1_mark_card() が生成するコード
-> IdealKit::storeCM() が生成するコード
-> StoreCMNode に対応するコード
-> SharedRuntime::g1_wb_post() (<= もう空きスペースが無い場合に呼び出す)
-> (同上)
See: here for details
(#Under Construction)
See: here for details
See: here for details
(#Under Construction)
(#Under Construction)
(#Under Construction)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.