make/hotspot-rules.gmk
author ysr
Wed, 07 Sep 2011 13:55:42 -0700
changeset 10526 3e92f211533f
parent 8917 a3bac6e9ee79
child 12256 e66c077cb815
permissions -rw-r--r--
4965777: GC changes to support use of discovered field for pending references Summary: If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose. Reviewed-by: jcoomes, mchung, stefank
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
     1
#
8917
a3bac6e9ee79 7033660: Update copyright year to 2011 on any files changed in 2011
ohair
parents: 8441
diff changeset
     2
# Copyright (c) 2001, 2011, 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: 4082
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: 4082
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: 4082
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4082
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
eb0b3e373167 6943119: Rebrand source copyright notices
ohair
parents: 4082
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
# HOTSPOT 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
# All the output from a hotspot build should be re-located to the
fd16c54261b3 Initial load
duke
parents:
diff changeset
    31
#    build output area.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    32
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    33
HOTSPOT_OUTPUTDIR = $(HOTSPOT_DIR)/outputdir
fd16c54261b3 Initial load
duke
parents:
diff changeset
    34
fd16c54261b3 Initial load
duke
parents:
diff changeset
    35
# HOTSPOT_EXPORT_PATH points to a dir that contains files
fd16c54261b3 Initial load
duke
parents:
diff changeset
    36
# that are needed in an SDK build, in the same relative positions as
fd16c54261b3 Initial load
duke
parents:
diff changeset
    37
# these files are in an SDK image.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    38
# The SDK java/redist/Makefile will copy files from HOTSPOT_EXPORT_PATH
fd16c54261b3 Initial load
duke
parents:
diff changeset
    39
# into the SDK being built.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    40
# This is the export path supplied to the hotspot makefiles.
fd16c54261b3 Initial load
duke
parents:
diff changeset
    41
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    42
HOTSPOT_EXPORT_PATH = $(HOTSPOT_DIR)/import
fd16c54261b3 Initial load
duke
parents:
diff changeset
    43
fd16c54261b3 Initial load
duke
parents:
diff changeset
    44
# Default targets
fd16c54261b3 Initial load
duke
parents:
diff changeset
    45
HOTSPOT = hotspot-sanity hotspot-build
fd16c54261b3 Initial load
duke
parents:
diff changeset
    46
fd16c54261b3 Initial load
duke
parents:
diff changeset
    47
hotspot:: $(HOTSPOT)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    48
fd16c54261b3 Initial load
duke
parents:
diff changeset
    49
# Hotspot clobber removes the output directory and exported files
fd16c54261b3 Initial load
duke
parents:
diff changeset
    50
