6843629: Make current hotspot build part of jdk5 control build

Wed, 16 Dec 2009 12:54:49 -0500

author
phh
date
Wed, 16 Dec 2009 12:54:49 -0500
changeset 1558
167c2986d91b
parent 1557
dcb15a6f342d
child 1560
d48983315b71
child 1562
ba60f0a5d714

6843629: Make current hotspot build part of jdk5 control build
Summary: Source changes for older compilers plus makefile changes.
Reviewed-by: xlu

make/linux/makefiles/debug.make file | annotate | diff | comparison | revisions
make/linux/makefiles/fastdebug.make file | annotate | diff | comparison | revisions
make/linux/makefiles/jsig.make file | annotate | diff | comparison | revisions
make/linux/makefiles/jvmg.make file | annotate | diff | comparison | revisions
make/linux/makefiles/launcher.make file | annotate | diff | comparison | revisions
make/linux/makefiles/saproc.make file | annotate | diff | comparison | revisions
make/linux/makefiles/vm.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/debug.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/dtrace.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/fastdebug.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/jsig.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/jvmg.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/launcher.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/saproc.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/sparcWorks.make file | annotate | diff | comparison | revisions
make/solaris/makefiles/vm.make file | annotate | diff | comparison | revisions
src/os/linux/vm/os_linux.cpp file | annotate | diff | comparison | revisions
src/os/solaris/dtrace/libjvm_db.c file | annotate | diff | comparison | revisions
src/os/solaris/vm/os_solaris.cpp file | annotate | diff | comparison | revisions
src/os/windows/vm/os_windows.cpp file | annotate | diff | comparison | revisions
src/share/vm/ci/bcEscapeAnalyzer.hpp file | annotate | diff | comparison | revisions
src/share/vm/code/dependencies.cpp file | annotate | diff | comparison | revisions
src/share/vm/code/dependencies.hpp file | annotate | diff | comparison | revisions
src/share/vm/memory/heap.cpp file | annotate | diff | comparison | revisions
src/share/vm/memory/referenceProcessor.cpp file | annotate | diff | comparison | revisions
src/share/vm/oops/instanceRefKlass.cpp file | annotate | diff | comparison | revisions
src/share/vm/oops/oop.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/os.hpp file | annotate | diff | comparison | revisions
     1.1 --- a/make/linux/makefiles/debug.make	Mon Dec 14 13:26:29 2009 -0700
     1.2 +++ b/make/linux/makefiles/debug.make	Wed Dec 16 12:54:49 2009 -0500
     1.3 @@ -38,7 +38,7 @@
     1.4   "Please use 'make jvmg' to build debug JVM.                            \n" \
     1.5   "----------------------------------------------------------------------\n")
     1.6  
     1.7 -G_SUFFIX =
     1.8 +G_SUFFIX = _g
     1.9  VERSION = debug
    1.10  SYSDEFS += -DASSERT -DDEBUG
    1.11  PICFLAGS = DEFAULT
     2.1 --- a/make/linux/makefiles/fastdebug.make	Mon Dec 14 13:26:29 2009 -0700
     2.2 +++ b/make/linux/makefiles/fastdebug.make	Wed Dec 16 12:54:49 2009 -0500
     2.3 @@ -58,7 +58,7 @@
     2.4  # Linker mapfile
     2.5  MAPFILE = $(GAMMADIR)/make/linux/makefiles/mapfile-vers-debug
     2.6  
     2.7 -G_SUFFIX =
     2.8 +G_SUFFIX = _g
     2.9  VERSION = optimized
    2.10  SYSDEFS += -DASSERT -DFASTDEBUG
    2.11  PICFLAGS = DEFAULT
     3.1 --- a/make/linux/makefiles/jsig.make	Mon Dec 14 13:26:29 2009 -0700
     3.2 +++ b/make/linux/makefiles/jsig.make	Wed Dec 16 12:54:49 2009 -0500
     3.3 @@ -25,9 +25,12 @@
     3.4  # Rules to build signal interposition library, used by vm.make
     3.5  
     3.6  # libjsig[_g].so: signal interposition library
     3.7 -JSIG = jsig$(G_SUFFIX)
     3.8 +JSIG = jsig
     3.9  LIBJSIG = lib$(JSIG).so
    3.10  
    3.11 +JSIG_G    = $(JSIG)$(G_SUFFIX)
    3.12 +LIBJSIG_G = lib$(JSIG_G).so
    3.13 +
    3.14  JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
    3.15  
    3.16  DEST_JSIG  = $(JDK_LIBDIR)/$(LIBJSIG)
    3.17 @@ -50,6 +53,7 @@
    3.18  	@echo Making signal interposition lib...
    3.19  	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
    3.20                           $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
    3.21 +	$(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
    3.22  
    3.23  install_jsig: $(LIBJSIG)
    3.24  	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
     4.1 --- a/make/linux/makefiles/jvmg.make	Mon Dec 14 13:26:29 2009 -0700
     4.2 +++ b/make/linux/makefiles/jvmg.make	Wed Dec 16 12:54:49 2009 -0500
     4.3 @@ -35,7 +35,7 @@
     4.4  # Linker mapfile
     4.5  MAPFILE = $(GAMMADIR)/make/linux/makefiles/mapfile-vers-debug
     4.6  
     4.7 -G_SUFFIX =
     4.8 +G_SUFFIX = _g
     4.9  VERSION = debug
    4.10  SYSDEFS += -DASSERT -DDEBUG
    4.11  PICFLAGS = DEFAULT
     5.1 --- a/make/linux/makefiles/launcher.make	Mon Dec 14 13:26:29 2009 -0700
     5.2 +++ b/make/linux/makefiles/launcher.make	Wed Dec 16 12:54:49 2009 -0500
     5.3 @@ -25,7 +25,9 @@
     5.4  # Rules to build gamma launcher, used by vm.make
     5.5  
     5.6  # gamma[_g]: launcher
     5.7 -LAUNCHER = gamma$(G_SUFFIX)
     5.8 +
     5.9 +LAUNCHER   = gamma
    5.10 +LAUNCHER_G = $(LAUNCHER)$(G_SUFFIX)
    5.11  
    5.12  LAUNCHERDIR   = $(GAMMADIR)/src/os/$(Platform_os_family)/launcher
    5.13  LAUNCHERFLAGS = $(ARCHFLAG) \
    5.14 @@ -70,4 +72,5 @@
    5.15  	    $(LINK_LAUNCHER/PRE_HOOK) \
    5.16  	    $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER); \
    5.17  	    $(LINK_LAUNCHER/POST_HOOK) \
    5.18 +	    [ -f $(LAUNCHER_G) ] || { ln -s $@ $(LAUNCHER_G); }; \
    5.19          }
     6.1 --- a/make/linux/makefiles/saproc.make	Mon Dec 14 13:26:29 2009 -0700
     6.2 +++ b/make/linux/makefiles/saproc.make	Wed Dec 16 12:54:49 2009 -0500
     6.3 @@ -25,9 +25,13 @@
     6.4  # Rules to build serviceability agent library, used by vm.make
     6.5  
     6.6  # libsaproc[_g].so: serviceability agent
     6.7 -SAPROC = saproc$(G_SUFFIX)
     6.8 +
     6.9 +SAPROC = saproc
    6.10  LIBSAPROC = lib$(SAPROC).so
    6.11  
    6.12 +SAPROC_G = $(SAPROC)$(G_SUFFIX)
    6.13 +LIBSAPROC_G = lib$(SAPROC_G).so
    6.14 +
    6.15  AGENT_DIR = $(GAMMADIR)/agent
    6.16  
    6.17  SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
    6.18 @@ -75,6 +79,7 @@
    6.19  	           $(SA_DEBUG_CFLAGS)                                   \
    6.20  	           -o $@                                                \
    6.21  	           -lthread_db
    6.22 +	$(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
    6.23  
    6.24  install_saproc: checkAndBuildSA
    6.25  	$(QUIETLY) if [ -e $(LIBSAPROC) ] ; then             \
     7.1 --- a/make/linux/makefiles/vm.make	Mon Dec 14 13:26:29 2009 -0700
     7.2 +++ b/make/linux/makefiles/vm.make	Wed Dec 16 12:54:49 2009 -0500
     7.3 @@ -113,8 +113,9 @@
     7.4  #----------------------------------------------------------------------
     7.5  # JVM
     7.6  
     7.7 -JVM    = jvm$(G_SUFFIX)
     7.8 -LIBJVM = lib$(JVM).so
     7.9 +JVM      = jvm
    7.10 +LIBJVM   = lib$(JVM).so
    7.11 +LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
    7.12  
    7.13  JVM_OBJ_FILES = $(Obj_Files)
    7.14  
    7.15 @@ -201,6 +202,7 @@
    7.16  		       $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM);       \
    7.17  	    $(LINK_LIB.CC/POST_HOOK)                                    \
    7.18  	    rm -f $@.1; ln -s $@ $@.1;                                  \
    7.19 +	    [ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
    7.20  	    if [ -x /usr/sbin/selinuxenabled ] ; then                   \
    7.21  	      /usr/sbin/selinuxenabled;                                 \
    7.22                if [ $$? = 0 ] ; then					\
     8.1 --- a/make/solaris/makefiles/debug.make	Mon Dec 14 13:26:29 2009 -0700
     8.2 +++ b/make/solaris/makefiles/debug.make	Wed Dec 16 12:54:49 2009 -0500
     8.3 @@ -54,7 +54,7 @@
     8.4   "Please use 'gnumake jvmg' to build debug JVM.                            \n" \
     8.5   "-------------------------------------------------------------------------\n")
     8.6  
     8.7 -G_SUFFIX =
     8.8 +G_SUFFIX = _g
     8.9  VERSION = debug
    8.10  SYSDEFS += -DASSERT -DDEBUG
    8.11  PICFLAGS = DEFAULT
     9.1 --- a/make/solaris/makefiles/dtrace.make	Mon Dec 14 13:26:29 2009 -0700
     9.2 +++ b/make/solaris/makefiles/dtrace.make	Wed Dec 16 12:54:49 2009 -0500
     9.3 @@ -24,8 +24,8 @@
     9.4  
     9.5  # Rules to build jvm_db/dtrace, used by vm.make
     9.6  
     9.7 -# we build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2
     9.8 -# but not for CORE configuration
     9.9 +# We build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2
    9.10 +# but not for CORE or KERNEL configurations.
    9.11  
    9.12  ifneq ("${TYPE}", "CORE")
    9.13  ifneq ("${TYPE}", "KERNEL")
    9.14 @@ -37,12 +37,13 @@
    9.15  
    9.16  else
    9.17  
    9.18 -
    9.19  JVM_DB = libjvm_db
    9.20 -LIBJVM_DB = libjvm$(G_SUFFIX)_db.so
    9.21 +LIBJVM_DB = libjvm_db.so
    9.22 +LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so
    9.23  
    9.24  JVM_DTRACE = jvm_dtrace
    9.25 -LIBJVM_DTRACE = libjvm$(G_SUFFIX)_dtrace.so
    9.26 +LIBJVM_DTRACE = libjvm_dtrace.so
    9.27 +LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so
    9.28  
    9.29  JVMOFFS = JvmOffsets
    9.30  JVMOFFS.o = $(JVMOFFS).o
    9.31 @@ -77,7 +78,7 @@
    9.32  LFLAGS_JVM_DTRACE += -D_REENTRANT $(PICFLAG)
    9.33  else
    9.34  LFLAGS_JVM_DB += -mt $(PICFLAG) -xnolib
    9.35 -LFLAGS_JVM_DTRACE += -mt $(PICFLAG) -xnolib
    9.36 +LFLAGS_JVM_DTRACE += -mt $(PICFLAG) -xnolib -ldl
    9.37  endif
    9.38  
    9.39  ISA = $(subst i386,i486,$(shell isainfo -n))
    9.40 @@ -86,18 +87,24 @@
    9.41  ifneq ("${ISA}","${BUILDARCH}")
    9.42  
    9.43  XLIBJVM_DB = 64/$(LIBJVM_DB)
    9.44 +XLIBJVM_DB_G = 64/$(LIBJVM_DB_G)
    9.45  XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
    9.46 +XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G)
    9.47  
    9.48  $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
    9.49  	@echo Making $@
    9.50  	$(QUIETLY) mkdir -p 64/ ; \
    9.51  	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
    9.52  		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
    9.53 +	[ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
    9.54 +
    9.55  $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
    9.56  	@echo Making $@
    9.57  	$(QUIETLY) mkdir -p 64/ ; \
    9.58  	$(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
    9.59  		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
    9.60 +	[ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
    9.61 +
    9.62  endif # ifneq ("${ISA}","${BUILDARCH}")
    9.63  
    9.64  ifdef USE_GCC
    9.65 @@ -142,11 +149,13 @@
    9.66  	@echo Making $@
    9.67  	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
    9.68  		$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
    9.69 +	[ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); }
    9.70  
    9.71  $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
    9.72  	@echo Making $@
    9.73  	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I.  \
    9.74  		$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
    9.75 +	[ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); }
    9.76  
    9.77  $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
    9.78               $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
    10.1 --- a/make/solaris/makefiles/fastdebug.make	Mon Dec 14 13:26:29 2009 -0700
    10.2 +++ b/make/solaris/makefiles/fastdebug.make	Wed Dec 16 12:54:49 2009 -0500
    10.3 @@ -90,7 +90,6 @@
    10.4  # for this method for now. (fix this when dtrace bug 6258412 is fixed)
    10.5  OPT_CFLAGS/ciEnv.o = $(OPT_CFLAGS) -xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
    10.6  
    10.7 -
    10.8  # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files)
    10.9  
   10.10  # If you set HOTSPARC_GENERIC=yes, you disable all OPT_CFLAGS settings
   10.11 @@ -115,8 +114,7 @@
   10.12  # and mustn't be otherwise.
   10.13  MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
   10.14  
   10.15 -
   10.16 -G_SUFFIX =
   10.17 +G_SUFFIX = _g
   10.18  VERSION = optimized
   10.19  SYSDEFS += -DASSERT -DFASTDEBUG -DCHECK_UNHANDLED_OOPS
   10.20  PICFLAGS = DEFAULT
    11.1 --- a/make/solaris/makefiles/jsig.make	Mon Dec 14 13:26:29 2009 -0700
    11.2 +++ b/make/solaris/makefiles/jsig.make	Wed Dec 16 12:54:49 2009 -0500
    11.3 @@ -25,8 +25,11 @@
    11.4  # Rules to build signal interposition library, used by vm.make
    11.5  
    11.6  # libjsig[_g].so: signal interposition library
    11.7 -JSIG = jsig$(G_SUFFIX)
    11.8 -LIBJSIG = lib$(JSIG).so
    11.9 +JSIG      = jsig
   11.10 +LIBJSIG   = lib$(JSIG).so
   11.11 +
   11.12 +JSIG_G    = $(JSIG)$(G_SUFFIX)
   11.13 +LIBJSIG_G = lib$(JSIG_G).so
   11.14  
   11.15  JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
   11.16  
   11.17 @@ -46,6 +49,7 @@
   11.18  	@echo Making signal interposition lib...
   11.19  	$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
   11.20                           $(LFLAGS_JSIG) -o $@ $< -ldl
   11.21 +	[ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
   11.22  
   11.23  install_jsig: $(LIBJSIG)
   11.24  	@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
    12.1 --- a/make/solaris/makefiles/jvmg.make	Mon Dec 14 13:26:29 2009 -0700
    12.2 +++ b/make/solaris/makefiles/jvmg.make	Wed Dec 16 12:54:49 2009 -0500
    12.3 @@ -51,7 +51,7 @@
    12.4  # and mustn't be otherwise.
    12.5  MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
    12.6  
    12.7 -G_SUFFIX =
    12.8 +G_SUFFIX = _g
    12.9  VERSION = debug
   12.10  SYSDEFS += -DASSERT -DDEBUG
   12.11  PICFLAGS = DEFAULT
    13.1 --- a/make/solaris/makefiles/launcher.make	Mon Dec 14 13:26:29 2009 -0700
    13.2 +++ b/make/solaris/makefiles/launcher.make	Wed Dec 16 12:54:49 2009 -0500
    13.3 @@ -25,7 +25,8 @@
    13.4  # Rules to build gamma launcher, used by vm.make
    13.5  
    13.6  # gamma[_g]: launcher
    13.7 -LAUNCHER = gamma$(G_SUFFIX)
    13.8 +LAUNCHER   = gamma
    13.9 +LAUNCHER_G = $(LAUNCHER)$(G_SUFFIX)
   13.10  
   13.11  LAUNCHERDIR   = $(GAMMADIR)/src/os/$(Platform_os_family)/launcher
   13.12  LAUNCHERFLAGS = $(ARCHFLAG) \
   13.13 @@ -88,5 +89,6 @@
   13.14  	    $(LINK_LAUNCHER/PRE_HOOK) \
   13.15  	    $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER); \
   13.16  	    $(LINK_LAUNCHER/POST_HOOK) \
   13.17 +	    [ -f $(LAUNCHER_G) ] || { ln -s $@ $(LAUNCHER_G); }; \
   13.18  	    ;; \
   13.19  	esac
    14.1 --- a/make/solaris/makefiles/saproc.make	Mon Dec 14 13:26:29 2009 -0700
    14.2 +++ b/make/solaris/makefiles/saproc.make	Wed Dec 16 12:54:49 2009 -0500
    14.3 @@ -25,9 +25,13 @@
    14.4  # Rules to build serviceability agent library, used by vm.make
    14.5  
    14.6  # libsaproc[_g].so: serviceability agent
    14.7 -SAPROC = saproc$(G_SUFFIX)
    14.8 +
    14.9 +SAPROC = saproc
   14.10  LIBSAPROC = lib$(SAPROC).so
   14.11  
   14.12 +SAPROC_G = $(SAPROC)$(G_SUFFIX)
   14.13 +LIBSAPROC_G = lib$(SAPROC_G).so
   14.14 +
   14.15  AGENT_DIR = $(GAMMADIR)/agent
   14.16  
   14.17  SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)/proc
   14.18 @@ -69,6 +73,7 @@
   14.19  	           $(SA_LFLAGS)                                         \
   14.20  	           -o $@                                                \
   14.21  	           -ldl -ldemangle -lthread -lc
   14.22 +	[ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
   14.23  
   14.24  install_saproc: checkAndBuildSA
   14.25  	$(QUIETLY) if [ -f $(LIBSAPROC) ] ; then             \
    15.1 --- a/make/solaris/makefiles/sparcWorks.make	Mon Dec 14 13:26:29 2009 -0700
    15.2 +++ b/make/solaris/makefiles/sparcWorks.make	Wed Dec 16 12:54:49 2009 -0500
    15.3 @@ -281,8 +281,6 @@
    15.4  OPT_CFLAGS=-xO4 $(EXTRA_OPT_CFLAGS)
    15.5  endif
    15.6  
    15.7 -CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_sparc/vm/solaris_sparc.il
    15.8 -
    15.9  endif # sparc
   15.10  
   15.11  ifeq ("${Platform_arch_model}", "x86_32")
   15.12 @@ -293,13 +291,14 @@
   15.13  # [phh] Is this still true for 6.1?
   15.14  OPT_CFLAGS+=-xO3
   15.15  
   15.16 -CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_x86/vm/solaris_x86_32.il
   15.17 -
   15.18  endif # 32bit x86
   15.19  
   15.20  # no more exceptions
   15.21  CFLAGS/NOEX=-noex
   15.22  
   15.23 +# Inline functions
   15.24 +CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_${Platform_arch}/vm/solaris_${Platform_arch_model}.il
   15.25 +
   15.26  # Reduce code bloat by reverting back to 5.0 behavior for static initializers
   15.27  CFLAGS += -Qoption ccfe -one_static_init
   15.28  
   15.29 @@ -312,6 +311,15 @@
   15.30  PICFLAG/BETTER  = $(PICFLAG/DEFAULT)
   15.31  PICFLAG/BYFILE  = $(PICFLAG/$@)$(PICFLAG/DEFAULT$(PICFLAG/$@))
   15.32  
   15.33 +# Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
   15.34 +MAPFLAG = -M FILENAME
   15.35 +
   15.36 +# Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
   15.37 +SONAMEFLAG = -h SONAME
   15.38 +
   15.39 +# Build shared library
   15.40 +SHARED_FLAG = -G
   15.41 +
   15.42  # Would be better if these weren't needed, since we link with CC, but
   15.43  # at present removing them causes run-time errors
   15.44  LFLAGS += -library=Crun
    16.1 --- a/make/solaris/makefiles/vm.make	Mon Dec 14 13:26:29 2009 -0700
    16.2 +++ b/make/solaris/makefiles/vm.make	Wed Dec 16 12:54:49 2009 -0500
    16.3 @@ -108,11 +108,16 @@
    16.4  #   older libm before libCrun, just to make sure it's found and used first.
    16.5  LIBS += -lsocket -lsched -ldl $(LIBM) -lCrun -lthread -ldoor -lc
    16.6  else
    16.7 +ifeq ($(COMPILER_REV_NUMERIC), 502)
    16.8 +# SC6.1 has it's own libm.so: specifying anything else provokes a name conflict.
    16.9 +LIBS += -ldl -lthread -lsocket -lm -lsched -ldoor
   16.10 +else
   16.11  LIBS += -ldl -lthread -lsocket $(LIBM) -lsched -ldoor
   16.12 -endif
   16.13 +endif # 502
   16.14 +endif # 505
   16.15  else
   16.16  LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc
   16.17 -endif
   16.18 +endif # sparcWorks
   16.19  
   16.20  # By default, link the *.o into the library, not the executable.
   16.21  LINK_INTO$(LINK_INTO) = LIBJVM
   16.22 @@ -126,8 +131,9 @@
   16.23  #----------------------------------------------------------------------
   16.24  # JVM
   16.25  
   16.26 -JVM    = jvm$(G_SUFFIX)
   16.27 -LIBJVM = lib$(JVM).so
   16.28 +JVM      = jvm
   16.29 +LIBJVM   = lib$(JVM).so
   16.30 +LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
   16.31  
   16.32  JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS)
   16.33  
   16.34 @@ -173,11 +179,12 @@
   16.35  	-sbfast|-xsbfast) \
   16.36  	    ;; \
   16.37  	*) \
   16.38 -	    echo Linking vm...;                                                  \
   16.39 -	    $(LINK_LIB.CC/PRE_HOOK)                                              \
   16.40 -	    $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM);                \
   16.41 -	    $(LINK_LIB.CC/POST_HOOK)                                             \
   16.42 -	    rm -f $@.1; ln -s $@ $@.1;                                           \
   16.43 +	    echo Linking vm...; \
   16.44 +	    $(LINK_LIB.CC/PRE_HOOK) \
   16.45 +	    $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
   16.46 +	    $(LINK_LIB.CC/POST_HOOK) \
   16.47 +	    rm -f $@.1; ln -s $@ $@.1; \
   16.48 +	    [ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
   16.49  	    ;; \
   16.50  	esac
   16.51  
    17.1 --- a/src/os/linux/vm/os_linux.cpp	Mon Dec 14 13:26:29 2009 -0700
    17.2 +++ b/src/os/linux/vm/os_linux.cpp	Wed Dec 16 12:54:49 2009 -0500
    17.3 @@ -223,8 +223,8 @@
    17.4                       "environment on Linux when /proc filesystem is not mounted.";
    17.5  
    17.6  void os::Linux::initialize_system_info() {
    17.7 -  _processor_count = sysconf(_SC_NPROCESSORS_CONF);
    17.8 -  if (_processor_count == 1) {
    17.9 +  set_processor_count(sysconf(_SC_NPROCESSORS_CONF));
   17.10 +  if (processor_count() == 1) {
   17.11      pid_t pid = os::Linux::gettid();
   17.12      char fname[32];
   17.13      jio_snprintf(fname, sizeof(fname), "/proc/%d", pid);
   17.14 @@ -236,7 +236,7 @@
   17.15      }
   17.16    }
   17.17    _physical_memory = (julong)sysconf(_SC_PHYS_PAGES) * (julong)sysconf(_SC_PAGESIZE);
   17.18 -  assert(_processor_count > 0, "linux error");
   17.19 +  assert(processor_count() > 0, "linux error");
   17.20  }
   17.21  
   17.22  void os::init_system_properties_values() {
    18.1 --- a/src/os/solaris/dtrace/libjvm_db.c	Mon Dec 14 13:26:29 2009 -0700
    18.2 +++ b/src/os/solaris/dtrace/libjvm_db.c	Wed Dec 16 12:54:49 2009 -0500
    18.3 @@ -937,54 +937,56 @@
    18.4    return err;
    18.5  }
    18.6  
    18.7 -static int
    18.8 -scopeDesc_chain(Nmethod_t *N)
    18.9 -{
   18.10 +static int scopeDesc_chain(Nmethod_t *N) {
   18.11    int32_t decode_offset = 0;
   18.12    int32_t err;
   18.13  
   18.14 -  if (debug > 2)
   18.15 -      fprintf(stderr, "\t scopeDesc_chain: BEGIN\n");
   18.16 +  if (debug > 2) {
   18.17 +    fprintf(stderr, "\t scopeDesc_chain: BEGIN\n");
   18.18 +  }
   18.19  
   18.20    err = ps_pread(N->J->P, N->pc_desc + OFFSET_PcDesc_scope_decode_offset,
   18.21                   &decode_offset, SZ32);
   18.22    CHECK_FAIL(err);
   18.23  
   18.24    while (decode_offset > 0) {
   18.25 -      if (debug > 2)
   18.26 -          fprintf(stderr, "\t scopeDesc_chain: decode_offset: %#x\n", decode_offset);
   18.27 +    Vframe_t *vf = &N->vframes[N->vf_cnt];
   18.28  
   18.29 -      Vframe_t *vf = &N->vframes[N->vf_cnt];
   18.30 +    if (debug > 2) {
   18.31 +      fprintf(stderr, "\t scopeDesc_chain: decode_offset: %#x\n", decode_offset);
   18.32 +    }
   18.33  
   18.34 -      err = scope_desc_at(N, decode_offset, vf);
   18.35 +    err = scope_desc_at(N, decode_offset, vf);
   18.36 +    CHECK_FAIL(err);
   18.37 +
   18.38 +    if (vf->methodIdx > N->oops_len) {
   18.39 +      fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops_len) !\n");
   18.40 +      return -1;
   18.41 +    }
   18.42 +    err = read_pointer(N->J, N->nm + N->oops_beg + (vf->methodIdx-1)*POINTER_SIZE,
   18.43 +                       &vf->methodOop);
   18.44 +    CHECK_FAIL(err);
   18.45 +
   18.46 +    if (vf->methodOop) {
   18.47 +      N->vf_cnt++;
   18.48 +      err = line_number_from_bci(N->J, vf);
   18.49        CHECK_FAIL(err);
   18.50 -
   18.51 -      if (vf->methodIdx > N->oops_len) {
   18.52 -          fprintf(stderr, "\t scopeDesc_chain: (methodIdx > oops_len) !\n");
   18.53 -          return -1;
   18.54 +      if (debug > 2) {
   18.55 +        fprintf(stderr, "\t scopeDesc_chain: methodOop: %#8llx, line: %ld\n",
   18.56 +                vf->methodOop, vf->line);
   18.57        }
   18.58 -      err = read_pointer(N->J, N->nm + N->oops_beg + (vf->methodIdx-1)*POINTER_SIZE,
   18.59 -                               &vf->methodOop);
   18.60 -      CHECK_FAIL(err);
   18.61 -
   18.62 -      if (vf->methodOop) {
   18.63 -          N->vf_cnt++;
   18.64 -          err = line_number_from_bci(N->J, vf);
   18.65 -          CHECK_FAIL(err);
   18.66 -          if (debug > 2) {
   18.67 -              fprintf(stderr, "\t scopeDesc_chain: methodOop: %#8llx, line: %ld\n",
   18.68 -                              vf->methodOop, vf->line);
   18.69 -          }
   18.70 -      }
   18.71 -      decode_offset = vf->sender_decode_offset;
   18.72 +    }
   18.73 +    decode_offset = vf->sender_decode_offset;
   18.74    }
   18.75 -  if (debug > 2)
   18.76 -      fprintf(stderr, "\t scopeDesc_chain: END \n\n");
   18.77 +  if (debug > 2) {
   18.78 +    fprintf(stderr, "\t scopeDesc_chain: END \n\n");
   18.79 +  }
   18.80    return PS_OK;
   18.81  
   18.82   fail:
   18.83 -  if (debug)
   18.84 -      fprintf(stderr, "\t scopeDesc_chain: FAIL \n\n");
   18.85 +  if (debug) {
   18.86 +    fprintf(stderr, "\t scopeDesc_chain: FAIL \n\n");
   18.87 +  }
   18.88    return err;
   18.89  }
   18.90  
    19.1 --- a/src/os/solaris/vm/os_solaris.cpp	Mon Dec 14 13:26:29 2009 -0700
    19.2 +++ b/src/os/solaris/vm/os_solaris.cpp	Wed Dec 16 12:54:49 2009 -0500
    19.3 @@ -457,7 +457,7 @@
    19.4  
    19.5  
    19.6  void os::Solaris::initialize_system_info() {
    19.7 -  _processor_count = sysconf(_SC_NPROCESSORS_CONF);
    19.8 +  set_processor_count(sysconf(_SC_NPROCESSORS_CONF));
    19.9    _processors_online = sysconf (_SC_NPROCESSORS_ONLN);
   19.10    _physical_memory = (julong)sysconf(_SC_PHYS_PAGES) * (julong)sysconf(_SC_PAGESIZE);
   19.11  }
    20.1 --- a/src/os/windows/vm/os_windows.cpp	Mon Dec 14 13:26:29 2009 -0700
    20.2 +++ b/src/os/windows/vm/os_windows.cpp	Wed Dec 16 12:54:49 2009 -0500
    20.3 @@ -3150,7 +3150,7 @@
    20.4    _vm_allocation_granularity = si.dwAllocationGranularity;
    20.5    _processor_type  = si.dwProcessorType;
    20.6    _processor_level = si.wProcessorLevel;
    20.7 -  _processor_count = si.dwNumberOfProcessors;
    20.8 +  set_processor_count(si.dwNumberOfProcessors);
    20.9  
   20.10    MEMORYSTATUSEX ms;
   20.11    ms.dwLength = sizeof(ms);
    21.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.hpp	Mon Dec 14 13:26:29 2009 -0700
    21.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.hpp	Wed Dec 16 12:54:49 2009 -0500
    21.3 @@ -61,9 +61,11 @@
    21.4    BCEscapeAnalyzer* _parent;
    21.5    int               _level;
    21.6  
    21.7 + public:
    21.8    class  ArgumentMap;
    21.9    class  StateInfo;
   21.10  
   21.11 + private:
   21.12    // helper functions
   21.13    bool is_argument(int i)    { return i >= 0 && i < _arg_size; }
   21.14  
    22.1 --- a/src/share/vm/code/dependencies.cpp	Mon Dec 14 13:26:29 2009 -0700
    22.2 +++ b/src/share/vm/code/dependencies.cpp	Wed Dec 16 12:54:49 2009 -0500
    22.3 @@ -1528,19 +1528,23 @@
    22.4    int nsup = 0, nint = 0;
    22.5    for (ContextStream str(*this); str.next(); ) {
    22.6      klassOop k = str.klass();
    22.7 -    switch (str._change_type) {
    22.8 +    switch (str.change_type()) {
    22.9      case Change_new_type:
   22.10        tty->print_cr("  dependee = %s", instanceKlass::cast(k)->external_name());
   22.11        break;
   22.12      case Change_new_sub:
   22.13 -      if (!WizardMode)
   22.14 -           ++nsup;
   22.15 -      else tty->print_cr("  context super = %s", instanceKlass::cast(k)->external_name());
   22.16 +      if (!WizardMode) {
   22.17 +        ++nsup;
   22.18 +      } else {
   22.19 +        tty->print_cr("  context super = %s", instanceKlass::cast(k)->external_name());
   22.20 +      }
   22.21        break;
   22.22      case Change_new_impl:
   22.23 -      if (!WizardMode)
   22.24 -           ++nint;
   22.25 -      else tty->print_cr("  context interface = %s", instanceKlass::cast(k)->external_name());
   22.26 +      if (!WizardMode) {
   22.27 +        ++nint;
   22.28 +      } else {
   22.29 +        tty->print_cr("  context interface = %s", instanceKlass::cast(k)->external_name());
   22.30 +      }
   22.31        break;
   22.32      }
   22.33    }
    23.1 --- a/src/share/vm/code/dependencies.hpp	Mon Dec 14 13:26:29 2009 -0700
    23.2 +++ b/src/share/vm/code/dependencies.hpp	Wed Dec 16 12:54:49 2009 -0500
    23.3 @@ -470,7 +470,7 @@
    23.4  // super types can be context types for a relevant dependency, which the
    23.5  // new type could invalidate.
    23.6  class DepChange : public StackObj {
    23.7 - private:
    23.8 + public:
    23.9    enum ChangeType {
   23.10      NO_CHANGE = 0,              // an uninvolved klass
   23.11      Change_new_type,            // a newly loaded type
   23.12 @@ -480,6 +480,7 @@
   23.13      Start_Klass = CHANGE_LIMIT  // internal indicator for ContextStream
   23.14    };
   23.15  
   23.16 + private:
   23.17    // each change set is rooted in exactly one new type (at present):
   23.18    KlassHandle _new_type;
   23.19  
   23.20 @@ -510,15 +511,15 @@
   23.21    // }
   23.22    class ContextStream : public StackObj {
   23.23     private:
   23.24 -    DepChange&       _changes;
   23.25 +    DepChange&  _changes;
   23.26      friend class DepChange;
   23.27  
   23.28      // iteration variables:
   23.29 -    ChangeType            _change_type;
   23.30 -    klassOop              _klass;
   23.31 -    objArrayOop           _ti_base;    // i.e., transitive_interfaces
   23.32 -    int                   _ti_index;
   23.33 -    int                   _ti_limit;
   23.34 +    ChangeType  _change_type;
   23.35 +    klassOop    _klass;
   23.36 +    objArrayOop _ti_base;    // i.e., transitive_interfaces
   23.37 +    int         _ti_index;
   23.38 +    int         _ti_limit;
   23.39  
   23.40      // start at the beginning:
   23.41      void start() {
   23.42 @@ -530,11 +531,11 @@
   23.43        _ti_limit = 0;
   23.44      }
   23.45  
   23.46 +   public:
   23.47      ContextStream(DepChange& changes)
   23.48        : _changes(changes)
   23.49      { start(); }
   23.50  
   23.51 -   public:
   23.52      ContextStream(DepChange& changes, No_Safepoint_Verifier& nsv)
   23.53        : _changes(changes)
   23.54        // the nsv argument makes it safe to hold oops like _klass
   23.55 @@ -542,6 +543,7 @@
   23.56  
   23.57      bool next();
   23.58  
   23.59 +    ChangeType change_type()     { return _change_type; }
   23.60      klassOop   klass()           { return _klass; }
   23.61    };
   23.62    friend class DepChange::ContextStream;
    24.1 --- a/src/share/vm/memory/heap.cpp	Mon Dec 14 13:26:29 2009 -0700
    24.2 +++ b/src/share/vm/memory/heap.cpp	Wed Dec 16 12:54:49 2009 -0500
    24.3 @@ -464,7 +464,7 @@
    24.4    }
    24.5  
    24.6    // Verify that freelist contains the right amount of free space
    24.7 -  guarantee(len == _free_segments, "wrong freelist");
    24.8 +  //  guarantee(len == _free_segments, "wrong freelist");
    24.9  
   24.10    // Verify that the number of free blocks is not out of hand.
   24.11    static int free_block_threshold = 10000;
   24.12 @@ -479,5 +479,5 @@
   24.13    for(HeapBlock *h = first_block(); h != NULL; h = next_block(h)) {
   24.14      if (h->free()) count--;
   24.15    }
   24.16 -  guarantee(count == 0, "missing free blocks");
   24.17 +  //  guarantee(count == 0, "missing free blocks");
   24.18  }
    25.1 --- a/src/share/vm/memory/referenceProcessor.cpp	Mon Dec 14 13:26:29 2009 -0700
    25.2 +++ b/src/share/vm/memory/referenceProcessor.cpp	Wed Dec 16 12:54:49 2009 -0500
    25.3 @@ -299,8 +299,8 @@
    25.4  
    25.5  
    25.6  template <class T>
    25.7 -static bool enqueue_discovered_ref_helper(ReferenceProcessor* ref,
    25.8 -                                          AbstractRefProcTaskExecutor* task_executor) {
    25.9 +bool enqueue_discovered_ref_helper(ReferenceProcessor* ref,
   25.10 +                                   AbstractRefProcTaskExecutor* task_executor) {
   25.11  
   25.12    // Remember old value of pending references list
   25.13    T* pending_list_addr = (T*)java_lang_ref_Reference::pending_list_addr();
    26.1 --- a/src/share/vm/oops/instanceRefKlass.cpp	Mon Dec 14 13:26:29 2009 -0700
    26.2 +++ b/src/share/vm/oops/instanceRefKlass.cpp	Wed Dec 16 12:54:49 2009 -0500
    26.3 @@ -78,9 +78,9 @@
    26.4  
    26.5  #ifndef SERIALGC
    26.6  template <class T>
    26.7 -static void specialized_oop_follow_contents(instanceRefKlass* ref,
    26.8 -                                            ParCompactionManager* cm,
    26.9 -                                            oop obj) {
   26.10 +void specialized_oop_follow_contents(instanceRefKlass* ref,
   26.11 +                                     ParCompactionManager* cm,
   26.12 +                                     oop obj) {
   26.13    T* referent_addr = (T*)java_lang_ref_Reference::referent_addr(obj);
   26.14    T heap_oop = oopDesc::load_heap_oop(referent_addr);
   26.15    debug_only(
    27.1 --- a/src/share/vm/oops/oop.hpp	Mon Dec 14 13:26:29 2009 -0700
    27.2 +++ b/src/share/vm/oops/oop.hpp	Wed Dec 16 12:54:49 2009 -0500
    27.3 @@ -30,13 +30,12 @@
    27.4  // no virtual functions allowed
    27.5  
    27.6  // store into oop with store check
    27.7 -template <class T> void oop_store(T* p, oop v);
    27.8 -template <class T> void oop_store(volatile T* p, oop v);
    27.9 +template <class T> inline void oop_store(T* p, oop v);
   27.10 +template <class T> inline void oop_store(volatile T* p, oop v);
   27.11  
   27.12  // store into oop without store check
   27.13 -template <class T> void oop_store_without_check(T* p, oop v);
   27.14 -template <class T> void oop_store_without_check(volatile T* p, oop v);
   27.15 -
   27.16 +template <class T> inline void oop_store_without_check(T* p, oop v);
   27.17 +template <class T> inline void oop_store_without_check(volatile T* p, oop v);
   27.18  
   27.19  extern bool always_do_update_barrier;
   27.20  
    28.1 --- a/src/share/vm/runtime/os.hpp	Mon Dec 14 13:26:29 2009 -0700
    28.2 +++ b/src/share/vm/runtime/os.hpp	Wed Dec 16 12:54:49 2009 -0500
    28.3 @@ -60,24 +60,26 @@
    28.4  typedef void (*java_call_t)(JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread);
    28.5  
    28.6  class os: AllStatic {
    28.7 - private:
    28.8 + public:
    28.9    enum { page_sizes_max = 9 }; // Size of _page_sizes array (8 plus a sentinel)
   28.10  
   28.11 + private:
   28.12    static OSThread*          _starting_thread;
   28.13    static address            _polling_page;
   28.14    static volatile int32_t * _mem_serialize_page;
   28.15    static uintptr_t          _serialize_page_mask;
   28.16 + public:
   28.17    static size_t             _page_sizes[page_sizes_max];
   28.18  
   28.19 + private:
   28.20    static void init_page_sizes(size_t default_page_size) {
   28.21      _page_sizes[0] = default_page_size;
   28.22      _page_sizes[1] = 0; // sentinel
   28.23    }
   28.24  
   28.25   public:
   28.26 -
   28.27 -  static void init(void);                       // Called before command line parsing
   28.28 -  static jint init_2(void);                    // Called after command line parsing
   28.29 +  static void init(void);   // Called before command line parsing
   28.30 +  static jint init_2(void); // Called after command line parsing
   28.31  
   28.32    // File names are case-insensitive on windows only
   28.33    // Override me as needed
   28.34 @@ -141,6 +143,7 @@
   28.35    static int processor_count() {
   28.36      return _processor_count;
   28.37    }
   28.38 +  static void set_processor_count(int count) { _processor_count = count; }
   28.39  
   28.40    // Returns the number of CPUs this process is currently allowed to run on.
   28.41    // Note that on some OSes this can change dynamically.

mercurial