--- old/src/share/vm/gc/g1/concurrentMark.cpp 2015-06-23 11:13:44.011875989 +0200 +++ new/src/share/vm/gc/g1/concurrentMark.cpp 2015-06-23 11:13:43.891875993 +0200 @@ -2993,8 +2993,8 @@ // abandon current marking iteration due to a Full GC void ConcurrentMark::abort() { - if (_has_aborted || !cmThread()->during_cycle()) { - // We have already aborted or we never started a concurrent cycle. No need to do anything. + if (!cmThread()->during_cycle() || _has_aborted) { + // We haven't started a concurrent cycle or we have already aborted it. No need to do anything. return; }