hotspot-clobber:: 
fd16c54261b3 Initial load
duke
parents:
diff changeset
    51
	$(RM) -r $(HOTSPOT_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    52
	$(RM) -r $(HOTSPOT_EXPORT_PATH)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    53
fd16c54261b3 Initial load
duke
parents:
diff changeset
    54
hotspot-sanity::
fd16c54261b3 Initial load
duke
parents:
diff changeset
    55
	@$(MKDIR) -p $(HOTSPOT_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    56
	@$(MKDIR) -p $(HOTSPOT_EXPORT_PATH)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    57
	@$(ECHO) "Hotspot Settings: \n" \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    58
	    "     HOTSPOT_BUILD_JOBS  = $(HOTSPOT_BUILD_JOBS) \n"  \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    59
	    "     HOTSPOT_OUTPUTDIR   = $(HOTSPOT_OUTPUTDIR) \n"  \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    60
	    "     HOTSPOT_EXPORT_PATH = $(HOTSPOT_EXPORT_PATH) \n"  \
fd16c54261b3 Initial load
duke
parents:
diff changeset
    61
	    "\n"  >> $(MESSAGE_FILE)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    62
fd16c54261b3 Initial load
duke
parents:
diff changeset
    63
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    64
# Basic hotspot build and export of it's files
fd16c54261b3 Initial load
duke
parents:
diff changeset
    65
#
fd16c54261b3 Initial load
duke
parents:
diff changeset
    66
fd16c54261b3 Initial load
duke
parents:
diff changeset
    67
HOTSPOT_TARGET = all_product
fd16c54261b3 Initial load
duke
parents:
diff changeset
    68
ifeq ($(DEBUG_NAME), debug)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    69
  HOTSPOT_TARGET = all_debug
fd16c54261b3 Initial load
duke
parents:
diff changeset
    70
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    71
ifeq ($(DEBUG_NAME), fastdebug)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    72
  HOTSPOT_TARGET = all_fastdebug
fd16c54261b3 Initial load
duke
parents:
diff changeset
    73
endif
fd16c54261b3 Initial load
duke
parents:
diff changeset
    74
4082
d3f4c20c3f80 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3792
diff changeset
    75
ifeq ($(ZERO_BUILD), true)
6408
0f5fb350c89e 6976186: Integrate Shark
gbenson
parents: 5499
diff changeset
    76
  ifeq ($(SHARK_BUILD), true)
0f5fb350c89e 6976186: Integrate Shark
gbenson
parents: 5499
diff changeset
    77
    HOTSPOT_TARGET := $(HOTSPOT_TARGET)shark
0f5fb350c89e 6976186: Integrate Shark
gbenson
parents: 5499
diff changeset
    78
  else
0f5fb350c89e 6976186: Integrate Shark
gbenson
parents: 5499
diff changeset
    79
    HOTSPOT_TARGET := $(HOTSPOT_TARGET)zero
0f5fb350c89e 6976186: Integrate Shark
gbenson
parents: 5499
diff changeset
    80
  endif
4082
d3f4c20c3f80 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3792
diff changeset
    81
endif
d3f4c20c3f80 6891677: java/build integrate zero assembler JDK changes
gbenson
parents: 3792
diff changeset
    82
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    83
HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    84
HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    85
HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    86
fd16c54261b3 Initial load
duke
parents:
diff changeset
    87
# Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=?
fd16c54261b3 Initial load
duke
parents:
diff changeset
    88
#   Or is there something wrong with hotspot/make/Makefile?
fd16c54261b3 Initial load
duke
parents:
diff changeset
    89
HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    90
HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    91
fd16c54261b3 Initial load
duke
parents:
diff changeset
    92
ifeq ($(BUILD_LANGTOOLS), true)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    93
  HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
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
hotspot-build::
fd16c54261b3 Initial load
duke
parents:
diff changeset
    97
	$(MKDIR) -p $(HOTSPOT_OUTPUTDIR)
fd16c54261b3 Initial load
duke
parents:
diff changeset
    98
	$(MKDIR) -p $(HOTSPOT_EXPORT_PATH)
8441
30f5ad688d4a 7021753: Add a build times report
ohrstrom
parents: 7654
diff changeset
    99
	@$(call MakeStart,hotspot,$(HOTSPOT_TARGET))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   100
	$(CD) $(HOTSPOT_TOPDIR)/make && \
fd16c54261b3 Initial load
duke
parents:
diff changeset
   101
	    $(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET)
8441
30f5ad688d4a 7021753: Add a build times report
ohrstrom
parents: 7654
diff changeset
   102
	@$(call MakeFinish,hotspot,$(HOTSPOT_TARGET))
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   103
fd16c54261b3 Initial load
duke
parents:
diff changeset
   104
#####################
fd16c54261b3 Initial load
duke
parents:
diff changeset
   105
# .PHONY
fd16c54261b3 Initial load
duke
parents:
diff changeset
   106
#####################
fd16c54261b3 Initial load
duke
parents:
diff changeset
   107
.PHONY: hotspot-build hotspot-clobber hotspot-sanity
fd16c54261b3 Initial load
duke
parents:
diff changeset
   108