annotate ASSEMBLY_EXCEPTION @ 1886:72a161e62cc4

6991377: G1: race between concurrent refinement and humongous object allocation Summary: There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT. Reviewed-by: jcoomes, johnc, ysr
author tonyp
date Sat, 16 Oct 2010 17:12:19 -0400
parents c18cbe5936b8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1
a61af66fc99e Initial load
duke
parents:
diff changeset
2 OPENJDK ASSEMBLY EXCEPTION
a61af66fc99e Initial load
duke
parents:
diff changeset
3
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
4 The OpenJDK source code made available by Oracle at openjdk.java.net and
0
a61af66fc99e Initial load
duke
parents:
diff changeset
5 openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
a61af66fc99e Initial load
duke
parents:
diff changeset
6 GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
a61af66fc99e Initial load
duke
parents:
diff changeset
7 only ("GPL2"), with the following clarification and special exception.
a61af66fc99e Initial load
duke
parents:
diff changeset
8
a61af66fc99e Initial load
duke
parents:
diff changeset
9 Linking this OpenJDK Code statically or dynamically with other code
a61af66fc99e Initial load
duke
parents:
diff changeset
10 is making a combined work based on this library. Thus, the terms
a61af66fc99e Initial load
duke
parents:
diff changeset
11 and conditions of GPL2 cover the whole combination.
a61af66fc99e Initial load
duke
parents:
diff changeset
12
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
13 As a special exception, Oracle gives you permission to link this
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
14 OpenJDK Code with certain code licensed by Oracle as indicated at
0
a61af66fc99e Initial load
duke
parents:
diff changeset
15 http://openjdk.java.net/legal/exception-modules-2007-05-08.html
a61af66fc99e Initial load
duke
parents:
diff changeset
16 ("Designated Exception Modules") to produce an executable,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 regardless of the license terms of the Designated Exception Modules,
a61af66fc99e Initial load
duke
parents:
diff changeset
18 and to copy and distribute the resulting executable under GPL2,
a61af66fc99e Initial load
duke
parents:
diff changeset
19 provided that the Designated Exception Modules continue to be
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
20 governed by the licenses under which they were offered by Oracle.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
21
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
22 As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
23 build an executable that includes those portions of necessary code that Oracle
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
24 could not provide under GPL2 (or that Oracle has provided under GPL2 with the
0
a61af66fc99e Initial load
duke
parents:
diff changeset
25 Classpath exception). If you modify or add to the OpenJDK code, that new
a61af66fc99e Initial load
duke
parents:
diff changeset
26 GPL2 code may still be combined with Designated Exception Modules if the
a61af66fc99e Initial load
duke
parents:
diff changeset
27 new code is made subject to this exception by its copyright holder.