annotate ASSEMBLY_EXCEPTION @ 441:da9cb4e97a5f

6770608: G1: Mutator thread can flush barrier and satb queues during safepoint 6660573: G1: BigApps Failure : guarantee(satb_mq_set.completed_buffers_num() == 0,"invariant") Summary: When exiting a mutator thread is removed from the thread list before it has a chance to flush its SATB and barrier queues. If GC happens at this moment the objects that are refererred from these queues can be moved, which will case a crash. The fix is simply to flush the buffers before removing a thread from the list. Reviewed-by: jcoomes, tonyp
author iveresov
date Fri, 14 Nov 2008 14:23:05 -0800
parents a61af66fc99e
children c18cbe5936b8
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
a61af66fc99e Initial load
duke
parents:
diff changeset
4 The OpenJDK source code made available by Sun at openjdk.java.net and
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
a61af66fc99e Initial load
duke
parents:
diff changeset
13 As a special exception, Sun gives you permission to link this
a61af66fc99e Initial load
duke
parents:
diff changeset
14 OpenJDK Code with certain code licensed by Sun as indicated at
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
a61af66fc99e Initial load
duke
parents:
diff changeset
20 governed by the licenses under which they were offered by Sun.
a61af66fc99e Initial load
duke
parents:
diff changeset
21
a61af66fc99e Initial load
duke
parents:
diff changeset
22 As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
a61af66fc99e Initial load
duke
parents:
diff changeset
23 build an executable that includes those portions of necessary code that Sun
a61af66fc99e Initial load
duke
parents:
diff changeset
24 could not provide under GPL2 (or that Sun has provided under GPL2 with the
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.