Mercurial > hg > graal-compiler
diff src/share/vm/utilities/yieldingWorkgroup.hpp @ 1837:c99c53f07c14
6692906: CMS: parallel concurrent marking may be prone to hanging or stalling mutators for periods of time
Summary: Inserted missing yield(check)s in closures used during the work-stealing phase of parallel concurrent marking, a missing synchronous yield-request in the cms perm gen allocation path, and a terminator-terminator for the offer_termination invocation that monitors the yield status of the concurrent marking task. Elaborated some documentation comments and made some task queue termination loop flags configurable at start-up to aid debugging in the field.
Reviewed-by: jmasa, johnc, poonam
author | ysr |
---|---|
date | Wed, 29 Sep 2010 16:17:02 -0700 |
parents | 8b10f48633dc |
children | f95d63e2154a |
line wrap: on
line diff
--- a/src/share/vm/utilities/yieldingWorkgroup.hpp Tue Sep 28 15:56:15 2010 -0700 +++ b/src/share/vm/utilities/yieldingWorkgroup.hpp Wed Sep 29 16:17:02 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -137,6 +137,7 @@ virtual void abort(); Status status() const { return _status; } + bool yielding() const { return _status == YIELDING; } bool yielded() const { return _status == YIELDED; } bool completed() const { return _status == COMPLETED; } bool aborted() const { return _status == ABORTED; }