# HG changeset patch # User Gilles Duboscq # Date 1313575099 -7200 # Node ID 44da449fc29c9fa040128fd5327355d67c2466b6 # Parent 4aa80ca3dbeccee8cfdbf204c5bbfcce2f9679f7 Update linux makefiles to create a graal VM, make a few run* +x diff -r 4aa80ca3dbec -r 44da449fc29c domake --- a/domake Sun Aug 14 00:55:28 2011 +0200 +++ b/domake Wed Aug 17 11:58:19 2011 +0200 @@ -49,8 +49,8 @@ pushd $graal_home/make # the piping magic runs stderr through grep and removes the complaints about Xusage.txt files -ARCH_DATA_MODEL=64 LANG=C HOTSPOT_BUILD_JOBS=4 ALT_BOOTDIR=$JDK7G INSTALL=y make jvmg1 3>&1 1>&2 2>&3 | grep -v Xusage[.]txt -ARCH_DATA_MODEL=64 LANG=C HOTSPOT_BUILD_JOBS=4 ALT_BOOTDIR=$JDK7 INSTALL=y make product1 3>&1 1>&2 2>&3 | grep -v Xusage[.]txt +ARCH_DATA_MODEL=64 LANG=C HOTSPOT_BUILD_JOBS=4 ALT_BOOTDIR=$JDK7G INSTALL=y make jvmggraal 3>&1 1>&2 2>&3 | grep -v Xusage[.]txt +ARCH_DATA_MODEL=64 LANG=C HOTSPOT_BUILD_JOBS=4 ALT_BOOTDIR=$JDK7 INSTALL=y make productgraal 3>&1 1>&2 2>&3 | grep -v Xusage[.]txt popd diff -r 4aa80ca3dbec -r 44da449fc29c make/Makefile --- a/make/Makefile Sun Aug 14 00:55:28 2011 +0200 +++ b/make/Makefile Wed Aug 17 11:58:19 2011 +0200 @@ -88,6 +88,7 @@ KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark +GRAAL_VM_TARGETS=productgraal fastdebuggraal optimizedgraal jvmggraal # JDK directory list JDK_DIRS=bin include jre lib demo @@ -116,6 +117,12 @@ all_debugshark: jvmgshark docs export_debug all_optimizedshark: optimizedshark docs export_optimized +allgraal: all_productgraal all_fastdebuggraal +all_productgraal: productgraal docs export_product +all_fastdebuggraal: fastdebuggraal docs export_fastdebug +all_debuggraal: jvmggraal docs export_debug +all_optimizedgraal: optimizedgraal docs export_optimized + # Do everything world: all create_jdk @@ -150,6 +157,10 @@ $(CD) $(GAMMADIR)/make; \ $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) +$(GRAAL_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildgraal $(ALT_OUT) + # Build compiler1 (client) rule, different for platforms generic_build1: $(MKDIR) -p $(OUTPUTDIR) @@ -218,6 +229,12 @@ $(MAKE) -f $(ABS_OS_MAKEFILE) \ $(MAKE_ARGS) $(VM_TARGET) +generic_buildgraal: + $(MKDIR) -p $(OUTPUTDIR) + $(CD) $(OUTPUTDIR); \ + $(MAKE) -f $(ABS_OS_MAKEFILE) \ + $(MAKE_ARGS) $(VM_TARGET) + # Export file rule generic_export: $(EXPORT_LIST) export_product: @@ -250,11 +267,13 @@ KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero SHARK_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark +GRAAL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_graal C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR) SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR) +GRAAL_DIR=$(GRAAL_BASE_DIR)/$(VM_SUBDIR) # Misc files and generated files need to come from C1 or C2 area ifeq ($(ZERO_BUILD), true) @@ -387,6 +406,7 @@ $(RM) -r $(KERNEL_DIR) $(RM) -r $(ZERO_DIR) $(RM) -r $(SHARK_DIR) + $(RM) -r $(GRAAL_DIR) clean_export: $(RM) -r $(EXPORT_PATH) clean_jdk: diff -r 4aa80ca3dbec -r 44da449fc29c make/linux/Makefile --- a/make/linux/Makefile Sun Aug 14 00:55:28 2011 +0200 +++ b/make/linux/Makefile Wed Aug 17 11:58:19 2011 +0200 @@ -199,6 +199,7 @@ SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS)) SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS)) +SUBDIRS_GRAAL = $(addprefix $(OSNAME)_$(BUILDARCH)_graal/,$(TARGETS)) TARGETS_C2 = $(TARGETS) TARGETS_C1 = $(addsuffix 1,$(TARGETS)) @@ -206,6 +207,7 @@ TARGETS_CORE = $(addsuffix core,$(TARGETS)) TARGETS_ZERO = $(addsuffix zero,$(TARGETS)) TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) +TARGETS_GRAAL = $(addsuffix graal,$(TARGETS)) BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) @@ -223,6 +225,7 @@ @echo " $(TARGETS_CORE)" @echo " $(TARGETS_ZERO)" @echo " $(TARGETS_SHARK)" + @echo " $(TARGETS_GRAAL)" checks: check_os_version check_j2se_version @@ -280,6 +283,10 @@ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks $(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH) +$(SUBDIRS_GRAAL): $(BUILDTREE_MAKE) + $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks + $(BUILDTREE) VARIANT=graal + platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@ @@ -327,12 +334,20 @@ cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install endif +$(TARGETS_GRAAL): $(SUBDIRS_GRAAL) + cd $(OSNAME)_$(BUILDARCH)_graal/$(patsubst %graal,%,$@) && $(MAKE) $(MFLAGS) + cd $(OSNAME)_$(BUILDARCH)_graal/$(patsubst %graal,%,$@) && ./test_gamma +ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_graal/$(patsubst %graal,%,$@) && $(MAKE) $(MFLAGS) install +endif + # Just build the tree, and nothing else: tree: $(SUBDIRS_C2) tree1: $(SUBDIRS_C1) treecore: $(SUBDIRS_CORE) treezero: $(SUBDIRS_ZERO) treeshark: $(SUBDIRS_SHARK) +treegraal: $(SUBDIRS_GRAAL) # Doc target. This is the same for all build options. # Hence create a docs directory beside ...$(ARCH)_[...] @@ -363,8 +378,8 @@ #------------------------------------------------------------------------------- -.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) -.PHONY: tree tree1 treecore treezero treeshark -.PHONY: all compiler1 compiler2 core zero shark -.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs +.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_GRAAL) +.PHONY: tree tree1 treecore treezero treeshark treegraal +.PHONY: all compiler1 compiler2 core zero shark graal +.PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs clean_graal .PHONY: checks check_os_version check_j2se_version diff -r 4aa80ca3dbec -r 44da449fc29c make/linux/makefiles/graal.make --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/linux/makefiles/graal.make Wed Aug 17 11:58:19 2011 +0200 @@ -0,0 +1,32 @@ +# +# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright 2008, 2010 Red Hat, Inc. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# +# + +# Sets make macros for making Graal version of VM + +TYPE = GRAAL + +VM_SUBDIR = graal + +CFLAGS += -DGRAAL -DCOMPILER1 diff -r 4aa80ca3dbec -r 44da449fc29c make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Sun Aug 14 00:55:28 2011 +0200 +++ b/make/linux/makefiles/vm.make Wed Aug 17 11:58:19 2011 +0200 @@ -148,6 +148,11 @@ SHARK_PATHS := $(GAMMADIR)/src/share/vm/shark +GRAAL_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) +GRAAL_PATHS += $(HS_COMMON_SRC)/share/vm/c1 +GRAAL_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/graal) +GRAAL_PATHS += $(HS_COMMON_SRC)/share/vm/graal + # Include dirs per type. Src_Dirs/CORE := $(CORE_PATHS) Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS) @@ -155,12 +160,14 @@ Src_Dirs/TIERED := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS) Src_Dirs/ZERO := $(CORE_PATHS) Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) +Src_Dirs/GRAAL := $(CORE_PATHS) $(GRAAL_PATHS) Src_Dirs := $(Src_Dirs/$(TYPE)) COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\* COMPILER1_SPECIFIC_FILES := c1_\* SHARK_SPECIFIC_FILES := shark ZERO_SPECIFIC_FILES := zero +GRAAL_SPECIFIC_FILES := graal # Always exclude these. Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp @@ -172,6 +179,7 @@ Src_Files_EXCLUDE/TIERED := $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) Src_Files_EXCLUDE/ZERO := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp Src_Files_EXCLUDE/SHARK := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) +Src_Files_EXCLUDE/GRAAL := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp Src_Files_EXCLUDE += $(Src_Files_EXCLUDE/$(TYPE)) diff -r 4aa80ca3dbec -r 44da449fc29c runbatik.sh diff -r 4aa80ca3dbec -r 44da449fc29c runh2.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runh2.sh Wed Aug 17 11:58:19 2011 +0200 @@ -0,0 +1,18 @@ +#!/bin/bash +if [ -z "${JDK7}" ]; then + echo "JDK7 is not defined." + exit 1; +fi +if [ -z "${MAXINE}" ]; then + echo "MAXINE is not defined. It must point to a maxine repository directory." + exit 1; +fi +if [ -z "${GRAAL}" ]; then + echo "GRAAL is not defined. It must point to a maxine repository directory." + exit 1; +fi +if [ -z "${DACAPO}" ]; then + echo "DACAPO is not defined. It must point to a Dacapo benchmark directory." + exit 1; +fi +${JDK7}/bin/java -graal -Xms1g -Xmx2g -classpath ${DACAPO}/dacapo-9.12-bach.jar -XX:-GraalBailoutIsFatal $* Harness --preserve -n 10 h2 diff -r 4aa80ca3dbec -r 44da449fc29c runpmd.sh diff -r 4aa80ca3dbec -r 44da449fc29c runtradebeans.sh diff -r 4aa80ca3dbec -r 44da449fc29c runxalan.sh