changeset 1910:505c913f22f8

Merge
author trims
date Fri, 10 Dec 2010 17:59:46 -0800
parents 058f494c8b6d f0ef5f5a460f
children 0d4395745860
files make/linux/makefiles/makedeps.make make/solaris/makefiles/makedeps.make make/windows/README make/windows/makefiles/makedeps.make src/os/linux/launcher/java.c src/os/linux/launcher/java.h src/os/linux/launcher/java_md.c src/os/linux/launcher/java_md.h src/os/linux/vm/hpi_linux.cpp src/os/linux/vm/hpi_linux.hpp src/os/solaris/launcher/java.c src/os/solaris/launcher/java.h src/os/solaris/launcher/java_md.c src/os/solaris/launcher/java_md.h src/os/solaris/vm/hpi_solaris.cpp src/os/solaris/vm/hpi_solaris.hpp src/os/windows/vm/hpi_windows.cpp src/os/windows/vm/hpi_windows.hpp src/share/tools/MakeDeps/ArgsParser.java src/share/tools/MakeDeps/BuildConfig.java src/share/tools/MakeDeps/Database.java src/share/tools/MakeDeps/DirectoryTree.java src/share/tools/MakeDeps/DirectoryTreeNode.java src/share/tools/MakeDeps/FileFormatException.java src/share/tools/MakeDeps/FileList.java src/share/tools/MakeDeps/FileName.java src/share/tools/MakeDeps/Macro.java src/share/tools/MakeDeps/MacroDefinitions.java src/share/tools/MakeDeps/MakeDeps.java src/share/tools/MakeDeps/MetroWerksMacPlatform.java src/share/tools/MakeDeps/Platform.java src/share/tools/MakeDeps/UnixPlatform.java src/share/tools/MakeDeps/Util.java src/share/tools/MakeDeps/WinGammaPlatform.java src/share/tools/MakeDeps/WinGammaPlatformVC6.java src/share/tools/MakeDeps/WinGammaPlatformVC7.java src/share/tools/MakeDeps/WinGammaPlatformVC8.java src/share/tools/MakeDeps/WinGammaPlatformVC9.java src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep src/share/vm/gc_implementation/includeDB_gc_g1 src/share/vm/gc_implementation/includeDB_gc_parNew src/share/vm/gc_implementation/includeDB_gc_parallelScavenge src/share/vm/gc_implementation/includeDB_gc_serial src/share/vm/gc_implementation/includeDB_gc_shared src/share/vm/includeDB_compiler1 src/share/vm/includeDB_compiler2 src/share/vm/includeDB_core src/share/vm/includeDB_features src/share/vm/includeDB_gc src/share/vm/includeDB_gc_parallel src/share/vm/includeDB_jvmti src/share/vm/includeDB_shark src/share/vm/includeDB_zero src/share/vm/prims/hpi_imported.h src/share/vm/runtime/hpi.cpp src/share/vm/runtime/hpi.hpp
diffstat 1618 files changed, 31470 insertions(+), 27692 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/os/linux/ps_proc.c	Fri Dec 10 15:46:59 2010 -0800
+++ b/agent/src/os/linux/ps_proc.c	Fri Dec 10 17:59:46 2010 -0800
@@ -121,15 +121,13 @@
 #define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, data, addr)
 #endif
 
-#ifdef _LP64
-#ifdef PTRACE_GETREGS64
+#if defined(_LP64) && defined(PTRACE_GETREGS64)
 #define PTRACE_GETREGS_REQ PTRACE_GETREGS64
+#elif defined(PTRACE_GETREGS)
+#define PTRACE_GETREGS_REQ PTRACE_GETREGS
+#elif defined(PT_GETREGS)
+#define PTRACE_GETREGS_REQ PT_GETREGS
 #endif
