make/jdk-rules.gmk
author ysr
Mon, 16 Aug 2010 15:58:42 -0700
changeset 6258 68f252c6e825
parent 5499 eb0b3e373167
child 8441 30f5ad688d4a
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:
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
     1
#
5499
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
     2
# Copyright (c) 2001, 2009, Oracle and/or its affiliates. All rights reserved.
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
fd16c54261b3 Initial load
duke
parents:
diff changeset
     4
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
fd16c54261b3 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
5499
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
5499
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    10
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
fd16c54261b3 Initial load
duke
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
fd16c54261b3 Initial load
duke
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
fd16c54261b3 Initial load
duke
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
fd16c54261b3 Initial load
duke
parents:
diff changeset
    15
# accompanied this code).
fd16c54261b3 Initial load
duke
parents:
diff changeset
    16
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
fd16c54261b3 Initial load
duke
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
fd16c54261b3 Initial load
duke
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    20
#
5499
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4309
diff changeset
    23
# questions.
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    24
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    25
fd16c54261b3 Initial load
duke
parents:
diff changeset
    26
################################################################
fd16c54261b3 Initial load
duke
parents:
diff changeset
    27
# JDK TARGETS
fd16c54261b3 Initial load
duke
parents:
diff changeset
    28
################################################################
fd16c54261b3 Initial load
duke
parents:
diff changeset
    29
fd16c54261b3 Initial load
duke
parents:
diff changeset
    30
JDK_JAVA_EXE = $(OUTPUTDIR)/bin/java$(EXE_SUFFIX)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    31
fd16c54261b3 Initial load
duke
parents:
diff changeset
    32
# NO_IMAGES may be set in conjunction with DEV_ONLY
4309
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    33
IMAGES_TARGET = images
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    34
ifdef DEV_ONLY
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    35
  ifdef NO_IMAGES
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    36
    IMAGES_TARGET =
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    37
  endif
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    38
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    39
4309
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    40
# GENERATE_DOCS determines if we ask for the docs target
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    41
DOCS_TARGET = docs
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    42
ifeq ($(GENERATE_DOCS),false)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    43
  DOCS_TARGET =
fd16c54261b3 Initial load
duke
parents:
diff changeset
    44
endif
4309
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    45
  
39ca605f0647 6727046: Add message when docs are skipped in control build
ohair
parents: 3789
diff changeset
    46
JDK_BUILD_TARGETS = sanity all $(DOCS_TARGET) $(IMAGES_TARGET)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    47
fd16c54261b3 Initial load
duke
parents:
diff changeset
    48
JDK_CLOBBER_TARGETS = clobber
fd16c54261b3 Initial load
duke
parents:
diff changeset
    49
fd16c54261b3 Initial load
duke
parents:
diff changeset
    50
JDK_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    51
    ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    52
fd16c54261b3 Initial load
duke
parents:
diff changeset
    53
ifeq ($(BUILD_LANGTOOLS), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    54
  JDK_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    55
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    56
ifeq ($(BUILD_CORBA), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    57
  JDK_BUILD_ARGUMENTS += ALT_CORBA_DIST=$(ABS_CORBA_DIST)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    58
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    59
ifeq ($(BUILD_JAXP), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    60
  JDK_BUILD_ARGUMENTS += ALT_JAXP_DIST=$(ABS_JAXP_DIST)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    61
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    62
ifeq ($(BUILD_JAXWS), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    63
  JDK_BUILD_ARGUMENTS += ALT_JAXWS_DIST=$(ABS_JAXWS_DIST)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    64
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    65
fd16c54261b3 Initial load
duke
parents:
diff changeset
    66
ifeq ($(BUILD_HOTSPOT), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    67
  JDK_BUILD_ARGUMENTS += ALT_HOTSPOT_IMPORT_PATH=$(HOTSPOT_DIR)/import
fd16c54261b3 Initial load
duke
parents:
diff changeset
    68
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    69
fd16c54261b3 Initial load
duke
parents:
diff changeset
    70
JDK_BUILD_ARGUMENTS += \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    71
        BUILD_HOTSPOT=$(BUILD_HOTSPOT)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    72
fd16c54261b3 Initial load
duke
parents:
diff changeset
    73
fd16c54261b3 Initial load
duke
parents:
diff changeset
    74
$(JDK_JAVA_EXE):: jdk-build
fd16c54261b3 Initial load
duke
parents:
diff changeset
    75
fd16c54261b3 Initial load
duke
parents:
diff changeset
    76
jdk: jdk-build
fd16c54261b3 Initial load
duke
parents:
diff changeset
    77
jdk-build:
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    78
	@$(call MakeStart, jdk, $(JDK_BUILD_TARGETS))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    79
	( $(CD) $(JDK_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    80
	  $(MAKE) $(JDK_BUILD_TARGETS) $(JDK_BUILD_ARGUMENTS) ; )
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    81
	@$(call MakeFinish, jdk, $(JDK_BUILD_TARGETS))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    82
fd16c54261b3 Initial load
duke
parents:
diff changeset
    83
jdk-clobber::
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    84
	@$(call MakeStart, jdk, $(JDK_CLOBBER_TARGETS))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    85
	( $(CD) $(JDK_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    86
	  $(MAKE) $(JDK_CLOBBER_TARGETS) $(JDK_BUILD_ARGUMENTS) ; )
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    87
	@$(call MakeFinish, jdk, $(JDK_CLOBBER_TARGETS))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    88
fd16c54261b3 Initial load
duke
parents:
diff changeset
    89
jdk-sanity::
2096
da51837a7368 6791649: add "SKIP_MSIVAL2=true" to the Windows section of make/jprt.config
ohair
parents: 668
diff changeset
    90
	( $(CD) $(JDK_TOPDIR)/make && \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    91
	  $(MAKE) sanity HOTSPOT_IMPORT_CHECK=false $(JDK_BUILD_ARGUMENTS) ; )
fd16c54261b3 Initial load
duke
parents:
diff changeset
    92
fd16c54261b3 Initial load
duke
parents:
diff changeset
    93
compare-images: compare-image
fd16c54261b3 Initial load
duke
parents:
diff changeset
    94
compare-image:
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    95
	@$(call MakeStart, jdk, compare-image)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    96
	( $(CD) $(JDK_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    97
	  $(MAKE) ALT_OUTPUTDIR=$(ABS_OUTPUTDIR) compare-image )
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
    98
	@$(call MakeFinish, jdk, compare-image)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    99
fd16c54261b3 Initial load
duke
parents:
diff changeset
   100
compare-images-clobber: compare-image-clobber
fd16c54261b3 Initial load
duke
parents:
diff changeset
   101
compare-image-clobber:
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
   102
	@$(call MakeStart, jdk, compare-image-clobber)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   103
	( $(CD) $(JDK_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
   104
	  $(MAKE) ALT_OUTPUTDIR=$(ABS_OUTPUTDIR) compare-image-clobber )
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 2099
diff changeset
   105
	@$(call MakeFinish, jdk, compare-image-clobber)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   106
fd16c54261b3 Initial load
duke
parents:
diff changeset
   107
.PHONY: jdk jdk-build jdk-clobber jdk-sanity 
fd16c54261b3 Initial load
duke
parents:
diff changeset
   108