ConcurrentMark.?pp contain lots of dead code, like CMBitmapR0::getNextUnmarkedWordAddress(), heapWordDiffToOffsetDiff(), covers(), markRange(), CMBitmap::getAndClearMarkedRegion(), clearRangeNextBitmap() (or ...PrevBitmap()), the whole code related to ForceOverflowSettings seems to be debug code, ConcurrentMark::print_reachable(), print_finger(), cleanup_sleep_*(), cleanup_task_*() and most likely lots of others. Remove the "#if 0" code and stuff used only there.