# HG changeset patch # User eosterlund # Date 1475009039 14400 # Node ID ba006b931e272954c2876f66daf67d0b7b15d09c # Parent 216f4f645fd85b18349ca7da39b538be670e06a5 8165857: CMS _overflow_list is missing volatile specifiers. Summary: Change _overflow_list from "oop" to "oopDesc* volatile", both CMS and ParNew. Reviewed-by: kbarrett, tschatzl diff -r 216f4f645fd8 -r ba006b931e27 hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp --- a/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp Mon Sep 26 17:49:01 2016 +0300 +++ b/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp Tue Sep 27 16:43:59 2016 -0400 @@ -540,7 +540,7 @@ // Overflow list of grey objects, threaded through mark-word // Manipulated with CAS in the parallel/multi-threaded case. - oop _overflow_list; + oopDesc* volatile _overflow_list; // The following array-pair keeps track of mark words // displaced for accommodating overflow list above. // This code will likely be revisited under RFE#4922830. diff -r 216f4f645fd8 -r ba006b931e27 hotspot/src/share/vm/gc/cms/parNewGeneration.hpp --- a/hotspot/src/share/vm/gc/cms/parNewGeneration.hpp Mon Sep 26 17:49:01 2016 +0300 +++ b/hotspot/src/share/vm/gc/cms/parNewGeneration.hpp Tue Sep 27 16:43:59 2016 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -323,7 +323,7 @@ // A list of from-space images of to-be-scanned objects, threaded through // klass-pointers (klass information already copied to the forwarded // image.) Manipulated with CAS. - oop _overflow_list; + oopDesc* volatile _overflow_list; NOT_PRODUCT(ssize_t _num_par_pushes;) // This closure is used by the reference processor to filter out