# HG changeset patch # User vladidan # Date 1323207304 18000 # Node ID b8188fb31366847cc7cc7cffcf2ddcc8e9343ba6 # Parent df9b7971bec12360e920fdb3c275ac43334a3bde# Parent 6c38e1103f1b744751bb0da1495c7d9394da39b5 Merge diff -r df9b7971bec1 -r b8188fb31366 hotspot/make/bsd/makefiles/buildtree.make --- a/hotspot/make/bsd/makefiles/buildtree.make Fri Dec 02 21:10:45 2011 -0800 +++ b/hotspot/make/bsd/makefiles/buildtree.make Tue Dec 06 16:35:04 2011 -0500 @@ -55,6 +55,9 @@ # The makefiles are split this way so that "make foo" will run faster by not # having to read the dependency files for the vm. +# needs to be set here since this Makefile doesn't include defs.make +OS_VENDOR:=$(shell uname -s) + include $(GAMMADIR)/make/scm.make include $(GAMMADIR)/make/altsrc.make @@ -159,8 +162,15 @@ endif endif -# MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214) -ifdef ALWAYS_PASS_TEST_GAMMA +ifeq ($(OS_VENDOR), Darwin) + # MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214) + ifeq ($(ALWAYS_PASS_TEST_GAMMA),) + # ALWAYS_PASS_TEST_GAMMA wasn't set so we default to true on MacOS X + # until MACOSX_PORT-214 is fixed + ALWAYS_PASS_TEST_GAMMA=true + endif +endif +ifeq ($(ALWAYS_PASS_TEST_GAMMA), true) TEST_GAMMA_STATUS= echo 'exit 0'; else TEST_GAMMA_STATUS= diff -r df9b7971bec1 -r b8188fb31366 hotspot/make/bsd/makefiles/sa.make --- a/hotspot/make/bsd/makefiles/sa.make Fri Dec 02 21:10:45 2011 -0800 +++ b/hotspot/make/bsd/makefiles/sa.make Tue Dec 06 16:35:04 2011 -0500 @@ -37,11 +37,24 @@ TOPDIR = $(shell echo `pwd`) GENERATED = $(TOPDIR)/../generated -# tools.jar is needed by the JDI - SA binding -ifeq ($(SA_APPLE_BOOT_JAVA),true) - SA_CLASSPATH = $(BOOT_JAVA_HOME)/bundle/Classes/classes.jar +# SA-JDI depends on the standard JDI classes. +# Default SA_CLASSPATH location: +DEF_SA_CLASSPATH=$(BOOT_JAVA_HOME)/lib/tools.jar +ifeq ($(ALT_SA_CLASSPATH),) + # no alternate specified; see if default exists + SA_CLASSPATH=$(shell test -f $(DEF_SA_CLASSPATH) && echo $(DEF_SA_CLASSPATH)) + ifeq ($(SA_CLASSPATH),) + # the default doesn't exist + ifeq ($(OS_VENDOR), Darwin) + # A JDK from Apple doesn't have tools.jar; the JDI classes are + # are in the regular classes.jar file. + APPLE_JAR=$(BOOT_JAVA_HOME)/bundle/Classes/classes.jar + SA_CLASSPATH=$(shell test -f $(APPLE_JAR) && echo $(APPLE_JAR)) + endif + endif else - SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar + _JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)") + SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH)) endif # TODO: if it's a modules image, check if SA module is installed. @@ -72,8 +85,8 @@ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ exit 1; \ fi - $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \ - echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\ + $(QUIETLY) if [ ! -f "$(SA_CLASSPATH)" -a ! -d $(MODULELIB_PATH) ] ; then \ + echo "Cannot find JDI classes. Use 1.6.0 or later version of JDK."; \ echo ""; \ exit 1; \ fi diff -r df9b7971bec1 -r b8188fb31366 hotspot/src/share/vm/runtime/globals.cpp --- a/hotspot/src/share/vm/runtime/globals.cpp Fri Dec 02 21:10:45 2011 -0800 +++ b/hotspot/src/share/vm/runtime/globals.cpp Tue Dec 06 16:35:04 2011 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -55,10 +55,13 @@ MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \ MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG) +MATERIALIZE_FLAGS_EXT + + bool Flag::is_unlocker() const { return strcmp(name, "UnlockDiagnosticVMOptions") == 0 || - strcmp(name, "UnlockExperimentalVMOptions") == 0; - + strcmp(name, "UnlockExperimentalVMOptions") == 0 || + is_unlocker_ext(); } bool Flag::is_unlocked() const { @@ -74,7 +77,7 @@ strcmp(kind, "{C2 experimental}") == 0) { return UnlockExperimentalVMOptions; } else { - return true; + return is_unlocked_ext(); } } @@ -241,6 +244,7 @@ #ifdef SHARK SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) #endif + FLAGTABLE_EXT {0, NULL, NULL} }; diff -r df9b7971bec1 -r b8188fb31366 hotspot/src/share/vm/runtime/globals.hpp --- a/hotspot/src/share/vm/runtime/globals.hpp Fri Dec 02 21:10:45 2011 -0800 +++ b/hotspot/src/share/vm/runtime/globals.hpp Tue Dec 06 16:35:04 2011 -0500 @@ -243,6 +243,9 @@ bool is_writeable() const; bool is_external() const; + bool is_unlocker_ext() const; + bool is_unlocked_ext() const; + void print_on(outputStream* st, bool withComments = false ); void print_as_flag(outputStream* st); }; @@ -3922,4 +3925,8 @@ RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) +// Extensions + +#include "runtime/globals_ext.hpp" + #endif // SHARE_VM_RUNTIME_GLOBALS_HPP diff -r df9b7971bec1 -r b8188fb31366 hotspot/src/share/vm/runtime/globals_ext.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/runtime/globals_ext.hpp Tue Dec 06 16:35:04 2011 -0500 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. + * 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. + * + */ + +#ifndef SHARE_VM_RUNTIME_GLOBALS_EXT_HPP +#define SHARE_VM_RUNTIME_GLOBALS_EXT_HPP + +// globals_extension.hpp extension + +// Additional CommandLineFlags enum values +#define COMMANDLINEFLAG_EXT + +// Additional CommandLineFlagsWithType enum values +#define COMMANDLINEFLAGWITHTYPE_EXT + + +// globals.cpp extension + +// Additional flag definitions +#define MATERIALIZE_FLAGS_EXT + +// Additional flag descriptors: see flagTable definition +#define FLAGTABLE_EXT + + +// Default method implementations + +inline bool Flag::is_unlocker_ext() const { + return false; +} + +inline bool Flag::is_unlocked_ext() const { + return true; +} + +#endif // SHARE_VM_RUNTIME_GLOBALS_EXT_HPP diff -r df9b7971bec1 -r b8188fb31366 hotspot/src/share/vm/runtime/globals_extension.hpp --- a/hotspot/src/share/vm/runtime/globals_extension.hpp Fri Dec 02 21:10:45 2011 -0800 +++ b/hotspot/src/share/vm/runtime/globals_extension.hpp Tue Dec 06 16:35:04 2011 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -93,6 +93,7 @@ #ifdef COMPILER2 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER) #endif + COMMANDLINEFLAG_EXT NUM_CommandLineFlag } CommandLineFlag; @@ -192,6 +193,7 @@ C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE) #endif + COMMANDLINEFLAGWITHTYPE_EXT NUM_CommandLineFlagWithType } CommandLineFlagWithType;