-#else
-#if defined(PTRACE_GETREGS) || defined(PT_GETREGS)
-#define PTRACE_GETREGS_REQ PTRACE_GETREGS
-#endif
-#endif /* _LP64 */
 
 #ifdef PTRACE_GETREGS_REQ
  if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) {
--- a/make/defs.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/defs.make	Fri Dec 10 17:59:46 2010 -0800
@@ -101,15 +101,14 @@
 endif
 
 ifdef HOTSPOT_BUILD_VERSION
-# specified in command line (PRT build)
+# specified in command line
 else
-  ifdef JPRT_BUILD_VERSION
-# JPR build
-    HOTSPOT_BUILD_VERSION=$(JPRT_BUILD_VERSION)
+  ifdef COOKED_BUILD_NUMBER
+# JRE build
+    HOTSPOT_BUILD_VERSION=
   else
-    ifdef COOKED_BUILD_NUMBER
-# JRE build
-      HOTSPOT_BUILD_VERSION=
+    ifdef USER_RELEASE_SUFFIX
+      HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
     else
       HOTSPOT_BUILD_VERSION=internal
     endif
--- a/make/jprt.gmk	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/jprt.gmk	Fri Dec 10 17:59:46 2010 -0800
@@ -25,9 +25,6 @@
 # JPRT rule to build this workspace
 
 JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
-ifdef JPRT_BUILD_VERSION
-  MILESTONE=$(JPRT_BUILD_VERSION)
-endif
 
 ifeq ($(OSNAME),windows)
   ZIPFLAGS=-q
--- a/make/linux/makefiles/adlc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/adlc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -42,16 +42,14 @@
 SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \
 	     $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad 
 
-Src_Dirs += $(GAMMADIR)/src/share/vm/adlc
-
 EXEC	= $(OUTDIR)/adlc
 
 # set VPATH so make knows where to look for source files
-Src_Dirs_V = ${Src_Dirs} $(GENERATED)/incls
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
+VPATH += $(Src_Dirs_V:%=%:)
 
 # set INCLUDES for C preprocessor
-Src_Dirs_I = ${Src_Dirs} $(GENERATED)
+Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
 # set flags for adlc compilation
--- a/make/linux/makefiles/amd64.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/amd64.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2010, 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
@@ -22,9 +22,6 @@
 #  
 #
 
-# Not included in includeDB because it has no dependencies
-Obj_Files += linux_x86_64.o
-
 # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
 OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
 # The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
--- a/make/linux/makefiles/buildtree.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/buildtree.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -37,7 +37,7 @@
 # OS_FAMILY	- operating system
 # VARIANT	- core, compiler1, compiler2, or tiered
 # HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
-# HOTSPOT_BUILD_VERSION   - internal, PRTjob ID, JPRTjob ID
+# HOTSPOT_BUILD_VERSION   - internal, internal-$(USER_RELEASE_SUFFIX) or empty
 # JRE_RELEASE_VERSION     - <major>.<minor>.<micro> (1.7.0)
 #
 # Builds the directory trees with makefiles plus some convenience files in
@@ -113,7 +113,7 @@
 COMPILER	= $(shell sed -n 's/^compiler[ 	]*=[ 	]*//p' $(PLATFORM_FILE))
 
 SIMPLE_DIRS	= \
-	$(PLATFORM_DIR)/generated/incls \
+	$(PLATFORM_DIR)/generated/dependencies \
 	$(PLATFORM_DIR)/generated/adfiles \
 	$(PLATFORM_DIR)/generated/jvmtifiles
 
@@ -197,11 +197,27 @@
 	echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
 	echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
 	echo; \
-	echo "Src_Dirs = \\"; \
+	echo "# Used for platform dispatching"; \
+	echo "TARGET_DEFINES  = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
+	echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
+	echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
+	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
+	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
+	echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
+	echo "CFLAGS += \$$(TARGET_DEFINES)"; \
+	echo; \
+	echo "Src_Dirs_V = \\"; \
 	sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
 	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
 	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
 	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo; \
+	echo "Src_Dirs_I = \\"; \
+	echo "\$$(GAMMADIR)/src/share/vm \\"; \
+	echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \
+	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
+	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
+	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
 	[ -n "$(CFLAGS_BROWSE)" ] && \
 	    echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
 	[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
--- a/make/linux/makefiles/core.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/core.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -24,8 +24,7 @@
 
 # Sets make macros for making core version of VM
 
-# Note the effect on includeDB lists in top.make:
-# includeDB_compiler* and ad_<arch>.*pp are excluded from the build,
+# Select which files to use (in top.make)
 TYPE=CORE
 
 # There is no "core" directory in JDK. Install core build in server directory.
--- a/make/linux/makefiles/gcc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/gcc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -42,9 +42,13 @@
 
 # check for precompiled headers support
 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
+# Allow the user to turn off precompiled headers from the command line.
+ifneq ($(USE_PRECOMPILED_HEADER),0)
 USE_PRECOMPILED_HEADER=1
 PRECOMPILED_HEADER_DIR=.
-PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch
+PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp
+PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
+endif
 endif
 
 
@@ -144,6 +148,16 @@
 OPT_CFLAGS/mulnode.o += -O0
 endif
 
+# Flags for generating make dependency flags.
+ifneq ("${CC_VER_MAJOR}", "2")
+DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
+endif
+
+# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
+ifneq ($(USE_PRECOMPILED_HEADER),1)
+CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
+endif
+
 #------------------------------------------------------------------------
 # Linker flags
 
--- a/make/linux/makefiles/i486.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/i486.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -23,8 +23,6 @@
 #
 
 # TLS helper, assembled from .s file
-# Not included in includeDB because it has no dependencies
-Obj_Files += linux_x86_32.o
 
 # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
 OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
--- a/make/linux/makefiles/jvmti.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/jvmti.make	Fri Dec 10 17:59:46 2010 -0800
@@ -37,11 +37,10 @@
 
 JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims
 InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter
-Src_Dirs += $(JvmtiSrcDir)
 
 # set VPATH so make knows where to look for source files
-Src_Dirs_V = ${Src_Dirs}
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(JvmtiSrcDir)
+VPATH += $(Src_Dirs_V:%=%:)
 
 JvmtiGeneratedNames = \
         jvmtiEnv.hpp \
--- a/make/linux/makefiles/launcher.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/launcher.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -24,19 +24,23 @@
 
 # Rules to build gamma launcher, used by vm.make
 
-# gamma[_g]: launcher
 
+LAUNCHER_SCRIPT = hotspot
 LAUNCHER   = gamma
-LAUNCHER_G = $(LAUNCHER)$(G_SUFFIX)
 
-LAUNCHERDIR   = $(GAMMADIR)/src/os/$(Platform_os_family)/launcher
-LAUNCHERFLAGS = $(ARCHFLAG) \
+LAUNCHERDIR   := $(GAMMADIR)/src/os/posix/launcher
+LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
+LAUNCHERFLAGS := $(ARCHFLAG) \
                 -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \
+                -I$(LAUNCHERDIR_SHARE) \
                 -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
+                -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
+                -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
                 -DARCH=\"$(LIBARCH)\" \
                 -DGAMMA \
                 -DLAUNCHER_TYPE=\"gamma\" \
-                -DLINK_INTO_$(LINK_INTO)
+                -DLINK_INTO_$(LINK_INTO) \
+                $(TARGET_DEFINES)
 
 ifeq ($(LINK_INTO),AOUT)
   LAUNCHER.o                 = launcher.o $(JVM_OBJ_FILES)
@@ -55,22 +59,35 @@
 LINK_LAUNCHER/PRE_HOOK  = $(LINK_LIB.CC/PRE_HOOK)
 LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
 
-launcher.o: launcher.c $(LAUNCHERDIR)/java.c $(LAUNCHERDIR)/java_md.c
-	$(CC) -g -c -o $@ launcher.c $(LAUNCHERFLAGS) $(CPPFLAGS)
+LAUNCHER_OUT = launcher
 
-launcher.c:
-	@echo Generating $@
-	$(QUIETLY) { \
-	echo '#define debug launcher_debug'; \
-	echo '#include "java.c"'; \
-	echo '#include "java_md.c"'; \
-	} > $@
+SUFFIXES += .d
 
-$(LAUNCHER): $(LAUNCHER.o) $(LIBJVM) $(LAUNCHER_MAPFILE)
-	$(QUIETLY) { \
-	    echo Linking launcher...; \
-	    $(LINK_LAUNCHER/PRE_HOOK) \
-	    $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER); \
-	    $(LINK_LAUNCHER/POST_HOOK) \
-	    [ -f $(LAUNCHER_G) ] || { ln -s $@ $(LAUNCHER_G); }; \
-        }
+SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
+SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
+
+OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
+
+DEPFILES := $(patsubst %.o,%.d,$(OBJS))
+-include $(DEPFILES)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
+	$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+	$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
+	$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+	$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
+
+$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
+	$(QUIETLY) echo Linking launcher...
+	$(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
+	$(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
+	$(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+
+$(LAUNCHER): $(LAUNCHER_SCRIPT)
+
+$(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script
+	$(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
+	$(QUIETLY) chmod +x $@
+
--- a/make/linux/makefiles/makedeps.make	Fri Dec 10 15:46:59 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# Copyright (c) 2000, 2008, 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.
-#  
-#
-
-include $(GAMMADIR)/make/linux/makefiles/rules.make
-
-COMPILE.JAVAC.FLAGS += -d $(OUTDIR)
-
-MakeDepsSources=\
-	$(GAMMADIR)/src/share/tools/MakeDeps/Database.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/DirectoryTree.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/DirectoryTreeNode.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileFormatException.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileList.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileName.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/Macro.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MacroDefinitions.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MakeDeps.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MetroWerksMacPlatform.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/Platform.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/UnixPlatform.java        
-
-MakeDepsOptions=
--- a/make/linux/makefiles/rules.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/rules.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2010, 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
@@ -151,20 +151,20 @@
 %.o: %.cpp
 	@echo Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
-	$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
+	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
 	@echo Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
-	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \
-	   $(COMPILE.CC) -o $@ $< $(COMPILE_DONE))
+	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
+	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
 endif
 
 %.o: %.s
 	@echo Assembling $<
 	$(QUIETLY) $(REMOVE_TARGET)
-	$(QUIETLY) $(AS.S) -o $@ $< $(COMPILE_DONE)
+	$(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 
 %.s: %.cpp
 	@echo Generating assembly for $<
--- a/make/linux/makefiles/saproc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/saproc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -55,10 +55,12 @@
 # if $(AGENT_DIR) does not exist, we don't build SA
 # also, we don't build SA on Itanium, PPC, ARM or zero.
 
-checkAndBuildSA:
-	$(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" -a "$(SRCARCH)" != "arm" -a "$(SRCARCH)" != "ppc" -a "$(SRCARCH)" != "zero" ] ; then \
-	   $(MAKE) -f vm.make $(LIBSAPROC); \
-	fi
+ifneq ($(wildcard $(AGENT_DIR)),)
+ifneq ($(filter-out ia64 arm ppc zero,$(SRCARCH)),)
+  BUILDLIBSAPROC = $(LIBSAPROC)
+endif
+endif
+
 
 SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
 
@@ -81,10 +83,10 @@
 	           -lthread_db
 	$(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
 
-install_saproc: checkAndBuildSA
+install_saproc: $(BUILDLIBSAPROC)
 	$(QUIETLY) if [ -e $(LIBSAPROC) ] ; then             \
 	  echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)";     \
 	  cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done";  \
 	fi
 
-.PHONY: checkAndBuildSA install_saproc
+.PHONY: install_saproc
--- a/make/linux/makefiles/sparc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/sparc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -22,6 +22,3 @@
 #  
 #
 
-# Not included in includeDB because it has no dependencies
-Obj_Files += linux_sparc.o
-
--- a/make/linux/makefiles/sparcWorks.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/sparcWorks.make	Fri Dec 10 17:59:46 2010 -0800
@@ -74,6 +74,14 @@
 OPT_CFLAGS+=-xO4
 OPT_CFLAGS/NOOPT=-xO0
 
+# Flags for creating the dependency files.
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
+DEPFLAGS = -xMMD -xMF $(DEP_DIR)/$(@:%=%.d)
+endif
+
+# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
+CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
+
 #------------------------------------------------------------------------
 # Linker flags
 
--- a/make/linux/makefiles/sparcv9.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/sparcv9.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -21,10 +21,6 @@
 # questions.
 #  
 
-#
-# Not included in includeDB because it has no dependencies
-Obj_Files += linux_sparc.o
-
 # gcc 4.0 miscompiles this code in -m64
 OPT_CFLAGS/macro.o = -O0
 
--- a/make/linux/makefiles/top.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/top.make	Fri Dec 10 17:59:46 2010 -0800
@@ -31,7 +31,7 @@
 #   -generate sa-jdi.jar (JDI binding to core files)
 
 # It assumes the following flags are set:
-# CFLAGS Platform_file, Src_Dirs, SYSDEFS, AOUT, Obj_Files
+# CFLAGS Platform_file, Src_Dirs_I, Src_Dirs_V, SYSDEFS, AOUT, Obj_Files
 
 # -- D. Ungar (5/97) from a file by Bill Bush
 
@@ -45,10 +45,6 @@
 Plat_File   = $(Platform_file)
 CDG         = cd $(GENERATED); 
 
-# Pick up MakeDeps' sources and definitions
-include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/makedeps.make
-MakeDepsClass = MakeDeps.class
-
 ifdef USE_PRECOMPILED_HEADER
 PrecompiledOption = -DUSE_PRECOMPILED_HEADER
 UpdatePCH         = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 
@@ -57,33 +53,7 @@
 PrecompiledOption = 
 endif
 
-MakeDeps    = $(RUN.JAVA) $(PrecompiledOption) -classpath $(GENERATED) MakeDeps
-
-Include_DBs/GC          = $(VM)/includeDB_gc \
-                          $(VM)/includeDB_gc_parallel \
-                          $(VM)/gc_implementation/includeDB_gc_parallelScavenge \
-                          $(VM)/gc_implementation/includeDB_gc_concurrentMarkSweep \
-                          $(VM)/gc_implementation/includeDB_gc_parNew \
-                          $(VM)/gc_implementation/includeDB_gc_g1     \
-                          $(VM)/gc_implementation/includeDB_gc_serial \
-                          $(VM)/gc_implementation/includeDB_gc_shared
-
-Include_DBs/CORE        = $(VM)/includeDB_core   $(Include_DBs/GC) \
-                          $(VM)/includeDB_jvmti \
-                          $(VM)/includeDB_features
-Include_DBs/COMPILER1   = $(Include_DBs/CORE) $(VM)/includeDB_compiler1
-Include_DBs/COMPILER2   = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
-Include_DBs/TIERED      = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2
-Include_DBs/ZERO        = $(Include_DBs/CORE) $(VM)/includeDB_zero
-Include_DBs/SHARK       = $(Include_DBs/ZERO) $(VM)/includeDB_shark
-Include_DBs = $(Include_DBs/$(TYPE))
-
 Cached_plat = $(GENERATED)/platform.current
-Cached_db   = $(GENERATED)/includeDB.current
-
-Incremental_Lists = $(Cached_db)
-# list generation also creates $(GENERATED)/$(Cached_plat)
-
 
 AD_Dir   = $(GENERATED)/adfiles
 ADLC     = $(AD_Dir)/adlc
@@ -102,7 +72,7 @@
 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"`
 
 
-# default target: make makeDeps, update lists, make vm
+# default target: update lists, make vm
 # done in stages to force sequential order with parallel make
 #
 
@@ -110,39 +80,18 @@
 	@echo All done.
 
 # This is an explicit dependency for the sake of parallel makes.
-vm_build_preliminaries:  checks $(Incremental_Lists) $(AD_Files_If_Required) jvmti_stuff sa_stuff
+vm_build_preliminaries:  checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff
 	@# We need a null action here, so implicit rules don't get consulted.
 
-# make makeDeps: (and zap the cached db files to force a nonincremental run)
-
-$(GENERATED)/$(MakeDepsClass): $(MakeDepsSources)
-	@$(REMOTE) $(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources)
-	@echo Removing $(Incremental_Lists) to force regeneration.
-	@rm -f $(Incremental_Lists)
-	@$(CDG) echo >$(Cached_plat)
-
-# make incremental_lists, if cached files out of date, run makeDeps
-
-$(Incremental_Lists): $(Include_DBs) $(Plat_File) $(GENERATED)/$(MakeDepsClass)
-	$(CDG) cat $(Include_DBs) > $(GENERATED)/includeDB
-	$(CDG) if [ ! -r incls ] ; then \
-	mkdir incls ; \
-	fi
-	$(CDG) (echo $(CDG) echo $(MakeDeps) diffs UnixPlatform $(Cached_plat) $(Cached_db) $(Plat_File) $(GENERATED)/includeDB $(MakeDepsOptions)) > makeDeps.sh
-	$(CDG) $(REMOTE) sh $(GENERATED)/makeDeps.sh
-	$(CDG) cp includeDB    $(Cached_db)
+$(Cached_plat): $(Plat_File)
 	$(CDG) cp $(Plat_File) $(Cached_plat)
 
-# symbolic target for command lines
-lists: $(Incremental_Lists)
-	@: lists are now up to date
-
 # make AD files as necessary
-ad_stuff: $(Incremental_Lists) $(adjust-mflags)
+ad_stuff: $(Cached_plat) $(adjust-mflags)
 	@$(MAKE) -f adlc.make $(MFLAGS-adjusted)
 
 # generate JVMTI files from the spec
-jvmti_stuff: $(Incremental_Lists) $(adjust-mflags)
+jvmti_stuff: $(Cached_plat) $(adjust-mflags)
 	@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
 
 # generate SA jar files and native header
@@ -169,7 +118,7 @@
 install: the_vm
 	@$(MAKE) -f vm.make install
 
-# next rules support "make foo.[oi]"
+# next rules support "make foo.[ois]"
 
 %.o %.i %.s:
 	$(UpdatePCH) 
@@ -179,7 +128,6 @@
 # this should force everything to be rebuilt
 clean: 
 	rm -f $(GENERATED)/*.class
-	$(MAKE) $(MFLAGS) $(GENERATED)/$(MakeDepsClass)
 	$(MAKE) -f vm.make $(MFLAGS) clean
 
 # just in case it doesn't, this should do it
--- a/make/linux/makefiles/vm.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/vm.make	Fri Dec 10 17:59:46 2010 -0800
@@ -35,9 +35,10 @@
 # Defs
 
 GENERATED     = ../generated
+DEP_DIR       = $(GENERATED)/dependencies
 
-# read a generated file defining the set of .o's and the .o .h dependencies
-include $(GENERATED)/Dependencies
+# reads the generated files defining the set of .o's and the .o .h dependencies
+-include $(DEP_DIR)/*.d
 
 # read machine-specific adjustments (%%% should do this via buildtree.make?)
 ifeq ($(ZERO_BUILD), true)
@@ -47,16 +48,16 @@
 endif
 
 # set VPATH so make knows where to look for source files
-# Src_Dirs is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
-# The incls directory contains generated header file lists for inclusion.
+# Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
 # The adfiles directory contains ad_<arch>.[ch]pp.
 # The jvmtifiles directory contains jvmti*.[ch]pp
-Src_Dirs_V = $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED)/incls
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles
+VPATH += $(Src_Dirs_V:%=%:)
 
-# set INCLUDES for C preprocessor
-Src_Dirs_I = $(PRECOMPILED_HEADER_DIR) $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED)
-INCLUDES += $(Src_Dirs_I:%=-I%)
+# set INCLUDES for C preprocessor.
+Src_Dirs_I += $(GENERATED)
+# The order is important for the precompiled headers to work.
+INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%)
 
 ifeq (${VERSION}, debug)
   SYMFLAG = -g
@@ -118,6 +119,62 @@
 LIBJVM   = lib$(JVM).so
 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 
+CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \))
+CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm
+CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm
+CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm
+CORE_PATHS += $(GENERATED)/jvmtifiles
+
+COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1
+
+COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto
+COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt
+COMPILER2_PATHS +=  $(GENERATED)/adfiles
+
+# Include dirs per type.
+Src_Dirs/CORE      := $(CORE_PATHS)
+Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS)
+Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS)
+Src_Dirs/TIERED    := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
+Src_Dirs/ZERO      := $(CORE_PATHS)
+Src_Dirs/SHARK     := $(CORE_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
+
+# Always exclude these.
+Src_Files_EXCLUDE := jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
+
+# Exclude per type.
+Src_Files_EXCLUDE/CORE      := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
+Src_Files_EXCLUDE/COMPILER1 := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
+Src_Files_EXCLUDE/COMPILER2 := $(COMPILER1_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
+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 +=  $(Src_Files_EXCLUDE/$(TYPE))
+
+# Special handling of arch model.
+ifeq ($(Platform_arch_model), x86_32)
+Src_Files_EXCLUDE += \*x86_64\*
+endif
+ifeq ($(Platform_arch_model), x86_64)
+Src_Files_EXCLUDE += \*x86_32\*
+endif
+
+# Locate all source files in the given directory, excluding files in Src_Files_EXCLUDE.
+define findsrc
+	$(notdir $(shell find $(1) \( -name \*.c -o -name \*.cpp -o -name \*.s \) -a \! \( -name DUMMY $(addprefix -o -name ,$(Src_Files_EXCLUDE)) \) ))
+endef
+
+Src_Files := $(foreach e,$(Src_Dirs),$(call findsrc,$(e)))
+
+Obj_Files = $(sort $(addsuffix .o,$(basename $(Src_Files))))
+
 JVM_OBJ_FILES = $(Obj_Files)
 
 vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
@@ -180,10 +237,10 @@
 LINK_VM = $(LINK_LIB.c)
 
 # rule for building precompiled header
-$(PRECOMPILED_HEADER): $(Precompiled_Files)
+$(PRECOMPILED_HEADER):
 	$(QUIETLY) echo Generating precompiled header $@
-	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)/incls
-	$(QUIETLY) $(COMPILE.CC) -x c++-header -c $(GENERATED)/incls/_precompiled.incl -o $@ $(COMPILE_DONE)
+	$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
+	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
 
 # making the library:
 
@@ -252,7 +309,7 @@
 
 #----------------------------------------------------------------------
 
-build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) checkAndBuildSA
+build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
 
 install: install_jvm install_jsig install_saproc
 
--- a/make/linux/makefiles/zero.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/linux/makefiles/zero.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
 # Copyright 2009 Red Hat, Inc.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -25,7 +25,7 @@
 
 # Setup for Zero (non-Shark) version of VM
 
-# Select which includeDB files to use (in top.make)
+# Select which files to use (in top.make)
 TYPE = ZERO
 
 # Install libjvm.so, etc in in server directory.
--- a/make/solaris/makefiles/adlc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/adlc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2010, 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
@@ -42,16 +42,14 @@
 SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \
 	     $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad 
 
-Src_Dirs += $(GAMMADIR)/src/share/vm/adlc
-
 EXEC	= $(OUTDIR)/adlc
 
 # set VPATH so make knows where to look for source files
-Src_Dirs_V = ${Src_Dirs} $(GENERATED)/incls
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(GAMMADIR)/src/share/vm/adlc
+VPATH += $(Src_Dirs_V:%=%:)
 
 # set INCLUDES for C preprocessor
-Src_Dirs_I = ${Src_Dirs} $(GENERATED)
+Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
 # set flags for adlc compilation
--- a/make/solaris/makefiles/amd64.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/amd64.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2010, 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
@@ -25,9 +25,6 @@
 # Must also specify if CPU is little endian
 CFLAGS += -DVM_LITTLE_ENDIAN
 
-# Not included in includeDB because it has no dependencies
-Obj_Files += solaris_x86_64.o
-
 #
 # Special case flags for compilers and compiler versions on amd64.
 #
--- a/make/solaris/makefiles/buildtree.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/buildtree.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2010, 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
@@ -37,7 +37,7 @@
 # OS_FAMILY	- operating system
 # VARIANT	- core, compiler1, compiler2, or tiered
 # HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
-# HOTSPOT_BUILD_VERSION   - internal, PRTjob ID, JPRTjob ID
+# HOTSPOT_BUILD_VERSION   - internal, internal-$(USER_RELEASE_SUFFIX) or empty
 # JRE_RELEASE_VERSION     - <major>.<minor>.<micro> (1.7.0)
 #
 # Builds the directory trees with makefiles plus some convenience files in
@@ -106,7 +106,7 @@
 COMPILER	= $(shell sed -n 's/^compiler[ 	]*=[ 	]*//p' $(PLATFORM_FILE))
 
 SIMPLE_DIRS	= \
-	$(PLATFORM_DIR)/generated/incls \
+	$(PLATFORM_DIR)/generated/dependencies \
 	$(PLATFORM_DIR)/generated/adfiles \
 	$(PLATFORM_DIR)/generated/jvmtifiles
 
@@ -191,11 +191,27 @@
 	echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
 	echo "$(LP64_SETTING/$(DATA_MODE))"; \
 	echo; \
-	echo "Src_Dirs = \\"; \
+	echo "# Used for platform dispatching"; \
+	echo "TARGET_DEFINES  = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
+	echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
+	echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
+	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
+	echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
+	echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
+	echo "CFLAGS += \$$(TARGET_DEFINES)"; \
+	echo; \
+	echo "Src_Dirs_V = \\"; \
 	sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
 	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
 	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
 	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo; \
+	echo "Src_Dirs_I = \\"; \
+	echo "\$$(GAMMADIR)/src/share/vm \\"; \
+	echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \
+	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
+	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
+	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
 	[ -n "$(CFLAGS_BROWSE)" ] && \
 	    echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
 	[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
--- a/make/solaris/makefiles/core.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/core.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -24,8 +24,7 @@
 
 # Sets make macros for making core version of VM
 
-# Note the effect on includeDB lists in top.make:
-# includeDB_compiler* and ad_<arch>.*pp are excluded from the build,
+# Select which files to use (in top.make)
 TYPE=CORE
 
 # There is no "core" directory in JDK. Install core build in server directory.
--- a/make/solaris/makefiles/dtrace.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/dtrace.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -63,8 +63,6 @@
 
 # making libjvm_db
 
-INCLS = $(GENERATED)/incls
-
 # Use mapfile with libjvm_db.so
 LIBJVM_DB_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jvm_db
 LFLAGS_JVM_DB += $(MAPFLAG:FILENAME=$(LIBJVM_DB_MAPFILE))
@@ -114,7 +112,7 @@
 endif
 
 lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
-                  $(INCLS)/_vmStructs.cpp.incl $(LIBJVM.o)
+                  $(LIBJVM.o)
 	$(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
 		 $(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
 
@@ -161,6 +159,27 @@
              $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
 	$(QUIETLY) cat $^ > $@
 
+DTraced_Files = ciEnv.o \
+                classLoadingService.o \
+                compileBroker.o \
+                hashtable.o \
+                instanceKlass.o \
+                java.o \
+                jni.o \
+                jvm.o \
+                memoryManager.o \
+                nmethod.o \
+                objectMonitor.o \
+                runtimeService.o \
+                sharedRuntime.o \
+                synchronizer.o \
+                thread.o \
+                unsafe.o \
+                vmThread.o \
+                vmCMSOperations.o \
+                vmPSOperations.o \
+                vmGCOperations.o \
+
 # Dtrace is available, so we build $(DTRACE.o)  
 $(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
 	@echo Compiling $(DTRACE).d
--- a/make/solaris/makefiles/gcc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/gcc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -47,9 +47,13 @@
 
 # check for precompiled headers support
 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
+# Allow the user to turn off precompiled headers from the command line.
+ifneq ($(USE_PRECOMPILED_HEADER),0)
 USE_PRECOMPILED_HEADER=1
 PRECOMPILED_HEADER_DIR=.
-PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/incls/_precompiled.incl.gch
+PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp
+PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
+endif
 endif
 
 
@@ -131,6 +135,17 @@
 endif
 
 OPT_CFLAGS/NOOPT=-O0
+
+# Flags for generating make dependency flags.
+ifneq ("${CC_VER_MAJOR}", "2")
+DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
+endif
+
+# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
+ifneq ($(USE_PRECOMPILED_HEADER),1)
+CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
+endif
+
 #------------------------------------------------------------------------
 # Linker flags
 
--- a/make/solaris/makefiles/i486.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/i486.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -26,8 +26,6 @@
 CFLAGS += -DVM_LITTLE_ENDIAN
 
 # TLS helper, assembled from .s file
-# Not included in includeDB because it has no dependencies
-Obj_Files += solaris_x86_32.o
 
 #
 # Special case flags for compilers and compiler versions on i486.
--- a/make/solaris/makefiles/jvmti.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/jvmti.make	Fri Dec 10 17:59:46 2010 -0800
@@ -36,11 +36,10 @@
 
 JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims
 InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter
-Src_Dirs += $(JvmtiSrcDir)
 
 # set VPATH so make knows where to look for source files
-Src_Dirs_V = ${Src_Dirs}
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(JvmtiSrcDir)
+VPATH += $(Src_Dirs_V:%=%:)
 
 JvmtiGeneratedNames = \
         jvmtiEnv.hpp \
--- a/make/solaris/makefiles/launcher.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/launcher.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -24,18 +24,22 @@
 
 # Rules to build gamma launcher, used by vm.make
 
-# gamma[_g]: launcher
+LAUNCHER_SCRIPT = hotspot
 LAUNCHER   = gamma
-LAUNCHER_G = $(LAUNCHER)$(G_SUFFIX)
 
-LAUNCHERDIR   = $(GAMMADIR)/src/os/$(Platform_os_family)/launcher
+LAUNCHERDIR   = $(GAMMADIR)/src/os/posix/launcher
+LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
 LAUNCHERFLAGS = $(ARCHFLAG) \
                 -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \
+                -I$(LAUNCHERDIR_SHARE) \
                 -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
+                -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
+                -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
                 -DARCH=\"$(LIBARCH)\" \
                 -DGAMMA \
                 -DLAUNCHER_TYPE=\"gamma\" \
-                -DLINK_INTO_$(LINK_INTO)
+                -DLINK_INTO_$(LINK_INTO) \
+                $(TARGET_DEFINES)
 
 ifeq ($(LINK_INTO),AOUT)
   LAUNCHER.o                 = launcher.o $(JVM_OBJ_FILES)
@@ -68,24 +72,37 @@
 #LAUNCHERFLAGS += -W0,-noglobal
 endif # Platform_compiler == sparcWorks
 
-launcher.o: launcher.c $(LAUNCHERDIR)/java.c $(LAUNCHERDIR)/java_md.c
-	$(CC) -g -c -o $@ launcher.c $(LAUNCHERFLAGS) $(CPPFLAGS)
+LAUNCHER_OUT = launcher
 
-launcher.c:
-	@echo Generating $@
-	$(QUIETLY) { \
-	echo '#define debug launcher_debug'; \
-	echo '#include "java.c"'; \
-	echo '#include "java_md.c"'; \
-	} > $@
+SUFFIXES += .d
 
-$(LAUNCHER): $(LAUNCHER.o) $(LIBJVM) $(LAUNCHER_MAPFILE)
+SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
+SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
+
+OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
+
+DEPFILES := $(patsubst %.o,%.d,$(OBJS))
+-include $(DEPFILES)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
+	$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+	$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
+	$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+	$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
+
+$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
-	@echo Linking launcher...
+	$(QUIETLY) echo Linking launcher...
 	$(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
-	$(QUIETLY) \
-	$(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER)
+	$(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(OBJS) $(LIBS_LAUNCHER)
 	$(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
-	[ -f $(LAUNCHER_G) ] || ln -s $@ $(LAUNCHER_G)
 endif # filter -sbfast -xsbfast
 
+$(LAUNCHER): $(LAUNCHER_SCRIPT)
+
+$(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script
+	$(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
+	$(QUIETLY) chmod +x $@
+
--- a/make/solaris/makefiles/makedeps.make	Fri Dec 10 15:46:59 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#
-# Copyright (c) 1999, 2008, 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.
-#  
-#
-
-include $(GAMMADIR)/make/solaris/makefiles/rules.make
-
-COMPILE.JAVAC.FLAGS += -d $(OUTDIR)
-
-MakeDepsSources=\
-	$(GAMMADIR)/src/share/tools/MakeDeps/Database.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/DirectoryTree.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/DirectoryTreeNode.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileFormatException.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileList.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/FileName.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/Macro.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MacroDefinitions.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MakeDeps.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/MetroWerksMacPlatform.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/Platform.java \
-	$(GAMMADIR)/src/share/tools/MakeDeps/UnixPlatform.java
-
-MakeDepsOptions=
--- a/make/solaris/makefiles/rules.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/rules.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2010, 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
@@ -151,14 +151,14 @@
 %.o: %.cpp
 	@echo Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
-	$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
+	$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
 else
 %.o: %.cpp
 	@echo Compiling $<
 	$(QUIETLY) $(REMOVE_TARGET)
 	$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
-         $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \
-         $(COMPILE.CC) -o $@ $< $(COMPILE_DONE))
+	   $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
+	   $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
 endif
 
 %.o: %.s
--- a/make/solaris/makefiles/saproc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/saproc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -44,10 +44,9 @@
 
 # if $(AGENT_DIR) does not exist, we don't build SA
 
-checkAndBuildSA:
-	$(QUIETLY) if [ -d $(AGENT_DIR) ] ; then \
-	   $(MAKE) -f vm.make $(LIBSAPROC); \
-	fi
+ifneq ($(wildcard $(AGENT_DIR)),)
+  BUILDLIBSAPROC = $(LIBSAPROC)
+endif
 
 SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE))
 
@@ -75,10 +74,10 @@
 	           -ldl -ldemangle -lthread -lc
 	[ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
 
-install_saproc: checkAndBuildSA
+install_saproc: $(BULDLIBSAPROC)
 	$(QUIETLY) if [ -f $(LIBSAPROC) ] ; then             \
 	  echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)";     \
 	  cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done";  \
 	fi
 
-.PHONY: checkAndBuildSA install_saproc
+.PHONY: install_saproc
--- a/make/solaris/makefiles/sparcWorks.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/sparcWorks.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -145,7 +145,15 @@
 OPT_CFLAGS/O2=-xO2
 OPT_CFLAGS/NOOPT=-xO1
 
-#################################################
+# Flags for creating the dependency files.
+ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
+DEPFLAGS = -xMMD -xMF $(DEP_DIR)/$(@:%=%.d)
+endif
+
+# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
+CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
+
+################################################
 # Begin current (>=5.9) Forte compiler options #
 #################################################
 
--- a/make/solaris/makefiles/sparcv9.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/sparcv9.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -22,7 +22,6 @@
 #  
 #
 
-Obj_Files += solaris_sparc.o
 ASFLAGS += $(AS_ARCHFLAG)
 
 ifeq ("${Platform_compiler}", "sparcWorks")
--- a/make/solaris/makefiles/top.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/top.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -31,7 +31,7 @@
 #   -generate sa-jdi.jar (JDI binding to core files)
 
 # It assumes the following flags are set:
-# CFLAGS Platform_file, Src_Dirs, SYSDEFS, AOUT, Jvm_Obj_Files
+# CFLAGS Platform_file, Src_Dirs_I, Src_Dirs_V, SYSDEFS, AOUT, Jvm_Obj_Files
 
 # -- D. Ungar (5/97) from a file by Bill Bush
 
@@ -44,42 +44,7 @@
 Plat_File   = $(Platform_file)
 CDG         = cd $(GENERATED); 
 
-# Pick up MakeDeps' sources and definitions
-include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/makedeps.make
-MakeDepsClass = MakeDeps.class
-MakeDeps    = $(RUN.JAVA) -classpath . MakeDeps
-
-Include_DBs/GC     = $(VM)/includeDB_gc \
-                     $(VM)/includeDB_gc_parallel \
-                     $(VM)/gc_implementation/includeDB_gc_parallelScavenge \
-                     $(VM)/gc_implementation/includeDB_gc_concurrentMarkSweep \
-                     $(VM)/gc_implementation/includeDB_gc_parNew \
-                     $(VM)/gc_implementation/includeDB_gc_g1 \
-                     $(VM)/gc_implementation/includeDB_gc_serial \
-                     $(VM)/gc_implementation/includeDB_gc_shared
-
-
-Include_DBs/KERNEL      = $(VM)/includeDB_core $(VM)/includeDB_gc \
-                          $(VM)/gc_implementation/includeDB_gc_serial \
-                          $(VM)/includeDB_jvmti \
-                          $(VM)/includeDB_compiler1
-
-Include_DBs/CORE        = $(VM)/includeDB_core   $(Include_DBs/GC) \
-                          $(VM)/includeDB_jvmti \
-                          $(VM)/includeDB_features
-Include_DBs/COMPILER1   = $(Include_DBs/CORE) $(VM)/includeDB_compiler1
-Include_DBs/COMPILER2   = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
-Include_DBs/TIERED      = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 \
-                          $(VM)/includeDB_compiler2
-
-Include_DBs = $(Include_DBs/$(TYPE))
-
-Cached_plat = platform.current
-Cached_db   = includeDB.current
-
-Incremental_Lists =$(GENERATED)/$(Cached_db)
-# list generation also creates $(GENERATED)/$(Cached_plat)
-
+Cached_plat = $(GENERATED)/platform.current
 
 AD_Dir   = $(GENERATED)/adfiles
 ADLC     = $(AD_Dir)/adlc
@@ -98,7 +63,7 @@
 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"`
 
 
-# default target: make makeDeps, update lists, make vm
+# default target: update lists, make vm
 # done in stages to force sequential order with parallel make
 #
 
@@ -106,38 +71,18 @@
 	@echo All done.
 
 # This is an explicit dependency for the sake of parallel makes.
-vm_build_preliminaries:  checks $(Incremental_Lists) $(AD_Files_If_Required) jvmti_stuff sa_stuff
+vm_build_preliminaries:  checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff
 	@# We need a null action here, so implicit rules don't get consulted.
 
-# make makeDeps: (and zap the cached db files to force a nonincremental run)
-
-$(GENERATED)/$(MakeDepsClass): $(MakeDepsSources)
-	@$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources)
-	@echo Removing $(Incremental_Lists) to force regeneration.
-	@rm -f $(Incremental_Lists)
-	@$(CDG) echo >$(Cached_plat)
-
-# make incremental_lists, if cached files out of date, run makeDeps
-
-$(Incremental_Lists):  $(Include_DBs) $(Plat_File) $(GENERATED)/$(MakeDepsClass)
-	$(CDG)  cat $(Include_DBs) > includeDB
-	$(CDG) if [ ! -r incls ] ; then \
-	mkdir incls ; \
-	fi
-	$(CDG)  $(MakeDeps) diffs UnixPlatform $(Cached_plat) $(Cached_db) $(Plat_File) includeDB $(MakeDepsOptions)
-	$(CDG)  cp includeDB    $(Cached_db)
-	$(CDG)  cp $(Plat_File) $(Cached_plat)
-
-# symbolic target for command lines
-lists: $(Incremental_Lists)
-	@: lists are now up to date
+$(Cached_plat): $(Plat_File)
+	$(CDG) cp $(Plat_File) $(Cached_plat)
 
 # make AD files as necessary
-ad_stuff: $(Incremental_Lists) $(adjust-mflags)
+ad_stuff: $(Cached_plat) $(adjust-mflags)
 	@$(MAKE) -f adlc.make $(MFLAGS-adjusted)
 
 # generate JVMTI files from the spec
-jvmti_stuff: $(Incremental_Lists) $(adjust-mflags)
+jvmti_stuff: $(Cached_plat) $(adjust-mflags)
 	@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
 
 # generate SA jar files and native header
@@ -172,7 +117,6 @@
 # this should force everything to be rebuilt
 clean: 
 	rm -f $(GENERATED)/*.class
-	$(MAKE) $(MFLAGS) $(GENERATED)/$(MakeDepsClass)
 	$(MAKE) -f vm.make $(MFLAGS) clean
 
 # just in case it doesn't, this should do it
--- a/make/solaris/makefiles/vm.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/solaris/makefiles/vm.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -35,23 +35,23 @@
 # Defs
 
 GENERATED     = ../generated
+DEP_DIR       = $(GENERATED)/dependencies
 
-# read a generated file defining the set of .o's and the .o .h dependencies
-include $(GENERATED)/Dependencies
+# reads the generated files defining the set of .o's and the .o .h dependencies
+-include $(DEP_DIR)/*.d
 
 # read machine-specific adjustments (%%% should do this via buildtree.make?)
 include $(MAKEFILES_DIR)/$(BUILDARCH).make
 
 # set VPATH so make knows where to look for source files
-# Src_Dirs is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
-# The incls directory contains generated header file lists for inclusion.
+# Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
 # The adfiles directory contains ad_<arch>.[ch]pp.
 # The jvmtifiles directory contains jvmti*.[ch]pp
-Src_Dirs_V = $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED)/incls
-VPATH    += $(Src_Dirs_V:%=%:)
+Src_Dirs_V += $(GENERATED)/adfiles $(GENERATED)/jvmtifiles
+VPATH += $(Src_Dirs_V:%=%:)
 
 # set INCLUDES for C preprocessor
-Src_Dirs_I = $(GENERATED)/adfiles $(GENERATED)/jvmtifiles ${Src_Dirs} $(GENERATED) 
+Src_Dirs_I += $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
 ifeq (${VERSION}, debug)
@@ -135,6 +135,62 @@
 LIBJVM   = lib$(JVM).so
 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 
+CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \))
+CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm
+CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm
+CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm
+CORE_PATHS += $(GENERATED)/jvmtifiles
+
+COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1
+
+COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto
+COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt
+COMPILER2_PATHS +=  $(GENERATED)/adfiles
+
+# Include dirs per type.
+Src_Dirs/CORE      := $(CORE_PATHS)
+Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS)
+Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS)
+Src_Dirs/TIERED    := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
+Src_Dirs/ZERO      := $(CORE_PATHS)
+Src_Dirs/SHARK     := $(CORE_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
+
+# Always exclude these.
+Src_Files_EXCLUDE := dtrace jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp
+
+# Exclude per type.
+Src_Files_EXCLUDE/CORE      := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
+Src_Files_EXCLUDE/COMPILER1 := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
+Src_Files_EXCLUDE/COMPILER2 := $(COMPILER1_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
+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 +=  $(Src_Files_EXCLUDE/$(TYPE))
+
+# Special handling of arch model.
+ifeq ($(Platform_arch_model), x86_32)
+Src_Files_EXCLUDE += \*x86_64\*
+endif
+ifeq ($(Platform_arch_model), x86_64)
+Src_Files_EXCLUDE += \*x86_32\*
+endif
+
+# Locate all source files in the given directory, excluding files in Src_Files_EXCLUDE.
+define findsrc
+	$(notdir $(shell find $(1) \( -name \*.c -o -name \*.cpp -o -name \*.s \) -a \! \( -name DUMMY $(addprefix -o -name ,$(Src_Files_EXCLUDE)) \) ))
+endef
+
+Src_Files := $(foreach e,$(Src_Dirs),$(call findsrc,$(e)))
+
+Obj_Files = $(sort $(addsuffix .o,$(basename $(Src_Files))))
+
 JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS)
 
 vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
@@ -205,7 +261,7 @@
 
 #----------------------------------------------------------------------
 
-build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(LIBJVM_DTRACE) checkAndBuildSA dtraceCheck
+build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(LIBJVM_DTRACE) $(BUILDLIBSAPROC) dtraceCheck
 
 install: install_jvm install_jsig install_saproc
 
--- a/make/windows/README	Fri Dec 10 15:46:59 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-Copyright (c) 2007 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.
-
-________________________________________________________________________________
-
-__Introduction__________________________________________________________________
-
-This readme file should provide all the information needed to build
-the HotSpot VM for Windows 95/Windows NT from its teamware workspace.
-It is intended as a starting point for people who want to learn how
-to work with the current HotSpot source workspace and who need to
-build the VM locally. It is not intended as a tutorial for licensees.
-
-Last update: 03/28/05
-
-
-__Platform______________________________________________________________________
-
-The VM builds under the following platforms:
-- Windows NT 4.0 on Intel x486 or greater
-- x486 PC (or greater), 32MByte or more
-
-
-__Tools_________________________________________________________________________
-
-For building/testing the following tools need to be available:
-- Microsoft Visual C++ 6.0 (with nmake version 1.62.7022 or greater)
-- MKS Toolkit 6.1 or greater
-  see: /net/reinstall/export/vol0/pc-archive/software/mks6.1 (NFS)
-   or: \\reinstall\pc-archive\software\mks6.1                (NT)
-
-
-__JDK___________________________________________________________________________
-
-The workspace works with the following version of the JDK:
-(NOTE: these are out of date)
-- JDK1.2FCS "V" build
-  see: /usr/local/java/jdk1.2/win32
-
-and the following version(s) of HotJava:
-- hjb1.1.4
-- hjb1.1.5
-  see /usr/local/java/hjb1.1.x/win32
-
-
-__Environment variables_________________________________________________________
-
-The following environment variables need to be set up for the IDE
-build process.  For batch builds these do not need to be set.
-
-HotSpotMksHome     points to the (NFS or PC-local) directory where the MKS
-                   executables (like sh.exe and grep.exe) are installed
-
-Optionally you may set the following variables in your environment and they
-will be picked up by the create.bat script used to generate the vm.vcproj files.
-See the section on building within MS Developer Studio for more details.
-
-HotSpotWorkSpace   points to the (NFS) directory where the workspace is located
-HotSpotBuildSpace  points to the (PC-local) directory where the vm is built
-HotSpotReleaseBinDest points to the (NFS or PC-local) directory where the product DLL is
-		      written
-HotSpotDebugBinDest   points to the (NFS or PC-local) directory where the debug DLL is
-		      written
-
-NOTE: For both batch and IDE builds, java and javac must be in your
-PATH, and the versions found by default must work. (If this turns out
-to be a problem, we can define HotSpotJava and HotSpotJavaC for
-bootstrapping...)
-
-__Building the JVM from the command line________________________________________
-
-1) choose a directory in which you want to build the vm
-   (the build process will create a subdirectory)
-
-2) To build the 'core' version (debug || optimized)
-   %HotSpotWorkSpace%\build\windows\build <flavor> core %HotSpotWorkSpace% <jdk_dir>
-   To build the 'compiler2' version (debug || optimized)
-   %HotSpotWorkSpace%\build\windows\build <flavor> compiler2 %HotSpotWorkSpace% <jdk_dir>
-
-   where <jdk_dir> is a full path to a JDK in which bin/java and
-   bin/javac are present and working.
-
-3) If you have problems with building, first try:
-   vcvars32 <CR> (sets path for VC++)
-
-4) In addition to jvm.dll, the Serviceability Agent (SA) based JDI connector 
-   and command line tools are built if dbgeng.h and dbgeng.lib
-   can be located, and BUILD_WIN_SA=1 is specified.   We look for dbgeng.h here:
-        $(MSVCDIR)\PlatformSDK\Include
-        $(SYSTEMROOT)\..\Program Files\Microsoft SDK\include
-
-  The first directory is part of  Visual Studio VC .NET 2003.
-  The second is used on Windows-amd64.
-
-
-__Building the JVM from within MS Developer Studio______________________________
-
-0) Set environment variables as described above
-
-1) Run the following script:
-   %HotSpotWorkSpace%\build\windows\create <type> { <workspace> <buildspace> <productbindest> <debugbindest> }
-   where type is one of core, compiler1, compiler2.  If you leave off the
-   "<workspace> <buildspace> <productbindest> <debugbindest>" part, the script expects to find their
-   values in the HotSpotWorkSpace, HotSpotBuildSpace, HotSpotReleaseBinDest, and HotSpotDebugBinDest environment
-   variables.  The resulting vm.vcproj does not depend on these values in the environment.
-
-   This will populate the build space with the appropriate makefiles
-   and run nmake in it. This builds and runs makedeps, which now
-   generates the appropriate vm.vcproj into the build space. It also
-   builds and runs adlc.
-
-   To regenerate the .incl and .dsp files after changing the include
-   databases, just run nmake in the build space.
-
-   The build process now relies on java and javac. For the IDE builds,
-   the full path to a JDK (in which bin/java and bin/javac are present
-   and working) can be specified either explicitly with the
-   ALT_BOOTDIR environment variable (like the JDK build process), via
-   the JDK build's default BOOTDIR environment variable, via JAVA_HOME,
-   or implicitly via the PATH.
-
-   (Note that there are now many more command line options to MakeDeps
-   on the Windows platform than before. These have been bundled into
-   makefiles/makedeps.make, but it is still necessary to keep this in
-   sync with the batch makefiles, in vm/generated.)
-
-   If you have problems with building (i.e,. finding nmake), first try:
-   vcvars32 <CR> (sets path for VC++)
-
-2) Double-click the vm.vcproj file in the %HotSpotBuildSpace% directory
-   to open MS Developer Studio.
-
-3) build desired or all versions:
-   menu Build -> Batch Build... -> Build (or Rebuild All)
-
-4) jvm.dll is in the %HotSpotReleaseBinDest% or %HotSpotDebugBinDest% directory
-   depending on which configuration you built (release or debug).
-
-Note: do not edit any of the files (especially the vm.vcproj file) in the
-build space, since they are all either autogenerated or copied from
-the work space. If necessary, modify the original Makefiles in
-%HotSpotWorkSpace%\build\windows\projectfiles, or the shared
-makedeps arguments in
-%HotSpotWorkSpace%\build\windows\makefiles\makedeps.make.
-
-Note that it appears that some options set in the IDE (for example,
-the default executable) show up not in the .dsp file, but in the .opt
-file, so the automatic regeneration of the .dsp file should not
-destroy the project settings. However, makedeps.make should be edited
-to supply per-file compiler options.
-
-To build adlc from within the IDE for debugging purposes:
-
-1) in MS Developer Studio, open ADLCompiler.dsw:
-   menu File -> Open Workspace...
-   select & double-click ADLCompiler.dsw
-
-2) rebuild all (debug mode is enough)
-   menu Build -> Rebuild All (make sure Win32 Debug version is selected)
-
-
-__Testing the VM________________________________________________________________
-
-To test the VM using the Tonga Testsuite, use testlook. testlook is a very
-simple testing framework on top of Tonga which allows us to use one (Tonga)
-test file, that can be extended with attributes.
-
-1) copy %HotSpotWorkSpace%\test\testlook.bat onto PC (preferably
-   %HotSpotBuildSpace%\bin, which should ideally be in the path)
-
-2) run testlook <cr> or testlook help <cr> for details
-
-3) to run testlook you need to have Tonga mounted:
-   net use T: \\tapas\export1\psqe
-
-
-__HotJava under HotSpot_________________________________________________________
-
-To run HotJava, use the .bat file %HotSpotWorkSpace%\test\h.bat. Copy
-it into %HotSpotBuildSpace%/<flavor> (which ideally is in the path) and run
-HotJava: h java <flags> (e.g., h java_g -Xint).
-
-
-__Preferred directory setup under Windows NT____________________________________
-
-Within the HotSpot group we are using the following directory setup:
-
-D:\jdk1.2          - where we install the JDK
-
-The following drives are mounted for testing/putbacks/etc.:
-
-net use T: \\tapas\export1\psqe
-net use Y: \\rschmidt\GammaBase
-net use Z: \\animorphic\animorphic
--- a/make/windows/create.bat	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/create.bat	Fri Dec 10 17:59:46 2010 -0800
@@ -1,6 +1,6 @@
 @echo off
 REM
-REM Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+REM Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 REM
 REM This code is free software; you can redistribute it and/or modify it
@@ -26,11 +26,8 @@
 REM This is the interactive build setup script (as opposed to the batch
 REM build execution script). It creates $HotSpotBuildSpace if necessary,
 REM copies the appropriate files out of $HotSpotWorkSpace into it, and
-REM builds and runs MakeDeps in it. This has the side-effect of creating
+REM builds and runs ProjectCreator in it. This has the side-effect of creating
 REM the vm.vcproj file in the buildspace, which is then used in Visual C++.
-REM 
-REM The generated project file depends upon the include databases. If
-REM those are changed then MakeDeps is rerun.
 
 REM
 REM Since we don't have uname and we could be cross-compiling,
@@ -158,13 +155,31 @@
 echo Platform_arch=%Platform_arch%         >>    %HotSpotBuildSpace%\%%i\local.make
 echo Platform_arch_model=%Platform_arch_model% >>    %HotSpotBuildSpace%\%%i\local.make
 
-REM build config specific stuff
-
 pushd %HotSpotBuildSpace%\%%i
 nmake /nologo
 popd
+
 )
 
+pushd %HotSpotBuildSpace%
+
+echo # Generated file!                                                 >    local.make
+echo # Changing a variable below and then deleting %ProjectFile% will cause  >>    local.make
+echo # %ProjectFile% to be regenerated with the new values.  Changing the    >>    local.make
+echo # version requires rerunning create.bat.                         >>    local.make
+echo.                                      >>    local.make
+echo HOTSPOTWORKSPACE=%HotSpotWorkSpace%   >>    local.make
+echo HOTSPOTBUILDSPACE=%HotSpotBuildSpace% >>    local.make
+echo HOTSPOTJDKDIST=%HotSpotJDKDist%       >>    local.make
+echo ARCH=%ARCH%                           >>    local.make
+echo BUILDARCH=%BUILDARCH%                 >>    local.make
+echo Platform_arch=%Platform_arch%         >>    local.make
+echo Platform_arch_model=%Platform_arch_model% >>    local.make
+
+nmake /nologo /F %HotSpotWorkSpace%/make/windows/projectfiles/common/Makefile %HotSpotBuildSpace%/%ProjectFile%
+
+popd
+
 goto end
 
 :usage
@@ -173,14 +188,11 @@
 echo This is the interactive build setup script (as opposed to the batch
 echo build execution script). It creates HotSpotBuildSpace if necessary,
 echo copies the appropriate files out of HotSpotWorkSpace into it, and
-echo builds and runs MakeDeps in it. This has the side-effect of creating
+echo builds and runs ProjectCreator in it. This has the side-effect of creating
 echo the %ProjectFile% file in the build space, which is then used in Visual C++.
 echo The HotSpotJDKDist defines place where JVM binaries should be placed.
 echo Environment variable FORCE_MSC_VER allows to override MSVC version autodetection.
 echo.
-echo The generated project file depends upon the include databases. If
-echo those are changed then MakeDeps is rerun.
-echo.
 echo NOTE that it is now NOT safe to modify any of the files in the build
 echo space, since they may be overwritten whenever this script is run or
 echo nmake is run in that directory.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/windows/create_obj_files.sh	Fri Dec 10 17:59:46 2010 -0800
@@ -0,0 +1,124 @@
+#
+# Copyright (c) 2010, 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.
+#  
+#
+
+set -e
+
+# Note that we currently do not have a way to set HotSpotMksHome in
+# the batch build, but so far this has not seemed to be a problem. The
+# reason this environment variable is necessary is that it seems that
+# Windows truncates very long PATHs when executing shells like MKS's
+# sh, and it has been found that sometimes `which sh` fails.
+
+if [ "x$HotSpotMksHome" != "x" ]; then
+  TOOL_DIR="$HotSpotMksHome"
+else
+  # HotSpotMksHome is not set so use the directory that contains "sh".
+  # This works with both MKS and Cygwin.
+  SH=`which sh`
+  TOOL_DIR=`dirname "$SH"`
+fi
+
+DIRNAME="$TOOL_DIR/dirname"
+FIND="$TOOL_DIR/find"
+
+TYPE=$1
+Platform_arch=$2
+Platform_arch_model=$3
+Platform_os_family=windows
+Platform_os_arch=windows_$Platform_arch
+
+WorkSpace=$4
+GENERATED=$5
+
+BASE_PATHS="` $FIND ${WorkSpace}/src/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`"
+BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/share/vm/gc_implementation/shared"
+BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os/${Platform_os_family}/vm"
+BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/cpu/${Platform_arch}/vm"
+BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os_cpu/${Platform_os_arch}/vm"
+BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles"
+
+CORE_PATHS="${BASE_PATHS}"
+# shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS.
+CORE_PATHS="${CORE_PATHS} `$FIND ${WorkSpace}/src/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`"
+
+COMPILER1_PATHS="${WorkSpace}/src/share/vm/c1"
+
+COMPILER2_PATHS="${WorkSpace}/src/share/vm/opto"
+COMPILER2_PATHS="${COMPILER2_PATHS} ${WorkSpace}/src/share/vm/libadt"
+COMPILER2_PATHS="${COMPILER2_PATHS} ${GENERATED}/adfiles"
+
+# Include dirs per type.
+case "${TYPE}" in
+    "core")      Src_Dirs="${CORE_PATHS}" ;;
+    "kernel")    Src_Dirs="${BASE_PATHS} ${COMPILER1_PATHS}" ;;
+    "compiler1") Src_Dirs="${CORE_PATHS} ${COMPILER1_PATHS}" ;;
+    "compiler2") Src_Dirs="${CORE_PATHS} ${COMPILER2_PATHS}" ;;
+    "tiered")    Src_Dirs="${CORE_PATHS} ${COMPILER1_PATHS} ${COMPILER2_PATHS}" ;;
+    "zero")      Src_Dirs="${CORE_PATHS}" ;;
+    "shark")     Src_Dirs="${CORE_PATHS}" ;;
+esac
+
+COMPILER2_SPECIFIC_FILES="opto libadt bcEscapeAnalyzer.cpp chaitin* c2_* runtime_*"
+COMPILER1_SPECIFIC_FILES="c1_*"
+SHARK_SPECIFIC_FILES="shark"
+ZERO_SPECIFIC_FILES="zero"
+
+# These files need to be excluded when building the kernel target.
+KERNEL_EXCLUDED_FILES="attachListener.cpp attachListener_windows.cpp dump.cpp dump_${Platform_arch_model}.cpp forte.cpp fprofiler.cpp heapDumper.cpp heapInspection.cpp jniCheck.cpp jvmtiCodeBlobEvents.cpp jvmtiExtensions.cpp jvmtiImpl.cpp jvmtiRawMonitor.cpp jvmtiTagMap.cpp jvmtiTrace.cpp restore.cpp serialize.cpp vmStructs.cpp g1MemoryPool.cpp psMemoryPool.cpp gcAdaptivePolicyCounters.cpp concurrentGCThread.cpp mutableNUMASpace.cpp allocationStats.cpp gSpaceCounters.cpp immutableSpace.cpp mutableSpace.cpp spaceCounters.cpp yieldingWorkgroup.cpp"
+
+# Always exclude these.
+Src_Files_EXCLUDE="jsig.c jvmtiEnvRecommended.cpp jvmtiEnvStub.cpp"
+
+# Exclude per type.
+case "${TYPE}" in
+    "core")      Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ciTypeFlow.cpp" ;;
+    "kernel")    Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ${KERNEL_EXCLUDED_FILES} ciTypeFlow.cpp" ;;
+    "compiler1") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ciTypeFlow.cpp" ;;
+    "compiler2") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES}" ;;
+    "tiered")    Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${ZERO_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES}" ;;
+    "zero")      Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${COMPILER2_SPECIFIC_FILES} ${SHARK_SPECIFIC_FILES} ciTypeFlow.cpp" ;;
+    "shark")     Src_Files_EXCLUDE="${Src_Files_EXCLUDE} ${COMPILER1_SPECIFIC_FILES} ${COMPILER2_SPECIFIC_FILES} ${ZERO_SPECIFIC_FILES}" ;;
+esac
+
+# Special handling of arch model.
+case "${Platform_arch_model}" in
+	"x86_32") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} *x86_64*" ;;
+	"x86_64") Src_Files_EXCLUDE="${Src_Files_EXCLUDE} *x86_32*" ;;
+esac
+
+function findsrc {
+    $FIND ${1} \( -name \*.c -o -name \*.cpp -o -name \*.s \) -a \! \( -name ${Src_Files_EXCLUDE// / -o -name } \) | sed 's/.*\/\(.*\)/\1/';
+}
+
+Src_Files=
+for e in ${Src_Dirs}; do
+   Src_Files="${Src_Files}`findsrc ${e}` "
+done 
+
+Obj_Files=
+for e in ${Src_Files}; do
+	Obj_Files="${Obj_Files}${e%\.[!.]*}.obj "
+done
+
+echo Obj_Files=${Obj_Files}
--- a/make/windows/makefiles/adlc.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/adlc.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -46,27 +46,24 @@
 ADLCFLAGS=-q -T -U_LP64
 !endif
 
-CPP_FLAGS=$(CPP_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE  
+CPP_FLAGS=$(CPP_FLAGS) \
+  /D TARGET_OS_FAMILY_windows \
+  /D TARGET_ARCH_$(Platform_arch) \
+  /D TARGET_ARCH_MODEL_$(Platform_arch_model) \
+  /D TARGET_OS_ARCH_windows_$(Platform_arch) \
+  /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model) \
+  /D TARGET_COMPILER_visCPP
+
+CPP_FLAGS=$(CPP_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
 
 CPP_INCLUDE_DIRS=\
-  /I "..\generated"                          \
-  /I "$(WorkSpace)\src\share\vm\compiler"    \
-  /I "$(WorkSpace)\src\share\vm\code"        \
-  /I "$(WorkSpace)\src\share\vm\interpreter" \
-  /I "$(WorkSpace)\src\share\vm\classfile"   \
-  /I "$(WorkSpace)\src\share\vm\asm"         \
-  /I "$(WorkSpace)\src\share\vm\memory"      \
-  /I "$(WorkSpace)\src\share\vm\oops"        \
-  /I "$(WorkSpace)\src\share\vm\prims"       \
-  /I "$(WorkSpace)\src\share\vm\runtime"     \
-  /I "$(WorkSpace)\src\share\vm\utilities"   \
-  /I "$(WorkSpace)\src\share\vm\libadt"      \
-  /I "$(WorkSpace)\src\share\vm\opto"        \
-  /I "$(WorkSpace)\src\os\windows\vm"          \
+  /I "..\generated" \
+  /I "$(WorkSpace)\src\share\vm" \
+  /I "$(WorkSpace)\src\os\windows\vm" \
   /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
 
-# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_INCL
-# and MakeDepsIDEOptions in makedeps.make. 
+# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR
+# and ProjectCreatorIDEOptions in projectcreator.make. 
 GENERATED_NAMES=\
   ad_$(Platform_arch_model).cpp \
   ad_$(Platform_arch_model).hpp \
@@ -81,18 +78,18 @@
   dfa_$(Platform_arch_model).cpp
 
 # NOTE! This must be kept in sync with GENERATED_NAMES
-GENERATED_NAMES_IN_INCL=\
-  incls/ad_$(Platform_arch_model).cpp \
-  incls/ad_$(Platform_arch_model).hpp \
-  incls/ad_$(Platform_arch_model)_clone.cpp \
-  incls/ad_$(Platform_arch_model)_expand.cpp \
-  incls/ad_$(Platform_arch_model)_format.cpp \
-  incls/ad_$(Platform_arch_model)_gen.cpp \
-  incls/ad_$(Platform_arch_model)_misc.cpp \
-  incls/ad_$(Platform_arch_model)_peephole.cpp \
-  incls/ad_$(Platform_arch_model)_pipeline.cpp \
-  incls/adGlobals_$(Platform_arch_model).hpp \
-  incls/dfa_$(Platform_arch_model).cpp
+GENERATED_NAMES_IN_DIR=\
+  $(AdlcOutDir)\ad_$(Platform_arch_model).cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model).hpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_clone.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_expand.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_format.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_gen.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_misc.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_peephole.cpp \
+  $(AdlcOutDir)\ad_$(Platform_arch_model)_pipeline.cpp \
+  $(AdlcOutDir)\adGlobals_$(Platform_arch_model).hpp \
+  $(AdlcOutDir)\dfa_$(Platform_arch_model).cpp
 
 {$(WorkSpace)\src\share\vm\adlc}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(EXH_FLAGS) $(CPP_INCLUDE_DIRS) /c $<
@@ -110,10 +107,12 @@
 	$(MT) /manifest $@.manifest /outputresource:$@;#1
 !endif
 
-$(GENERATED_NAMES_IN_INCL): $(Platform_arch_model).ad adlc.exe includeDB.current 
+$(GENERATED_NAMES_IN_DIR): $(Platform_arch_model).ad adlc.exe
 	rm -f $(GENERATED_NAMES)
+	if exist $(AdlcOutDir) rmdir /s /q $(AdlcOutDir)
+	mkdir $(AdlcOutDir)
 	$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
-	mv $(GENERATED_NAMES) incls/
+	mv $(GENERATED_NAMES) $(AdlcOutDir)/
 
 $(Platform_arch_model).ad: $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
 	rm -f $(Platform_arch_model).ad
--- a/make/windows/makefiles/debug.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/debug.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2010, 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
@@ -26,9 +26,15 @@
 HS_FNAME=$(HS_INTERNAL_NAME).dll
 AOUT=$(HS_FNAME)
 SAWINDBG=sawindbg.dll
+LAUNCHER_NAME=hotspot.exe
 GENERATED=../generated
 
-default:: _build_pch_file.obj $(AOUT) checkAndBuildSA
+# Allow the user to turn off precompiled headers from the command line.
+!if "$(USE_PRECOMPILED_HEADER)" != "0"
+BUILD_PCH_FILE=_build_pch_file.obj
+!endif
+
+default:: $(BUILD_PCH_FILE) $(AOUT) $(LAUNCHER_NAME) checkAndBuildSA
 
 !include ../local.make
 !include compile.make
@@ -38,8 +44,6 @@
 !include $(WorkSpace)/make/windows/makefiles/vm.make
 !include local.make
 
-!include $(GENERATED)/Dependencies
-
 HS_BUILD_ID=$(HS_BUILD_VER)-debug
 
 # Force resources to be rebuilt every time
@@ -59,3 +63,4 @@
 
 !include $(WorkSpace)/make/windows/makefiles/shared.make
 !include $(WorkSpace)/make/windows/makefiles/sa.make
+!include $(WorkSpace)/make/windows/makefiles/launcher.make
--- a/make/windows/makefiles/fastdebug.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/fastdebug.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -26,9 +26,15 @@
 HS_FNAME=$(HS_INTERNAL_NAME).dll
 AOUT=$(HS_FNAME)
 SAWINDBG=sawindbg.dll
+LAUNCHER_NAME=hotspot.exe
 GENERATED=../generated
 
-default:: _build_pch_file.obj $(AOUT) checkAndBuildSA
+# Allow the user to turn off precompiled headers from the command line.
+!if "$(USE_PRECOMPILED_HEADER)" != "0"
+BUILD_PCH_FILE=_build_pch_file.obj
+!endif
+
+default:: $(BUILD_PCH_FILE) $(AOUT) $(LAUNCHER_NAME) checkAndBuildSA
 
 !include ../local.make
 !include compile.make
@@ -38,8 +44,6 @@
 !include $(WorkSpace)/make/windows/makefiles/vm.make
 !include local.make
 
-!include $(GENERATED)/Dependencies
-
 HS_BUILD_ID=$(HS_BUILD_VER)-fastdebug
 
 # Force resources to be rebuilt every time
@@ -57,6 +61,6 @@
 	$(MT) /manifest $@.manifest /outputresource:$@;#2
 !endif
 
-
 !include $(WorkSpace)/make/windows/makefiles/shared.make
 !include $(WorkSpace)/make/windows/makefiles/sa.make
+!include $(WorkSpace)/make/windows/makefiles/launcher.make
--- a/make/windows/makefiles/generated.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/generated.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -23,7 +23,7 @@
 #
 
 !include ../local.make
-!include $(WorkSpace)/make/windows/makefiles/makedeps.make
+!include $(WorkSpace)/make/windows/makefiles/projectcreator.make
 !include local.make
 
 # Pick up rules for building JVMTI (JSR-163)
@@ -33,65 +33,21 @@
 # Pick up rules for building SA
 !include $(WorkSpace)/make/windows/makefiles/sa.make
 
+AdlcOutDir=adfiles
+
 !if ("$(Variant)" == "compiler2") || ("$(Variant)" == "tiered")
-default:: includeDB.current Dependencies incls/ad_$(Platform_arch_model).cpp incls/dfa_$(Platform_arch_model).cpp $(JvmtiGeneratedFiles)
+default:: $(AdlcOutDir)/ad_$(Platform_arch_model).cpp $(AdlcOutDir)/dfa_$(Platform_arch_model).cpp $(JvmtiGeneratedFiles) buildobjfiles
 !else
-default:: includeDB.current Dependencies $(JvmtiGeneratedFiles)
+default:: $(JvmtiGeneratedFiles) buildobjfiles
 !endif
 
-# core plus serial gc
-IncludeDBs_base=$(WorkSpace)/src/share/vm/includeDB_core \
-           $(WorkSpace)/src/share/vm/includeDB_jvmti \
-           $(WorkSpace)/src/share/vm/includeDB_gc \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_serial
+buildobjfiles:
+	@ sh $(WorkSpace)/make/windows/create_obj_files.sh $(Variant) $(Platform_arch) $(Platform_arch_model) $(WorkSpace) .	> objfiles.make
 
-# parallel gc
-IncludeDBs_gc= $(WorkSpace)/src/share/vm/includeDB_gc_parallel \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_shared \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_parNew \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep \
-           $(WorkSpace)/src/share/vm/gc_implementation/includeDB_gc_g1
-
-IncludeDBs_core=$(IncludeDBs_base) $(IncludeDBs_gc) \
-                $(WorkSpace)/src/share/vm/includeDB_features
-
-!if "$(Variant)" == "core"
-IncludeDBs=$(IncludeDBs_core)
-!endif
-
-!if "$(Variant)" == "kernel"
-IncludeDBs=$(IncludeDBs_base) $(WorkSpace)/src/share/vm/includeDB_compiler1
-!endif
-
-!if "$(Variant)" == "compiler1"
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler1
-!endif
-
-
-!if "$(Variant)" == "compiler2"
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler2
-!endif
-
-!if "$(Variant)" == "tiered"
-IncludeDBs=$(IncludeDBs_core) $(WorkSpace)/src/share/vm/includeDB_compiler1 \
-           $(WorkSpace)/src/share/vm/includeDB_compiler2
-!endif
-
-# Note we don't generate a Visual C++ project file using MakeDeps for
-# the batch build.
-includeDB.current Dependencies: classes/MakeDeps.class $(IncludeDBs)
-	cat $(IncludeDBs) > includeDB
-	if exist incls rmdir /s /q incls
-	mkdir incls
-	$(RUN_JAVA) -Djava.class.path=classes MakeDeps WinGammaPlatform$(VcVersion) $(WorkSpace)/make/windows/platform_$(BUILDARCH) includeDB $(MakeDepsOptions)
-	rm -f includeDB.current
-	cp includeDB includeDB.current
-
-classes/MakeDeps.class: $(MakeDepsSources)
+classes/ProjectCreator.class: $(ProjectCreatorSources)
 	if exist classes rmdir /s /q classes
 	mkdir classes
-	$(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\MakeDeps -d classes $(MakeDepsSources)
+	$(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\ProjectCreator -d classes $(ProjectCreatorSources)
 
 !if ("$(Variant)" == "compiler2") || ("$(Variant)" == "tiered")
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/windows/makefiles/launcher.make	Fri Dec 10 17:59:46 2010 -0800
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2010, 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.
+#  
+#
+
+LAUNCHER_FLAGS=$(ARCHFLAG) \
+	/D FULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
+	/D JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
+	/D JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
+	/D GAMMA \
+	/D LAUNCHER_TYPE=\"gamma\" \
+	/D _CRT_SECURE_NO_WARNINGS \
+	/D _CRT_SECURE_NO_DEPRECATE \
+	/D LINK_INTO_LIBJVM \
+	/I $(WorkSpace)\src\os\windows\launcher \
+	/I $(WorkSpace)\src\share\tools\launcher
+
+CPP_FLAGS=$(CPP_FLAGS) $(LAUNCHER_FLAGS)
+
+LINK_FLAGS=/manifest $(HS_INTERNAL_NAME).lib kernel32.lib user32.lib /nologo /machine:$(MACHINE) /map /debug /subsystem:console 
+
+!if "$(COMPILER_NAME)" == "VS2005"
+# This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib
+#    on the link command line, otherwise we get missing __security_check_cookie
+#    externals at link time. Even with /GS-, you need bufferoverflowU.lib.
+BUFFEROVERFLOWLIB = bufferoverflowU.lib
+LINK_FLAGS = $(LINK_FLAGS) $(BUFFEROVERFLOWLIB)
+!endif
+
+LAUNCHERDIR = $(GAMMADIR)/src/os/windows/launcher
+LAUNCHERDIR_SHARE = $(GAMMADIR)/src/share/tools/launcher
+
+OUTDIR = launcher
+
+{$(LAUNCHERDIR)}.c{$(OUTDIR)}.obj:
+	-mkdir $(OUTDIR)
+        $(CPP) $(CPP_FLAGS) /c /Fo$@ $<
+
+{$(LAUNCHERDIR_SHARE)}.c{$(OUTDIR)}.obj:
+	-mkdir $(OUTDIR)
+        $(CPP) $(CPP_FLAGS) /c /Fo$@ $<
+
+$(OUTDIR)\*.obj: $(LAUNCHERDIR)\*.c $(LAUNCHERDIR)\*.h $(LAUNCHERDIR_SHARE)\*.c $(LAUNCHERDIR_SHARE)\*.h
+
+$(LAUNCHER_NAME): $(OUTDIR)\java.obj $(OUTDIR)\java_md.obj $(OUTDIR)\jli_util.obj
+	$(LINK) $(LINK_FLAGS) /out:$@ $**
+
+
--- a/make/windows/makefiles/makedeps.make	Fri Dec 10 15:46:59 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-#
-# Copyright (c) 1999, 2009, 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.
-#  
-#
-
-!include $(WorkSpace)/make/windows/makefiles/rules.make
-
-# This is used externally by both batch and IDE builds, so can't
-# reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
-# HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
-#
-# NOTE: unfortunately the MakeDepsSources list must be kept
-# synchronized between this and the Solaris version
-# (make/solaris/makefiles/makedeps.make).
-
-MakeDepsSources=\
-        $(WorkSpace)\src\share\tools\MakeDeps\Database.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTree.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTreeNode.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileFormatException.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileList.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\FileName.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\Macro.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MacroDefinitions.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MakeDeps.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\MetroWerksMacPlatform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\Platform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\UnixPlatform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatform.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC6.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC7.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC8.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC9.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\Util.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\BuildConfig.java \
-        $(WorkSpace)\src\share\tools\MakeDeps\ArgsParser.java
-
-# This is only used internally
-MakeDepsIncludesPRIVATE=\
-        -relativeInclude src\share\vm\c1 \
-        -relativeInclude src\share\vm\compiler \
-        -relativeInclude src\share\vm\code \
-        -relativeInclude src\share\vm\interpreter \
-        -relativeInclude src\share\vm\ci \
-        -relativeInclude src\share\vm\classfile \
-        -relativeInclude src\share\vm\gc_implementation\parallelScavenge \
-        -relativeInclude src\share\vm\gc_implementation\shared \
-        -relativeInclude src\share\vm\gc_implementation\parNew \
-        -relativeInclude src\share\vm\gc_implementation\concurrentMarkSweep \
-        -relativeInclude src\share\vm\gc_implementation\g1 \
-        -relativeInclude src\share\vm\gc_interface \
-        -relativeInclude src\share\vm\asm \
-        -relativeInclude src\share\vm\memory \
-        -relativeInclude src\share\vm\oops \
-        -relativeInclude src\share\vm\prims \
-        -relativeInclude src\share\vm\runtime \
-        -relativeInclude src\share\vm\services \
-        -relativeInclude src\share\vm\utilities \
-        -relativeInclude src\share\vm\libadt \
-        -relativeInclude src\share\vm\opto \
-        -relativeInclude src\os\windows\vm \
-        -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
-        -relativeInclude src\cpu\$(Platform_arch)\vm
-
-# This is referenced externally by both the IDE and batch builds
-MakeDepsOptions=
-
-# This is used externally, but only by the IDE builds, so we can
-# reference environment variables which aren't defined in the batch
-# build process.
-
-MakeDepsIDEOptions = \
-        -useToGeneratePch  java.cpp \
-        -disablePch        os_windows.cpp \
-        -disablePch        os_windows_$(Platform_arch).cpp \
-        -disablePch        osThread_windows.cpp \
-        -disablePch        bytecodeInterpreter.cpp \
-        -disablePch        bytecodeInterpreterWithChecks.cpp \
-	-disablePch        getThread_windows_$(Platform_arch).cpp \
-        -disablePch_compiler2     opcodes.cpp    
-
-# Common options for the IDE builds for core, c1, and c2
-MakeDepsIDEOptions=\
-        $(MakeDepsIDEOptions) \
-        -sourceBase $(HOTSPOTWORKSPACE) \
-	-buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
-        -startAt src \
-	-compiler $(VcVersion) \
-        -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
-        -jdkTargetRoot $(HOTSPOTJDKDIST) \
-        -define ALIGN_STACK_FRAMES \
-        -define VM_LITTLE_ENDIAN \
-        -additionalFile includeDB_compiler1 \
-        -additionalFile includeDB_compiler2 \
-        -additionalFile includeDB_core \
-        -additionalFile includeDB_features \
-        -additionalFile includeDB_jvmti \
-        -additionalFile includeDB_gc \
-        -additionalFile includeDB_gc_parallel \
-        -additionalFile includeDB_gc_parallelScavenge \
-        -additionalFile includeDB_gc_concurrentMarkSweep \
-        -additionalFile includeDB_gc_g1 \
-        -additionalFile includeDB_gc_parNew \
-        -additionalFile includeDB_gc_shared \
-        -additionalFile includeDB_gc_serial \
-        -additionalGeneratedFile $(HOTSPOTBUILDSPACE)\%f\%b vm.def \
-        -prelink  "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b	set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME)	$(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
-       $(MakeDepsIncludesPRIVATE)
-
-# Add in build-specific options
-!if "$(BUILDARCH)" == "i486"
-MakeDepsIDEOptions=$(MakeDepsIDEOptions) -define IA32
-!endif
-
-##################################################
-# JKERNEL specific options
-##################################################
-MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
- -define_kernel KERNEL \
-
-##################################################
-# Client(C1) compiler specific options
-##################################################
-MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
- -define_compiler1 COMPILER1 \
-
-##################################################
-# Server(C2) compiler specific options
-##################################################
-#NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
-MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
- -define_compiler2 COMPILER2 \
- -absoluteInclude_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls \
- -additionalFile_compiler2 $(Platform_arch_model).ad \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model).cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model).hpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_clone.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_expand.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_format.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_gen.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_misc.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_peephole.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_pipeline.cpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls adGlobals_$(Platform_arch_model).hpp \
- -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls dfa_$(Platform_arch_model).cpp 
-
-# Add in the jvmti (JSR-163) options
-# NOTE: do not pull in jvmtiEnvRecommended.cpp.  This file is generated
-#       so the programmer can diff it with jvmtiEnv.cpp to be sure the
-#       code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
-#       If so, they would then check it in as a new version of jvmtiEnv.cpp.
-MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
- -absoluteInclude $(HOTSPOTBUILDSPACE)/jvmtifiles \
- -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnv.hpp \
- -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnter.cpp \
- -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnterTrace.cpp \
- -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmti.h \
- -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles bytecodeInterpreterWithChecks.cpp 
--- a/make/windows/makefiles/product.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/product.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, 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
@@ -25,9 +25,15 @@
 HS_INTERNAL_NAME=jvm
 HS_FNAME=$(HS_INTERNAL_NAME).dll
 AOUT=$(HS_FNAME)
+LAUNCHER_NAME=hotspot.exe
 GENERATED=../generated
 
-default:: _build_pch_file.obj $(AOUT) checkAndBuildSA
+# Allow the user to turn off precompiled headers from the command line.
+!if "$(USE_PRECOMPILED_HEADER)" != "0"
+BUILD_PCH_FILE=_build_pch_file.obj
+!endif
+
+default:: $(BUILD_PCH_FILE) $(AOUT) $(LAUNCHER_NAME) checkAndBuildSA
 
 !include ../local.make
 !include compile.make
@@ -41,8 +47,6 @@
 !include $(WorkSpace)/make/windows/makefiles/vm.make
 !include local.make
 
-!include $(GENERATED)/Dependencies
-
 HS_BUILD_ID=$(HS_BUILD_VER)
 
 # Force resources to be rebuilt every time
@@ -70,3 +74,4 @@
 
 !include $(WorkSpace)/make/windows/makefiles/shared.make
 !include $(WorkSpace)/make/windows/makefiles/sa.make
+!include $(WorkSpace)/make/windows/makefiles/launcher.make
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/windows/makefiles/projectcreator.make	Fri Dec 10 17:59:46 2010 -0800
@@ -0,0 +1,234 @@
+#
+# Copyright (c) 1999, 2010, 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.
+#  
+#
+
+!include $(WorkSpace)/make/windows/makefiles/rules.make
+
+# This is used externally by both batch and IDE builds, so can't
+# reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
+# HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
+#
+# NOTE: unfortunately the ProjectCreatorSources list must be kept
+# synchronized between this and the Solaris version
+# (make/solaris/makefiles/projectcreator.make).
+
+ProjectCreatorSources=\
+        $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\Macro.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\MacroDefinitions.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
+        $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
+
+# This is only used internally
+ProjectCreatorIncludesPRIVATE=\
+        -relativeInclude src\share\vm \
+        -relativeInclude src\share\vm\prims \
+        -relativeInclude src\os\windows\vm \
+        -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
+        -relativeInclude src\cpu\$(Platform_arch)\vm \
+        -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
+        -ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \
+        -ignorePath src\share\vm\adlc \
+        -ignorePath src\share\vm\shark
+
+# This is referenced externally by both the IDE and batch builds
+ProjectCreatorOptions=
+
+# This is used externally, but only by the IDE builds, so we can
+# reference environment variables which aren't defined in the batch
+# build process.
+
+ProjectCreatorIDEOptions = \
+        -useToGeneratePch  java.cpp \
+        -disablePch        os_windows.cpp \
+        -disablePch        os_windows_$(Platform_arch).cpp \
+        -disablePch        osThread_windows.cpp \
+        -disablePch        bytecodeInterpreter.cpp \
+        -disablePch        bytecodeInterpreterWithChecks.cpp \
+        -disablePch        getThread_windows_$(Platform_arch).cpp \
+        -disablePch_compiler2     opcodes.cpp    
+
+# Common options for the IDE builds for core, c1, and c2
+ProjectCreatorIDEOptions=\
+        $(ProjectCreatorIDEOptions) \
+        -sourceBase $(HOTSPOTWORKSPACE) \
+        -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
+        -startAt src \
+        -compiler $(VcVersion) \
+        -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
+        -jdkTargetRoot $(HOTSPOTJDKDIST) \
+        -define ALIGN_STACK_FRAMES \
+        -define VM_LITTLE_ENDIAN \
+        -prelink  "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b	set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME)	$(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
+        -ignoreFile jsig.c \
+        -ignoreFile jvmtiEnvRecommended.cpp \
+        -ignoreFile jvmtiEnvStub.cpp \
+        -ignoreFile globalDefinitions_gcc.hpp \
+        -ignoreFile globalDefinitions_sparcWorks.hpp \
+        -ignoreFile version.rc \
+        -ignoreFile Xusage.txt \
+        -define TARGET_ARCH_x86 \
+        -define TARGET_OS_ARCH_windows_x86 \
+        -define TARGET_OS_FAMILY_windows \
+        -define TARGET_COMPILER_visCPP \
+       $(ProjectCreatorIncludesPRIVATE)
+
+# Add in build-specific options
+!if "$(BUILDARCH)" == "i486"
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+        -define IA32 \
+        -ignorePath x86_64 \
+        -define TARGET_ARCH_MODEL_x86_32
+!else
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+        -ignorePath x86_32 \
+        -define TARGET_ARCH_MODEL_x86_64
+!endif
+
+ProjectCreatorIDEOptionsIgnoreCompiler1=\
+ -ignorePath_TARGET c1_
+
+ProjectCreatorIDEOptionsIgnoreCompiler2=\
+ -ignorePath_TARGET src/share/vm/opto \
+ -ignorePath_TARGET src/share/vm/libadt \
+ -ignorePath_TARGET adfiles \
+ -ignoreFile_TARGET bcEscapeAnalyzer.cpp \
+ -ignoreFile_TARGET bcEscapeAnalyzer.hpp \
+ -ignorePath_TARGET chaitin \
+ -ignorePath_TARGET c2_ \
+ -ignorePath_TARGET runtime_ \
+ -ignoreFile_TARGET ciTypeFlow.cpp \
+ -ignoreFile_TARGET ciTypeFlow.hpp \
+ -ignoreFile_TARGET $(Platform_arch_model).ad
+
+##################################################
+# Without compiler(core) specific options
+##################################################
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+$(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \
+$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core)
+
+##################################################
+# JKERNEL specific options
+##################################################
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+ -define_kernel KERNEL \
+$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=kernel) \
+ -ignorePath_kernel src/share/vm/gc_implementation/parallelScavenge \
+ -ignorePath_kernel src/share/vm/gc_implementation/parNew \
+ -ignorePath_kernel src/share/vm/gc_implementation/concurrentMarkSweep \
+ -ignorePath_kernel src/share/vm/gc_implementation/g1 \
+ -ignoreFile_kernel attachListener.cpp \
+ -ignoreFile_kernel attachListener_windows.cpp \
+ -ignoreFile_kernel dump.cpp \
+ -ignoreFile_kernel dump_$(Platform_arch_model).cpp \
+ -ignoreFile_kernel forte.cpp \
+ -ignoreFile_kernel fprofiler.cpp \
+ -ignoreFile_kernel heapDumper.cpp \
+ -ignoreFile_kernel heapInspection.cpp \
+ -ignoreFile_kernel jniCheck.cpp \
+ -ignoreFile_kernel jvmtiCodeBlobEvents.cpp \
+ -ignoreFile_kernel jvmtiExtensions.cpp \
+ -ignoreFile_kernel jvmtiImpl.cpp \
+ -ignoreFile_kernel jvmtiRawMonitor.cpp \
+ -ignoreFile_kernel jvmtiTagMap.cpp \
+ -ignoreFile_kernel jvmtiTrace.cpp \
+ -ignoreFile_kernel jvmtiTrace.hpp \
+ -ignoreFile_kernel restore.cpp \
+ -ignoreFile_kernel serialize.cpp \
+ -ignoreFile_kernel vmStructs.cpp \
+ -ignoreFile_kernel g1MemoryPool.cpp \
+ -ignoreFile_kernel g1MemoryPool.hpp \
+ -ignoreFile_kernel psMemoryPool.cpp \
+ -ignoreFile_kernel psMemoryPool.hpp \
+ -ignoreFile_kernel gcAdaptivePolicyCounters.cpp \
+ -ignoreFile_kernel concurrentGCThread.cpp \
+ -ignoreFile_kernel mutableNUMASpace.cpp \
+ -ignoreFile_kernel ciTypeFlow.cpp \
+ -ignoreFile_kernel ciTypeFlow.hpp \
+ -ignoreFile_kernel oop.pcgc.inline.hpp \
+ -ignoreFile_kernel oop.psgc.inline.hpp \
+ -ignoreFile_kernel allocationStats.cpp \
+ -ignoreFile_kernel allocationStats.hpp \
+ -ignoreFile_kernel concurrentGCThread.hpp \
+ -ignoreFile_kernel gSpaceCounters.cpp \
+ -ignoreFile_kernel gSpaceCounters.hpp \
+ -ignoreFile_kernel gcAdaptivePolicyCounters.hpp \
+ -ignoreFile_kernel immutableSpace.cpp \
+ -ignoreFile_kernel mutableNUMASpace.hpp \
+ -ignoreFile_kernel mutableSpace.cpp \
+ -ignoreFile_kernel spaceCounters.cpp \
+ -ignoreFile_kernel spaceCounters.hpp \
+ -ignoreFile_kernel yieldingWorkgroup.cpp \
+ -ignoreFile_kernel yieldingWorkgroup.hpp \
+ -ignorePath_kernel vmStructs_ \
+ -ignoreFile_kernel $(Platform_arch_model).ad \
+ -additionalFile_kernel gcTaskManager.hpp
+
+##################################################
+# Client(C1) compiler specific options
+##################################################
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+ -define_compiler1 COMPILER1 \
+$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1)
+
+##################################################
+# Server(C2) compiler specific options
+##################################################
+#NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+ -define_compiler2 COMPILER2 \
+ -additionalFile_compiler2 $(Platform_arch_model).ad \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).hpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_clone.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_expand.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_format.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_gen.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_misc.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_peephole.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_pipeline.cpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles adGlobals_$(Platform_arch_model).hpp \
+ -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles dfa_$(Platform_arch_model).cpp \
+ $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2)
+
+# Add in the jvmti (JSR-163) options
+# NOTE: do not pull in jvmtiEnvRecommended.cpp.  This file is generated
+#       so the programmer can diff it with jvmtiEnv.cpp to be sure the
+#       code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
+#       If so, they would then check it in as a new version of jvmtiEnv.cpp.
+ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
+ -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnv.hpp \
+ -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnter.cpp \
+ -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnterTrace.cpp \
+ -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmti.h \
+ -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles bytecodeInterpreterWithChecks.cpp
--- a/make/windows/makefiles/vm.make	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/makefiles/vm.make	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2010, 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
@@ -25,6 +25,8 @@
 # Resource file containing VERSIONINFO
 Res_Files=.\version.res
 
+!include ..\generated\objfiles.make
+
 !ifdef RELEASE 
 !ifdef DEVELOP
 CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG"
@@ -77,6 +79,14 @@
 # Define that so jni.h is on correct side
 CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_"
 
+# Used for platform dispatching
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_FAMILY_windows
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_ARCH_$(Platform_arch)
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_ARCH_MODEL_$(Platform_arch_model)
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_ARCH_windows_$(Platform_arch)
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model)
+CPP_FLAGS=$(CPP_FLAGS) /D TARGET_COMPILER_visCPP
+
 !if "$(BUILDARCH)" == "ia64"
 STACK_SIZE="/STACK:1048576,262144"
 !else
@@ -111,37 +121,24 @@
   /export:JVM_InitAgentProperties
 
 CPP_INCLUDE_DIRS=\
-  /I "..\generated"                          \
-  /I "..\generated\jvmtifiles"               \
-  /I "$(WorkSpace)\src\share\vm\c1"          \
-  /I "$(WorkSpace)\src\share\vm\compiler"    \
-  /I "$(WorkSpace)\src\share\vm\code"        \
-  /I "$(WorkSpace)\src\share\vm\interpreter" \
-  /I "$(WorkSpace)\src\share\vm\ci"          \
-  /I "$(WorkSpace)\src\share\vm\classfile"   \
-  /I "$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge"\
-  /I "$(WorkSpace)\src\share\vm\gc_implementation\shared"\
-  /I "$(WorkSpace)\src\share\vm\gc_implementation\parNew"\
-  /I "$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep"\
-  /I "$(WorkSpace)\src\share\vm\gc_implementation\g1"\
-  /I "$(WorkSpace)\src\share\vm\gc_interface"\
-  /I "$(WorkSpace)\src\share\vm\asm"         \
-  /I "$(WorkSpace)\src\share\vm\memory"      \
-  /I "$(WorkSpace)\src\share\vm\oops"        \
-  /I "$(WorkSpace)\src\share\vm\prims"       \
-  /I "$(WorkSpace)\src\share\vm\runtime"     \
-  /I "$(WorkSpace)\src\share\vm\services"    \
-  /I "$(WorkSpace)\src\share\vm\utilities"   \
-  /I "$(WorkSpace)\src\share\vm\libadt"      \
-  /I "$(WorkSpace)\src\share\vm\opto"        \
-  /I "$(WorkSpace)\src\os\windows\vm"          \
+  /I "..\generated" \
+  /I "$(WorkSpace)\src\share\vm" \
+  /I "$(WorkSpace)\src\share\vm\prims" \
+  /I "$(WorkSpace)\src\os\windows\vm" \
   /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \
   /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
 
-CPP_USE_PCH=/Fp"vm.pch" /Yu"incls/_precompiled.incl"
+CPP_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER
+
+!if "$(USE_PRECOMPILED_HEADER)" != "0"
+CPP_USE_PCH=/Fp"vm.pch" /Yu"precompiled.hpp"
+!else
+CPP_USE_PCH=$(CPP_DONT_USE_PCH)
+!endif
 
 # Where to find the source code for the virtual machine
-VM_PATH=../generated/incls
+VM_PATH=../generated
+VM_PATH=$(VM_PATH);../generated/adfiles
 VM_PATH=$(VM_PATH);../generated/jvmtifiles
 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1
 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler
@@ -173,31 +170,31 @@
 # Special case files not using precompiled header files.
 
 c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp 
-	 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
+	 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
 
 os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
 
 os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
 
 osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
 
 conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
 
 getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
 
 opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
 
 bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
-        $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
 
 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
-        $(CPP) $(CPP_FLAGS) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
+        $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
 
 # Default rules for the Virtual Machine
 {$(WorkSpace)\src\share\vm\c1}.cpp.obj::
@@ -280,11 +277,14 @@
 {..\generated\incls}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
+{..\generated\adfiles}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
 {..\generated\jvmtifiles}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
 default::
 
 _build_pch_file.obj:
-        @echo #include "incls/_precompiled.incl" > ../generated/_build_pch_file.cpp
-        $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"incls/_precompiled.incl" /c ../generated/_build_pch_file.cpp
+        @echo #include "precompiled.hpp" > ../generated/_build_pch_file.cpp
+        $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"precompiled.hpp" /c ../generated/_build_pch_file.cpp
--- a/make/windows/projectfiles/common/Makefile	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/projectfiles/common/Makefile	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2010, 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
@@ -22,6 +22,8 @@
 #  
 #
 
+!include local.make
+
 WorkSpace=$(HOTSPOTWORKSPACE)
 
 !ifdef ALT_BOOTDIR
@@ -36,70 +38,25 @@
 !endif
 !endif
 
-!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/makedeps.make
+!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/projectcreator.make
 
 # Pick up rules for building JVMTI (JSR-163)
-JvmtiOutDir=$(HOTSPOTBUILDSPACE)\jvmtifiles
+JvmtiOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\jvmtifiles
 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make
 
 Platform=$(HOTSPOTWORKSPACE)/make/windows/platform_$(BUILDARCH)
 
-default:: $(AdditionalTargets) $(JvmtiGeneratedFiles)
-
-IncludeDBs_base=$(HOTSPOTWORKSPACE)/src/share/vm/includeDB_core  \
-                $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_jvmti \
-                $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_gc    \
-                $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_serial
-
-# Parallel gc files
-IncludeDBs_gc=$(HOTSPOTWORKSPACE)/src/share/vm/includeDB_gc_parallel       \
-    $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_shared \
-    $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_parNew \
-    $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge \
-    $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep \
-    $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_g1
-
-
-IncludeDBs_kernel =$(IncludeDBs_base) \
-                    $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1
-
-IncludeDBs_core =$(IncludeDBs_base) $(IncludeDBs_gc) \
-                 $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_features
-
-IncludeDBs_compiler1=$(IncludeDBs_core) \
-                     $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1
-
-IncludeDBs_compiler2=$(IncludeDBs_core) \
-                    $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler2
-
-IncludeDBs_tiered=$(IncludeDBs_core) \
-                    $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1 \
-                    $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler2
-
-
-!if "$(Variant)" == "compiler1"
-IncludeDBs = $(IncludeDBs_compiler1)
-!endif
-
 !if "$(Variant)" == "compiler2"
-IncludeDBs = $(IncludeDBs_compiler2)
 # Pick up rules for building adlc
 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
 !endif
 
 !if "$(Variant)" == "tiered"
-IncludeDBs = $(IncludeDBs_tiered)
 # Pick up rules for building adlc
 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
 !endif
 
-!if "$(Variant)" == "core"
-IncludeDBs = $(IncludeDBs_core)
-!endif
-
-!if "$(Variant)" == "kernel"
-IncludeDBs = $(IncludeDBs_kernel)
-!endif
+default:: $(AdditionalTargets) $(JvmtiGeneratedFiles)
 
 !include $(HOTSPOTWORKSPACE)/make/hotspot_version
 
@@ -108,7 +65,11 @@
 !else
 HOTSPOT_RELEASE_VERSION="$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)"
 !endif
+!if "$(USER_RELEASE_SUFFIX)" != ""
+HOTSPOT_BUILD_VERSION$(HOTSPOT_BUILD_VERSION) = internal-$(USER_RELEASE_SUFFIX)
+!else
 HOTSPOT_BUILD_VERSION$(HOTSPOT_BUILD_VERSION) = internal
+!endif
 !if "$(HOTSPOT_BUILD_VERSION)" != ""
 HOTSPOT_RELEASE_VERSION="$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)"
 !endif
@@ -130,55 +91,22 @@
 !endif
 !endif
 
-MakeDepsIDEOptions =       $(MakeDepsIDEOptions) \
-      -includeDB_kernel    $(HOTSPOTBUILDSPACE)\includeDB_kernel \
-      -includeDB_core      $(HOTSPOTBUILDSPACE)\includeDB_core \
-      -includeDB_compiler1 $(HOTSPOTBUILDSPACE)\includeDB_compiler1 \
-      -includeDB_compiler2 $(HOTSPOTBUILDSPACE)\includeDB_compiler2 \
-      -includeDB_tiered    $(HOTSPOTBUILDSPACE)\includeDB_tiered \
+ProjectCreatorIDEOptions =       $(ProjectCreatorIDEOptions) \
       -platform            $(Platform) \
       -define              HOTSPOT_RELEASE_VERSION=\\\"$(HOTSPOT_RELEASE_VERSION)\\\" \
       -define              JRE_RELEASE_VERSION=\\\"$(JRE_RELEASE_VERSION)\\\" \
       -define              HOTSPOT_VM_DISTRO=\\\"$(HOTSPOT_VM_DISTRO)\\\"
 
-incls:
-	@mkdir incls
-
-includeDB.current $(ProjectFile) Dependencies: local.make $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class \
-                                               $(IncludeDBs) incls
-	@rm -f includeDB $(HOTSPOTBUILDSPACE)\includeDB_kernel \
-                         $(HOTSPOTBUILDSPACE)\includeDB_core \
-                         $(HOTSPOTBUILDSPACE)\includeDB_compiler1 \
-                         $(HOTSPOTBUILDSPACE)\includeDB_compiler2 \
-                         $(HOTSPOTBUILDSPACE)\includeDB_tiered
-	@cat $(IncludeDBs_kernel) > $(HOTSPOTBUILDSPACE)\includeDB_kernel
-	@cat $(IncludeDBs_core) > $(HOTSPOTBUILDSPACE)\includeDB_core
-	@cat $(IncludeDBs_compiler1)   > $(HOTSPOTBUILDSPACE)\includeDB_compiler1
-	@cat $(IncludeDBs_compiler2)   > $(HOTSPOTBUILDSPACE)\includeDB_compiler2
-	@cat $(IncludeDBs_tiered)      > $(HOTSPOTBUILDSPACE)\includeDB_tiered
-	@echo java.cpp jni.h >  includeDB
-	@$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes MakeDeps diffs WinGammaPlatform$(VcVersion) \
-                  $(Platform) includeDB.current $(Platform) includeDB $(MakeDepsOptions) $(MakeDepsIDEOptions)
-	@rm -f includeDB.current
-	@cp includeDB includeDB.current
-
-lists: $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class FORCE
-	@if exist incls rmdir /s /q incls
-	@rm -f includeDB
-	@cat $(IncludeDBs) > includeDB
-	@mkdir incls
-	@$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes MakeDeps WinGammaPlatform$(VcVersion) \
-                 $(Platform) includeDB $(MakeDepsOptions) $(MakeDepsIDEOptions)
-	@rm -f includeDB.current
-	@cp includeDB includeDB.current
+$(HOTSPOTBUILDSPACE)/$(ProjectFile): local.make $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
+	@$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes ProjectCreator WinGammaPlatform$(VcVersion) $(ProjectCreatorIDEOptions)
 
 clean:
-	@rm -rf incls $(HOTSPOTBUILDSPACE)/classes
-	@rm -f includeDB includeDB.current $(ProjectFile) Dependencies
+	@rm -rf $(HOTSPOTBUILDSPACE)/classes
+	@rm -r ../$(ProjectFile)
 
-$(HOTSPOTBUILDSPACE)/classes/MakeDeps.class: $(MakeDepsSources)
+$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class: $(ProjectCreatorSources)
 	@if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes
 	@mkdir $(HOTSPOTBUILDSPACE)\classes
-	@$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\MakeDeps -d $(HOTSPOTBUILDSPACE)/classes $(MakeDepsSources)
+	@$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\ProjectCreator -d $(HOTSPOTBUILDSPACE)/classes $(ProjectCreatorSources)
 
 FORCE:
--- a/make/windows/projectfiles/compiler2/Makefile	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/projectfiles/compiler2/Makefile	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, 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
@@ -24,6 +24,7 @@
 
 Variant=compiler2
 !include local.make
-AdditionalTargets=incls/ad_$(Platform_arch_model).cpp incls/dfa_$(Platform_arch_model).cpp
+AdlcOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\adfiles
+AdditionalTargets=$(AdlcOutDir)\ad_$(Platform_arch_model).cpp $(AdlcOutDir)\dfa_$(Platform_arch_model).cpp
 
 !include $(HOTSPOTWORKSPACE)/make/windows/projectfiles/common/Makefile
--- a/make/windows/projectfiles/kernel/Makefile	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/projectfiles/kernel/Makefile	Fri Dec 10 17:59:46 2010 -0800
@@ -22,7 +22,7 @@
 #  
 #
 
-Variant=compiler1
+Variant=kernel
 !include local.make
 
 !include $(HOTSPOTWORKSPACE)/make/windows/projectfiles/common/Makefile
--- a/make/windows/projectfiles/tiered/Makefile	Fri Dec 10 15:46:59 2010 -0800
+++ b/make/windows/projectfiles/tiered/Makefile	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2010, 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
@@ -24,6 +24,7 @@
 
 Variant=tiered
 !include local.make
-AdditionalTargets=incls/ad_$(Platform_arch_model).cpp incls/dfa_$(Platform_arch_model).cpp
+AdlcOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\adfiles
+AdditionalTargets=$(AdlcOutDir)\ad_$(Platform_arch_model).cpp $(AdlcOutDir)\dfa_$(Platform_arch_model).cpp
 
 !include $(HOTSPOTWORKSPACE)/make/windows/projectfiles/common/Makefile
--- a/src/cpu/sparc/vm/assembler_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/assembler_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,24 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_assembler_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "gc_interface/collectedHeap.inline.hpp"
+#include "interpreter/interpreter.hpp"
+#include "memory/cardTableModRefBS.hpp"
+#include "memory/resourceArea.hpp"
+#include "prims/methodHandles.hpp"
+#include "runtime/biasedLocking.hpp"
+#include "runtime/interfaceSupport.hpp"
+#include "runtime/objectMonitor.hpp"
+#include "runtime/os.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#ifndef SERIALGC
+#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
+#include "gc_implementation/g1/heapRegion.hpp"
+#endif
 
 // Convert the raw encoding form into the form expected by the
 // constructor for Address.
--- a/src/cpu/sparc/vm/assembler_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/assembler_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
+#define CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
+
 class BiasedLockingCounters;
 
 // <sys/trap.h> promises that the system will not use traps 16-31
@@ -2500,3 +2503,5 @@
 // On RISC, there's no benefit to verifying instruction boundaries.
 inline bool AbstractAssembler::pd_check_instruction_mark() { return false; }
 #endif
+
+#endif // CPU_SPARC_VM_ASSEMBLER_SPARC_HPP
--- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,14 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
+#define CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
+
+#include "asm/assembler.inline.hpp"
+#include "asm/codeBuffer.hpp"
+#include "code/codeCache.hpp"
+#include "runtime/handles.inline.hpp"
+
 inline void MacroAssembler::pd_patch_instruction(address branch, address target) {
   jint& stub_inst = *(jint*) branch;
   stub_inst = patched_branch(target - branch, stub_inst, 0);
@@ -822,3 +830,5 @@
     Assembler::ldstub(SP, 0, G0);
   }
 }
+
+#endif // CPU_SPARC_VM_ASSEMBLER_SPARC_INLINE_HPP
--- a/src/cpu/sparc/vm/bytecodeInterpreter_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytecodeInterpreter_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2010, 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
@@ -22,4 +22,24 @@
  *
  */
 
+#include "precompiled.hpp"
+#include "asm/assembler.hpp"
+#include "interp_masm_sparc.hpp"
+#include "interpreter/bytecodeInterpreter.hpp"
+#include "interpreter/bytecodeInterpreter.inline.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "oops/methodDataOop.hpp"
+#include "oops/methodOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiThreadState.hpp"
+#include "runtime/deoptimization.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/synchronizer.hpp"
+#include "runtime/vframeArray.hpp"
+#include "utilities/debug.hpp"
+
 // KILL THIS FILE
--- a/src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_HPP
+#define CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_HPP
+
 // Platform specific for C++ based Interpreter
 #define LOTS_OF_REGS    /* Lets interpreter use plenty of registers */
 
@@ -97,3 +100,5 @@
                                                   ((VMJavaVal64*)(addr))->d)
 #define SET_LOCALS_LONG_FROM_ADDR(addr, offset) (((VMJavaVal64*)&locals[-((offset)+1)])->l = \
                                                 ((VMJavaVal64*)(addr))->l)
+
+#endif // CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_HPP
--- a/src/cpu/sparc/vm/bytecodeInterpreter_sparc.inline.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytecodeInterpreter_sparc.inline.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_INLINE_HPP
+#define CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_INLINE_HPP
+
 // Inline interpreter functions for sparc
 
 inline jfloat BytecodeInterpreter::VMfloatAdd(jfloat op1, jfloat op2) { return op1 + op2; }
@@ -331,3 +334,5 @@
   }
 };
 #endif /* ALIGN_CONVERTER */
+
+#endif // CPU_SPARC_VM_BYTECODEINTERPRETER_SPARC_INLINE_HPP
--- a/src/cpu/sparc/vm/bytecodes_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytecodes_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, 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
@@ -22,8 +22,8 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_bytecodes_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "interpreter/bytecodes.hpp"
 
 
 void Bytecodes::pd_initialize() {
--- a/src/cpu/sparc/vm/bytecodes_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytecodes_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_BYTECODES_SPARC_HPP
+#define CPU_SPARC_VM_BYTECODES_SPARC_HPP
+
 #ifdef SPARC
 #define NLOCALS_IN_REGS 6
 #endif
@@ -30,3 +33,5 @@
 // Sparc specific bytecodes
 
 // (none)
+
+#endif // CPU_SPARC_VM_BYTECODES_SPARC_HPP
--- a/src/cpu/sparc/vm/bytes_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/bytes_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,11 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_BYTES_SPARC_HPP
+#define CPU_SPARC_VM_BYTES_SPARC_HPP
+
+#include "memory/allocation.hpp"
+
 class Bytes: AllStatic {
  public:
   // Efficient reading and writing of unaligned unsigned data in platform-specific byte ordering
@@ -155,3 +160,5 @@
 // 1.15 98/10/05 16:30:21 bytes_i486.hpp
 // 1.17 99/06/22 16:37:35 bytes_i486.hpp
 //End
+
+#endif // CPU_SPARC_VM_BYTES_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,18 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_c1_CodeStubs_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_CodeStubs.hpp"
+#include "c1/c1_FrameMap.hpp"
+#include "c1/c1_LIRAssembler.hpp"
+#include "c1/c1_MacroAssembler.hpp"
+#include "c1/c1_Runtime1.hpp"
+#include "nativeInst_sparc.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "vmreg_sparc.inline.hpp"
+#ifndef SERIALGC
+#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
+#endif
 
 #define __ ce->masm()->
 
--- a/src/cpu/sparc/vm/c1_Defs_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_Defs_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_DEFS_SPARC_HPP
+#define CPU_SPARC_VM_C1_DEFS_SPARC_HPP
+
 // native word offsets from memory address (big endian)
 enum {
   pd_lo_word_offset_in_bytes = BytesPerInt,
@@ -65,3 +68,5 @@
 enum {
   pd_float_saved_as_double = false
 };
+
+#endif // CPU_SPARC_VM_C1_DEFS_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_FpuStackSim_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_FpuStackSim_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2010, 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
@@ -22,4 +22,10 @@
  *
  */
 
+#include "precompiled.hpp"
+#include "c1/c1_FpuStackSim.hpp"
+#include "c1/c1_FrameMap.hpp"
+#include "utilities/array.hpp"
+#include "utilities/ostream.hpp"
+
 // No FPU stack on SPARC
--- a/src/cpu/sparc/vm/c1_FpuStackSim_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_FpuStackSim_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2010, 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
@@ -22,5 +22,10 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
+#define CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
+
 // No FPU stack on SPARC
 class FpuStackSim;
+
+#endif // CPU_SPARC_VM_C1_FPUSTACKSIM_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,11 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_c1_FrameMap_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_FrameMap.hpp"
+#include "c1/c1_LIR.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "vmreg_sparc.inline.hpp"
 
 
 const int FrameMap::pd_c_runtime_reserved_arg_size = 7;
--- a/src/cpu/sparc/vm/c1_FrameMap_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_FrameMap_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
+#define CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
+
  public:
 
   enum {
@@ -151,3 +154,5 @@
 
   static bool is_caller_save_register (LIR_Opr  reg);
   static bool is_caller_save_register (Register r);
+
+#endif // CPU_SPARC_VM_C1_FRAMEMAP_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,20 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_c1_LIRAssembler_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_Compilation.hpp"
+#include "c1/c1_LIRAssembler.hpp"
+#include "c1/c1_MacroAssembler.hpp"
+#include "c1/c1_Runtime1.hpp"
+#include "c1/c1_ValueStack.hpp"
+#include "ci/ciArrayKlass.hpp"
+#include "ci/ciInstance.hpp"
+#include "gc_interface/collectedHeap.hpp"
+#include "memory/barrierSet.hpp"
+#include "memory/cardTableModRefBS.hpp"
+#include "nativeInst_sparc.hpp"
+#include "oops/objArrayKlass.hpp"
+#include "runtime/sharedRuntime.hpp"
 
 #define __ _masm->
 
--- a/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
+#define CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
+
  private:
 
   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -90,3 +93,5 @@
 #endif // _LP64
          exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4),
          deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4) };
+
+#endif // CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,20 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_c1_LIRGenerator_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_Compilation.hpp"
+#include "c1/c1_FrameMap.hpp"
+#include "c1/c1_Instruction.hpp"
+#include "c1/c1_LIRAssembler.hpp"
+#include "c1/c1_LIRGenerator.hpp"
+#include "c1/c1_Runtime1.hpp"
+#include "c1/c1_ValueStack.hpp"
+#include "ci/ciArray.hpp"
+#include "ci/ciObjArrayKlass.hpp"
+#include "ci/ciTypeArrayKlass.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "vmreg_sparc.inline.hpp"
 
 #ifdef ASSERT
 #define __ gen()->lir(__FILE__, __LINE__)->
--- a/src/cpu/sparc/vm/c1_LinearScan_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_LinearScan_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2010, 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
@@ -22,8 +22,10 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_c1_LinearScan_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_Instruction.hpp"
+#include "c1/c1_LinearScan.hpp"
+#include "utilities/bitMap.inline.hpp"
 
 void LinearScan::allocate_fpu_stack() {
   // No FPU stack on SPARC
--- a/src/cpu/sparc/vm/c1_LinearScan_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_LinearScan_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
+#define CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
+
 inline bool LinearScan::is_processed_reg_num(int reg_num) {
   return reg_num < 26 || reg_num > 31;
 }
@@ -71,3 +74,5 @@
   }
   return false;
 }
+
+#endif // CPU_SPARC_VM_C1_LINEARSCAN_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,18 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_c1_MacroAssembler_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_MacroAssembler.hpp"
+#include "c1/c1_Runtime1.hpp"
+#include "classfile/systemDictionary.hpp"
+#include "gc_interface/collectedHeap.hpp"
+#include "interpreter/interpreter.hpp"
+#include "oops/arrayOop.hpp"
+#include "oops/markOop.hpp"
+#include "runtime/basicLock.hpp"
+#include "runtime/biasedLocking.hpp"
+#include "runtime/os.hpp"
+#include "runtime/stubRoutines.hpp"
 
 void C1_MacroAssembler::inline_cache_check(Register receiver, Register iCache) {
   Label L;
--- a/src/cpu/sparc/vm/c1_MacroAssembler_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_MacroAssembler_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
+#define CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
+
   void pd_init() { /* nothing to do */ }
 
  public:
@@ -84,3 +87,5 @@
   // invalidates registers in this window
   void invalidate_registers(bool iregisters, bool lregisters, bool oregisters,
                             Register preserve1 = noreg, Register preserve2 = noreg);
+
+#endif // CPU_SPARC_VM_C1_MACROASSEMBLER_SPARC_HPP
--- a/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,20 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_c1_Runtime1_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "c1/c1_Defs.hpp"
+#include "c1/c1_MacroAssembler.hpp"
+#include "c1/c1_Runtime1.hpp"
+#include "interpreter/interpreter.hpp"
+#include "nativeInst_sparc.hpp"
+#include "oops/compiledICHolderOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "register_sparc.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/signature.hpp"
+#include "runtime/vframeArray.hpp"
+#include "vmreg_sparc.inline.hpp"
 
 // Implementation of StubAssembler
 
--- a/src/cpu/sparc/vm/c1_globals_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c1_globals_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
+#define CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
+
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/macros.hpp"
+
 // Sets the default values for platform dependent flags used by the client compiler.
 // (see c1_globals.hpp)
 
@@ -61,3 +67,5 @@
 define_pd_global(bool, TwoOperandLIRForm,            false);
 
 define_pd_global(intx, SafepointPollOffset,          0    );
+
+#endif // CPU_SPARC_VM_C1_GLOBALS_SPARC_HPP
--- a/src/cpu/sparc/vm/c2_globals_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c2_globals_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
+#define CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
+
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/macros.hpp"
+
 // Sets the default values for platform dependent flags used by the server compiler.
 // (see c2_globals.hpp).  Alpha-sorted.
 
@@ -88,3 +94,5 @@
 
 // Ergonomics related flags
 define_pd_global(bool, NeverActAsServerClassMachine, false);
+
+#endif // CPU_SPARC_VM_C2_GLOBALS_SPARC_HPP
--- a/src/cpu/sparc/vm/c2_init_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/c2_init_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, 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
@@ -22,8 +22,9 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_c2_init_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "opto/compile.hpp"
+#include "opto/node.hpp"
 
 // processor dependent initialization for sparc
 
--- a/src/cpu/sparc/vm/codeBuffer_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/codeBuffer_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
+#define CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
+
 private:
   void pd_initialize() {}
 
@@ -32,3 +35,5 @@
   bool is_backward_branch(Label& L) {
     return L.is_bound() && insts_end() <= locator_address(L.loc());
   }
+
+#endif // CPU_SPARC_VM_CODEBUFFER_SPARC_HPP
--- a/src/cpu/sparc/vm/copy_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/copy_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_COPY_SPARC_HPP
+#define CPU_SPARC_VM_COPY_SPARC_HPP
+
 // Inline functions for memory copy and fill.
 
 static void pd_conjoint_words(HeapWord* from, HeapWord* to, size_t count) {
@@ -186,3 +189,5 @@
 static void pd_zero_to_bytes(void* to, size_t count) {
   (void)memset(to, 0, count);
 }
+
+#endif // CPU_SPARC_VM_COPY_SPARC_HPP
--- a/src/cpu/sparc/vm/cppInterpreterGenerator_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/cppInterpreterGenerator_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_CPPINTERPRETERGENERATOR_SPARC_HPP
+#define CPU_SPARC_VM_CPPINTERPRETERGENERATOR_SPARC_HPP
+
   static address frame_manager_return;
   static address frame_manager_sync_return;
 
@@ -32,3 +35,5 @@
   void generate_compute_interpreter_state(const Register state,
                                           const Register prev_state,
                                           bool native);
+
+#endif // CPU_SPARC_VM_CPPINTERPRETERGENERATOR_SPARC_HPP
--- a/src/cpu/sparc/vm/cppInterpreter_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/cppInterpreter_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2010, 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
@@ -22,8 +22,32 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_cppInterpreter_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "asm/assembler.hpp"
+#include "interpreter/bytecodeHistogram.hpp"
+#include "interpreter/cppInterpreter.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterGenerator.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "oops/arrayOop.hpp"
+#include "oops/methodDataOop.hpp"
+#include "oops/methodOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiThreadState.hpp"
+#include "runtime/arguments.hpp"
+#include "runtime/deoptimization.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/interfaceSupport.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/synchronizer.hpp"
+#include "runtime/timer.hpp"
+#include "runtime/vframeArray.hpp"
+#include "utilities/debug.hpp"
+#ifdef SHARK
+#include "shark/shark_globals.hpp"
+#endif
 
 #ifdef CC_INTERP
 
--- a/src/cpu/sparc/vm/cppInterpreter_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/cppInterpreter_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_CPPINTERPRETER_SPARC_HPP
+#define CPU_SPARC_VM_CPPINTERPRETER_SPARC_HPP
+
   // Size of interpreter code.  Increase if too small.  Interpreter will
   // fail with a guarantee ("not enough space for interpreter generation");
   // if too small.
@@ -37,3 +40,5 @@
 #else
   const static int InterpreterCodeSize = 180 * K;
 #endif
+
+#endif // CPU_SPARC_VM_CPPINTERPRETER_SPARC_HPP
--- a/src/cpu/sparc/vm/debug_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/debug_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2010, 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
@@ -22,8 +22,14 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_debug_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "code/codeCache.hpp"
+#include "code/nmethod.hpp"
+#include "runtime/frame.hpp"
+#include "runtime/init.hpp"
+#include "runtime/os.hpp"
+#include "utilities/debug.hpp"
+#include "utilities/top.hpp"
 
 #ifndef PRODUCT
 
--- a/src/cpu/sparc/vm/depChecker_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/depChecker_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,7 +22,8 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_depChecker_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "compiler/disassembler.hpp"
+#include "depChecker_sparc.hpp"
 
 // Nothing to do on Sparc
--- a/src/cpu/sparc/vm/depChecker_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/depChecker_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,4 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
+#define CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
+
 // Nothing to do on Sparc
+
+#endif // CPU_SPARC_VM_DEPCHECKER_SPARC_HPP
--- a/src/cpu/sparc/vm/disassembler_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/disassembler_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
+#define CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
+
   static int pd_instruction_alignment() {
     return sizeof(int);
   }
@@ -30,3 +33,5 @@
     return (VM_Version::v9_instructions_work()?
             (VM_Version::v8_instructions_work()? "" : "v9only") : "v8only");
   }
+
+#endif // CPU_SPARC_VM_DISASSEMBLER_SPARC_HPP
--- a/src/cpu/sparc/vm/dump_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/dump_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2010, 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
@@ -22,8 +22,11 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_dump_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "memory/compactingPermGenGen.hpp"
+#include "memory/generation.inline.hpp"
+#include "memory/space.inline.hpp"
 
 
 
--- a/src/cpu/sparc/vm/frame_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/frame_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,24 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_frame_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "interpreter/interpreter.hpp"
+#include "memory/resourceArea.hpp"
+#include "oops/markOop.hpp"
+#include "oops/methodOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/handles.inline.hpp"
+#include "runtime/javaCalls.hpp"
+#include "runtime/monitorChunk.hpp"
+#include "runtime/signature.hpp"
+#include "runtime/stubCodeGenerator.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "vmreg_sparc.inline.hpp"
+#ifdef COMPILER1
+#include "c1/c1_Runtime1.hpp"
+#include "runtime/vframeArray.hpp"
+#endif
 
 void RegisterMap::pd_clear() {
   if (_thread->has_last_Java_frame()) {
--- a/src/cpu/sparc/vm/frame_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/frame_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_FRAME_SPARC_HPP
+#define CPU_SPARC_VM_FRAME_SPARC_HPP
+
+#include "runtime/synchronizer.hpp"
+#include "utilities/top.hpp"
+
 // A frame represents a physical stack frame (an activation).  Frames can be
 // C or Java frames, and the Java frames can be interpreted or compiled.
 // In contrast, vframes represent source-level activations, so that one physical frame
@@ -309,3 +315,5 @@
     return reg->is_out() || reg->is_global();
 #endif
   }
+
+#endif // CPU_SPARC_VM_FRAME_SPARC_HPP
--- a/src/cpu/sparc/vm/frame_sparc.inline.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/frame_sparc.inline.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
+#define CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
+
 // Inline functions for SPARC frames:
 
 // Constructors
@@ -295,3 +298,5 @@
 inline void frame::set_saved_oop_result(RegisterMap* map, oop obj) {
   *((oop*) map->location(O0->as_VMReg())) = obj;
 }
+
+#endif // CPU_SPARC_VM_FRAME_SPARC_INLINE_HPP
--- a/src/cpu/sparc/vm/globalDefinitions_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/globalDefinitions_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2010, 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
@@ -22,7 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
+#define CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
+
 // Size of Sparc Instructions
 const int BytesPerInstWord = 4;
 
 const int StackAlignmentInBytes = (2*wordSize);
+
+#endif // CPU_SPARC_VM_GLOBALDEFINITIONS_SPARC_HPP
--- a/src/cpu/sparc/vm/globals_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/globals_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, 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
@@ -22,6 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_GLOBALS_SPARC_HPP
+#define CPU_SPARC_VM_GLOBALS_SPARC_HPP
+
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/macros.hpp"
+
 // Sets the default values for platform dependent flags used by the runtime system.
 // (see globals.hpp)
 
@@ -64,3 +70,5 @@
 define_pd_global(bool, RewriteFrequentPairs, true);
 
 define_pd_global(bool, UseMembar,            false);
+
+#endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP
--- a/src/cpu/sparc/vm/icBuffer_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/icBuffer_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,8 +22,16 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_icBuffer_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "asm/assembler.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "code/icBuffer.hpp"
+#include "gc_interface/collectedHeap.inline.hpp"
+#include "interpreter/bytecodes.hpp"
+#include "memory/resourceArea.hpp"
+#include "nativeInst_sparc.hpp"
+#include "oops/oop.inline.hpp"
+#include "oops/oop.inline2.hpp"
 
 int InlineCacheBuffer::ic_stub_code_size() {
 #ifdef _LP64
--- a/src/cpu/sparc/vm/icache_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/icache_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,8 +22,9 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_icache_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "runtime/icache.hpp"
 
 #define __ _masm->
 
--- a/src/cpu/sparc/vm/icache_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/icache_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_ICACHE_SPARC_HPP
+#define CPU_SPARC_VM_ICACHE_SPARC_HPP
+
 // Interface for updating the instruction cache.  Whenever the VM modifies
 // code, part of the processor instruction cache potentially has to be flushed.
 
@@ -36,3 +39,5 @@
 
   // Use default implementation
 };
+
+#endif // CPU_SPARC_VM_ICACHE_SPARC_HPP
--- a/src/cpu/sparc/vm/interp_masm_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interp_masm_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,26 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_interp_masm_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "interp_masm_sparc.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "oops/arrayOop.hpp"
+#include "oops/markOop.hpp"
+#include "oops/methodDataOop.hpp"
+#include "oops/methodOop.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiRedefineClassesTrace.hpp"
+#include "prims/jvmtiThreadState.hpp"
+#include "runtime/basicLock.hpp"
+#include "runtime/biasedLocking.hpp"
+#include "runtime/sharedRuntime.hpp"
+#ifdef TARGET_OS_FAMILY_linux
+# include "thread_linux.inline.hpp"
+#endif
+#ifdef TARGET_OS_FAMILY_solaris
+# include "thread_solaris.inline.hpp"
+#endif
 
 #ifndef CC_INTERP
 #ifndef FAST_DISPATCH
--- a/src/cpu/sparc/vm/interp_masm_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interp_masm_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,12 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
+#define CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
+
+#include "assembler_sparc.inline.hpp"
+#include "interpreter/invocationCounter.hpp"
+
 // This file specializes the assember with interpreter-specific macros
 
 REGISTER_DECLARATION(     Register, Otos_i , O0); // tos for ints, etc
@@ -327,3 +333,5 @@
   void restore_return_value(TosState state, bool is_native_call);
 
 };
+
+#endif // CPU_SPARC_VM_INTERP_MASM_SPARC_HPP
--- a/src/cpu/sparc/vm/interpreterGenerator_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interpreterGenerator_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_INTERPRETERGENERATOR_SPARC_HPP
+#define CPU_SPARC_VM_INTERPRETERGENERATOR_SPARC_HPP
+
  friend class AbstractInterpreterGenerator;
 
  private:
@@ -39,3 +42,5 @@
 
   void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue);
   void generate_counter_overflow(Label& Lcontinue);
+
+#endif // CPU_SPARC_VM_INTERPRETERGENERATOR_SPARC_HPP
--- a/src/cpu/sparc/vm/interpreterRT_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interpreterRT_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,17 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_interpreterRT_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "memory/allocation.inline.hpp"
+#include "memory/universe.inline.hpp"
+#include "oops/methodOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "runtime/handles.inline.hpp"
+#include "runtime/icache.hpp"
+#include "runtime/interfaceSupport.hpp"
+#include "runtime/signature.hpp"
 
 
 #define __ _masm->
--- a/src/cpu/sparc/vm/interpreterRT_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interpreterRT_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, 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
@@ -22,6 +22,11 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
+#define CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
+
+#include "memory/allocation.hpp"
+
 static int binary_search(int key, LookupswitchPair* array, int n);
 
 static address iload (JavaThread* thread);
@@ -54,3 +59,5 @@
   // Code generation
   void generate( uint64_t fingerprint );
 };
+
+#endif // CPU_SPARC_VM_INTERPRETERRT_SPARC_HPP
--- a/src/cpu/sparc/vm/interpreter_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interpreter_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,32 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_interpreter_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "asm/assembler.hpp"
+#include "interpreter/bytecodeHistogram.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterGenerator.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "interpreter/templateTable.hpp"
+#include "oops/arrayOop.hpp"
+#include "oops/methodDataOop.hpp"
+#include "oops/methodOop.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiThreadState.hpp"
+#include "prims/methodHandles.hpp"
+#include "runtime/arguments.hpp"
+#include "runtime/deoptimization.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/synchronizer.hpp"
+#include "runtime/timer.hpp"
+#include "runtime/vframeArray.hpp"
+#include "utilities/debug.hpp"
+#ifdef COMPILER1
+#include "c1/c1_Runtime1.hpp"
+#endif
 
 
 
--- a/src/cpu/sparc/vm/interpreter_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/interpreter_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_INTERPRETER_SPARC_HPP
+#define CPU_SPARC_VM_INTERPRETER_SPARC_HPP
+
  public:
 
   static int expr_offset_in_bytes(int i) { return stackElementSize * i + wordSize; }
@@ -34,3 +37,5 @@
     assert(i <= 0, "local direction already negated");
     return stackElementWords * i;
   }
+
+#endif // CPU_SPARC_VM_INTERPRETER_SPARC_HPP
--- a/src/cpu/sparc/vm/javaFrameAnchor_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/javaFrameAnchor_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2010, 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
@@ -22,6 +22,9 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
+#define CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
+
 private:
   volatile int _flags;
 
@@ -97,3 +100,5 @@
     _flags |= flushed;
     OrderAccess::fence();
   }
+
+#endif // CPU_SPARC_VM_JAVAFRAMEANCHOR_SPARC_HPP
--- a/src/cpu/sparc/vm/jniFastGetField_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/jniFastGetField_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,12 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_jniFastGetField_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "memory/resourceArea.hpp"
+#include "prims/jniFastGetField.hpp"
+#include "prims/jvm_misc.hpp"
+#include "runtime/safepoint.hpp"
 
 // TSO ensures that loads are blocking and ordered with respect to
 // to earlier loads, so we don't need LoadLoad membars.
--- a/src/cpu/sparc/vm/jniTypes_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/jniTypes_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, 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
@@ -22,6 +22,13 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_JNITYPES_SPARC_HPP
+#define CPU_SPARC_VM_JNITYPES_SPARC_HPP
+
+#include "memory/allocation.hpp"
+#include "oops/oop.hpp"
+#include "prims/jni.h"
+
 // This file holds platform-dependent routines used to write primitive jni
 // types to the array of arguments passed into JavaCalls::call
 
@@ -106,3 +113,5 @@
 #endif
 
 };
+
+#endif // CPU_SPARC_VM_JNITYPES_SPARC_HPP
--- a/src/cpu/sparc/vm/jni_sparc.h	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/jni_sparc.h	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
--- a/src/cpu/sparc/vm/methodHandles_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/methodHandles_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,10 @@
  *
  */
 
-#include "incls/_precompiled.incl"
-#include "incls/_methodHandles_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "interpreter/interpreter.hpp"
+#include "memory/allocation.inline.hpp"
+#include "prims/methodHandles.hpp"
 
 #define __ _masm->
 
--- a/src/cpu/sparc/vm/nativeInst_sparc.cpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/nativeInst_sparc.cpp	Fri Dec 10 17:59:46 2010 -0800
@@ -22,8 +22,18 @@
  *
  */
 
-# include "incls/_precompiled.incl"
-# include "incls/_nativeInst_sparc.cpp.incl"
+#include "precompiled.hpp"
+#include "assembler_sparc.inline.hpp"
+#include "memory/resourceArea.hpp"
+#include "nativeInst_sparc.hpp"
+#include "oops/oop.inline.hpp"
+#include "runtime/handles.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "utilities/ostream.hpp"
+#ifdef COMPILER1
+#include "c1/c1_Runtime1.hpp"
+#endif
 
 
 bool NativeInstruction::is_dtrace_trap() {
--- a/src/cpu/sparc/vm/nativeInst_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/nativeInst_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, 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
@@ -22,6 +22,15 @@
  *
  */
 
+#ifndef CPU_SPARC_VM_NATIVEINST_SPARC_HPP
+#define CPU_SPARC_VM_NATIVEINST_SPARC_HPP
+
+#include "asm/assembler.hpp"
+#include "memory/allocation.hpp"
+#include "runtime/icache.hpp"
+#include "runtime/os.hpp"
+#include "utilities/top.hpp"
+
 // We have interface for the following instructions:
 // - NativeInstruction
 // - - NativeCall
@@ -913,3 +922,5 @@
   // Insert illegal opcode as specific address
   static void insert(address code_pos);
 };
+
+#endif // CPU_SPARC_VM_NATIVEINST_SPARC_HPP
--- a/src/cpu/sparc/vm/registerMap_sparc.hpp	Fri Dec 10 15:46:59 2010 -0800
+++ b/src/cpu/sparc/vm/registerMap_sparc.hpp	Fri Dec 10 17:59:46 2010 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, 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
@@ -22,6 +22,9 @@
  *
  */