--- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2013-08-16 10:28:51.000000000 +0200 +++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2013-08-16 10:28:50.000000000 +0200 @@ -6807,10 +6807,14 @@ void G1CollectedHeap::mark_strong_code_roots(uint worker_id) { MarkStrongCodeRootsHRClosure cl(this, worker_id); - heap_region_par_iterate_chunked(&cl, - worker_id, - workers()->active_workers(), - HeapRegion::ParMarkRootClaimValue); + if (G1CollectedHeap::use_parallel_gc_threads()) { + heap_region_par_iterate_chunked(&cl, + worker_id, + workers()->active_workers(), + HeapRegion::ParMarkRootClaimValue); + } else { + heap_region_iterate(&cl); + } } class RebuildStrongCodeRootClosure: public CodeBlobClosure {