• J
    8009940: G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809 · 72b3f26b
    johnc 提交于
    Summary: Skip reference processing if the global marking stack overflows during remark. Refactor and rename set_phase(); move code that sets the concurrency level into its own routine. Do not call set_phase() from within parallel reference processing; use the concurrency level routine instead. The marking state should only set reset by CMTask[0] during the concurrent phase of the marking cycle; if an overflow occurs at any stage during the remark, the marking state will be reset after reference processing.
    Reviewed-by: brutisso, jmasa
    72b3f26b
concurrentMark.cpp 166.8 KB