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