make/install-rules.gmk
author ysr
Mon, 16 Aug 2010 15:58:42 -0700
changeset 6258 68f252c6e825
parent 5499 eb0b3e373167
child 6734 bc342cc53099
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: 3792
diff changeset
     2
# Copyright (c) 2002, 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: 3792
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: 3792
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: 3792
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 3792
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 3792
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
# INSTALL  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
install:  install-build
fd16c54261b3 Initial load
duke
parents:
diff changeset
    31
fd16c54261b3 Initial load
duke
parents:
diff changeset
    32
# The generated java files are generated as a set, so instead of
fd16c54261b3 Initial load
duke
parents:
diff changeset
    33
# setting the INSTALL variable to that list of files, set it to
fd16c54261b3 Initial load
duke
parents:
diff changeset
    34
# the .PHONY target that generates the set of files.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    35
INSTALL = install
fd16c54261b3 Initial load
duke
parents:
diff changeset
    36
fd16c54261b3 Initial load
duke
parents:
diff changeset
    37
# put the generated patch in their own place in OUTPUTDIR
fd16c54261b3 Initial load
duke
parents:
diff changeset
    38
INSTALL_OUTPUTDIR = $(ABS_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    39
fd16c54261b3 Initial load
duke
parents:
diff changeset
    40
INSTALL_DEBUG_NAME=fastdebug
fd16c54261b3 Initial load
duke
parents:
diff changeset
    41
fd16c54261b3 Initial load
duke
parents:
diff changeset
    42
INSTALL_BUILD_TARGETS = sanity all
fd16c54261b3 Initial load
duke
parents:
diff changeset
    43
INSTALL_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    44
			ALT_OUTPUTDIR=$(INSTALL_OUTPUTDIR) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    45
			ALT_RTPATCH_DIR=$(ALT_RTPATCH_DIR) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    46
			ALT_BASE_IMAGE_ZIP=$(ALT_BASE_IMAGE_ZIP) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    47
			ALT_BASE_IMAGE_DIR=$(ALT_BASE_IMAGE_DIR) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    48
			ALT_NEW_IMAGE_DIR=$(ALT_NEW_IMAGE_DIR) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    49
			ALT_BUNDLE_DATE=$(BUNDLE_DATE) \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    50
			INSTALL_DEBUG_NAME=$(INSTALL_DEBUG_NAME)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    51
fd16c54261b3 Initial load
duke
parents:
diff changeset
    52
ifeq ($(BUILD_LANGTOOLS), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    53
  INSTALL_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    54
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    55
fd16c54261b3 Initial load
duke
parents:
diff changeset
    56
install: install-build
fd16c54261b3 Initial load
duke
parents:
diff changeset
    57
fd16c54261b3 Initial load
duke
parents:
diff changeset
    58
install-build:
fd16c54261b3 Initial load
duke
parents:
diff changeset
    59
ifeq ($(BUILD_INSTALL), true)
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    60
	@$(call MakeStart, install, $(INSTALL_BUILD_TARGETS))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    61
	($(CD) $(INSTALL_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    62
	  $(MAKE) $(INSTALL_BUILD_TARGETS) $(INSTALL_BUILD_ARGUMENTS))
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    63
	@$(call MakeFinish, install, $(INSTALL_BUILD_TARGETS))
0
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
update-patcher:
fd16c54261b3 Initial load
duke
parents:
diff changeset
    67
ifeq ($(BUILD_INSTALL), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    68
	if [ -r $(INSTALL_TOPDIR)/make/update/Makefile ]; then \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    69
	  $(call MakeStart, install update, all); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    70
	  ( $(CD) $(INSTALL_TOPDIR)/make/update && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    71
	    $(MAKE) all $(INSTALL_BUILD_ARGUMENTS) ); \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    72
	  $(call MakeFinish, install, all); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    73
	fi
fd16c54261b3 Initial load
duke
parents:
diff changeset
    74
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    75
fd16c54261b3 Initial load
duke
parents:
diff changeset
    76
update-patchgen:
fd16c54261b3 Initial load
duke
parents:
diff changeset
    77
ifeq ($(BUILD_INSTALL), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    78
	if [ -r $(INSTALL_TOPDIR)/make/update/Makefile ]; then \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    79
	  $(call MakeStart, install update, patchgen); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    80
	  ( $(CD) $(INSTALL_TOPDIR)/make/update && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    81
	    $(MAKE) patchgen $(INSTALL_BUILD_ARGUMENTS) ); \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    82
	  $(call MakeFinish, install, patchgen); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    83
	fi
fd16c54261b3 Initial load
duke
parents:
diff changeset
    84
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    85
fd16c54261b3 Initial load
duke
parents:
diff changeset
    86
installer:
fd16c54261b3 Initial load
duke
parents:
diff changeset
    87
ifeq ($(BUILD_INSTALL), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    88
	if [ -r $(INSTALL_TOPDIR)/make/installer/Makefile ]; then \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    89
	  $(call MakeStart, install installer, all); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    90
	  ( $(CD) $(INSTALL_TOPDIR)/make/installer && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    91
	    $(MAKE) all $(INSTALL_BUILD_ARGUMENTS) ); \
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    92
	  $(call MakeFinish, install, all); \
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    93
	fi
fd16c54261b3 Initial load
duke
parents:
diff changeset
    94
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    95
fd16c54261b3 Initial load
duke
parents:
diff changeset
    96
install-clobber:
fd16c54261b3 Initial load
duke
parents:
diff changeset
    97
ifeq ($(BUILD_INSTALL), true)
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
    98
	@$(call MakeStart, install, clobber)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    99
	($(CD) $(INSTALL_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
   100
	  $(MAKE) clobber $(INSTALL_BUILD_ARGUMENTS))
3789
2040d99c6f14 6855174: Improve log output when builds transition from one workspace to another
ohair
parents: 0
diff changeset
   101
	@$(call MakeFinish, install, clobber)
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   102
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
   103
fd16c54261b3 Initial load
duke
parents:
diff changeset
   104
install-sanity:: 
fd16c54261b3 Initial load
duke
parents:
diff changeset
   105
ifeq ($(BUILD_INSTALL), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
   106
	($(CD) $(INSTALL_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
   107
	  $(MAKE) sanity $(INSTALL_BUILD_ARGUMENTS))
fd16c54261b3 Initial load
duke
parents:
diff changeset
   108
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
   109
fd16c54261b3 Initial load
duke
parents:
diff changeset
   110
######################################
fd16c54261b3 Initial load
duke
parents:
diff changeset
   111
# Rules for making the install
fd16c54261b3 Initial load
duke
parents:
diff changeset
   112
######################################
fd16c54261b3 Initial load
duke
parents:
diff changeset
   113
fd16c54261b3 Initial load
duke
parents:
diff changeset
   114
.PHONY: install install-build install-clobber install-sanity \
fd16c54261b3 Initial load
duke
parents:
diff changeset
   115
	update-installer update-patchgen installer