make/pic.make

Tue, 25 Jan 2011 17:58:19 -0500

author
tonyp
date
Tue, 25 Jan 2011 17:58:19 -0500
changeset 2493
97ba643ea3ed
parent 1907
c18cbe5936b8
child 3880
06320b1578cb
permissions
-rw-r--r--

7014261: G1: RSet-related failures
Summary: A race between the concurrent cleanup thread and the VM thread while it is processing the "expanded sparse table list" causes both threads to try to free the same sparse table entry and either causes one of the threads to fail or leaves the entry in an inconsistent state. The solution is purge all entries on the expanded list that correspond go regions that are being cleaned up.
Reviewed-by: brutisso, johnc

     1 #
     2 # Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.
     8 #
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 # version 2 for more details (a copy is included in the LICENSE file that
    13 # accompanied this code).
    14 #
    15 # You should have received a copy of the GNU General Public License version
    16 # 2 along with this work; if not, write to the Free Software Foundation,
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    22 #  
    23 #
    25 # A list of object files built without the platform specific PIC flags, e.g.
    26 # -fPIC on linux. Performance measurements show that by compiling GC related 
    27 # code, we could significantly reduce the GC pause time on 32 bit Linux/Unix
    28 # platforms. See 6454213 for more details.
    29 include $(GAMMADIR)/make/scm.make
    31 ifneq ($(OSNAME), windows)
    32   ifndef LP64
    33     NONPIC_DIRS  = memory oops gc_implementation gc_interface 
    34     NONPIC_DIRS  := $(foreach dir,$(NONPIC_DIRS), $(GAMMADIR)/src/share/vm/$(dir))
    35     # Look for source files under NONPIC_DIRS
    36     NONPIC_FILES := $(foreach dir,$(NONPIC_DIRS),\
    37                       $(shell find $(dir) \( $(SCM_DIRS) \) -prune -o \
    38 		      -name '*.cpp' -print))
    39     NONPIC_OBJ_FILES := $(notdir $(subst .cpp,.o,$(NONPIC_FILES)))
    40   endif
    41 endif

mercurial