ASSEMBLY_EXCEPTION

Thu, 20 Nov 2008 12:27:41 -0800

author
ysr
date
Thu, 20 Nov 2008 12:27:41 -0800
changeset 887
00b023ae2d78
parent 435
a61af66fc99e
child 1907
c18cbe5936b8
permissions
-rw-r--r--

6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
Summary: When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery.
Reviewed-by: apetrusenko, jcoomes

duke@435 1
duke@435 2 OPENJDK ASSEMBLY EXCEPTION
duke@435 3
duke@435 4 The OpenJDK source code made available by Sun at openjdk.java.net and
duke@435 5 openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
duke@435 6 GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
duke@435 7 only ("GPL2"), with the following clarification and special exception.
duke@435 8
duke@435 9 Linking this OpenJDK Code statically or dynamically with other code
duke@435 10 is making a combined work based on this library. Thus, the terms
duke@435 11 and conditions of GPL2 cover the whole combination.
duke@435 12
duke@435 13 As a special exception, Sun gives you permission to link this
duke@435 14 OpenJDK Code with certain code licensed by Sun as indicated at
duke@435 15 http://openjdk.java.net/legal/exception-modules-2007-05-08.html
duke@435 16 ("Designated Exception Modules") to produce an executable,
duke@435 17 regardless of the license terms of the Designated Exception Modules,
duke@435 18 and to copy and distribute the resulting executable under GPL2,
duke@435 19 provided that the Designated Exception Modules continue to be
duke@435 20 governed by the licenses under which they were offered by Sun.
duke@435 21
duke@435 22 As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
duke@435 23 build an executable that includes those portions of necessary code that Sun
duke@435 24 could not provide under GPL2 (or that Sun has provided under GPL2 with the
duke@435 25 Classpath exception). If you modify or add to the OpenJDK code, that new
duke@435 26 GPL2 code may still be combined with Designated Exception Modules if the
duke@435 27 new code is made subject to this exception by its copyright holder.

mercurial