jaxp/ASSEMBLY_EXCEPTION
author ysr
Mon, 16 Aug 2010 15:58:42 -0700
changeset 6258 68f252c6e825
parent 6 7f561c08de6b
child 41431 62f1dfefd681
permissions -rw-r--r--
6948538: CMS: BOT walkers can fall into object allocation and initialization cracks Summary: GC workers now recognize an intermediate transient state of blocks which are allocated but have not yet completed initialization. blk_start() calls do not attempt to determine the size of a block in the transient state, rather waiting for the block to become initialized so that it is safe to query its size. Audited and ensured the order of initialization of object fields (klass, free bit and size) to respect block state transition protocol. Also included some new assertion checking code enabled in debug mode. Reviewed-by: chrisphi, johnc, poonam
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
7f561c08de6b Initial load
duke
parents:
diff changeset
     1
7f561c08de6b Initial load
duke
parents:
diff changeset
     2
OPENJDK ASSEMBLY EXCEPTION
7f561c08de6b Initial load
duke
parents:
diff changeset
     3
7f561c08de6b Initial load
duke
parents:
diff changeset
     4
The OpenJDK source code made available by Sun at openjdk.java.net and
7f561c08de6b Initial load
duke
parents:
diff changeset
     5
openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
7f561c08de6b Initial load
duke
parents:
diff changeset
     6
GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
7f561c08de6b Initial load
duke
parents:
diff changeset
     7
only ("GPL2"), with the following clarification and special exception.
7f561c08de6b Initial load
duke
parents:
diff changeset
     8
7f561c08de6b Initial load
duke
parents:
diff changeset
     9
    Linking this OpenJDK Code statically or dynamically with other code
7f561c08de6b Initial load
duke
parents:
diff changeset
    10
    is making a combined work based on this library.  Thus, the terms
7f561c08de6b Initial load
duke
parents:
diff changeset
    11
    and conditions of GPL2 cover the whole combination.
7f561c08de6b Initial load
duke
parents:
diff changeset
    12
7f561c08de6b Initial load
duke
parents:
diff changeset
    13
    As a special exception, Sun gives you permission to link this
7f561c08de6b Initial load
duke
parents:
diff changeset
    14
    OpenJDK Code with certain code licensed by Sun as indicated at
7f561c08de6b Initial load
duke
parents:
diff changeset
    15
    http://openjdk.java.net/legal/exception-modules-2007-05-08.html
7f561c08de6b Initial load
duke
parents:
diff changeset
    16
    ("Designated Exception Modules") to produce an executable,
7f561c08de6b Initial load
duke
parents:
diff changeset
    17
    regardless of the license terms of the Designated Exception Modules,
7f561c08de6b Initial load
duke
parents:
diff changeset
    18
    and to copy and distribute the resulting executable under GPL2,
7f561c08de6b Initial load
duke
parents:
diff changeset
    19
    provided that the Designated Exception Modules continue to be
7f561c08de6b Initial load
duke
parents:
diff changeset
    20
    governed by the licenses under which they were offered by Sun.
7f561c08de6b Initial load
duke
parents:
diff changeset
    21
7f561c08de6b Initial load
duke
parents:
diff changeset
    22
As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
7f561c08de6b Initial load
duke
parents:
diff changeset
    23
build an executable that includes those portions of necessary code that Sun
7f561c08de6b Initial load
duke
parents:
diff changeset
    24
could not provide under GPL2 (or that Sun has provided under GPL2 with the
7f561c08de6b Initial load
duke
parents:
diff changeset
    25
Classpath exception).  If you modify or add to the OpenJDK code, that new
7f561c08de6b Initial load
duke
parents:
diff changeset
    26
GPL2 code may still be combined with Designated Exception Modules if the
7f561c08de6b Initial load
duke
parents:
diff changeset
    27
new code is made subject to this exception by its copyright holder.