# HG changeset patch # User stefank # Date 1291212246 -3600 # Node ID c760f78e0a533fdaee3d555414df715727d5c5d2 # Parent 6a2d73358ff712de1b8bd940c56daecfb6ff13dd 7003125: precompiled.hpp is included when precompiled headers are not used Summary: Added an ifndef DONT_USE_PRECOMPILED_HEADER to precompiled.hpp. Set up DONT_USE_PRECOMPILED_HEADER when compiling with Sun Studio or when the user specifies USE_PRECOMPILED_HEADER=0. Fixed broken include dependencies. Reviewed-by: coleenp, kvn diff -r 6a2d73358ff7 -r c760f78e0a53 make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/linux/makefiles/gcc.make Wed Dec 01 15:04:06 2010 +0100 @@ -42,11 +42,14 @@ # 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_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch endif +endif #------------------------------------------------------------------------ @@ -150,6 +153,11 @@ 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 diff -r 6a2d73358ff7 -r c760f78e0a53 make/linux/makefiles/sparcWorks.make --- a/make/linux/makefiles/sparcWorks.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/linux/makefiles/sparcWorks.make Wed Dec 01 15:04:06 2010 +0100 @@ -79,6 +79,9 @@ 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 diff -r 6a2d73358ff7 -r c760f78e0a53 make/solaris/makefiles/gcc.make --- a/make/solaris/makefiles/gcc.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/solaris/makefiles/gcc.make Wed Dec 01 15:04:06 2010 +0100 @@ -47,11 +47,14 @@ # 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_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch endif +endif #------------------------------------------------------------------------ @@ -138,6 +141,11 @@ 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 diff -r 6a2d73358ff7 -r c760f78e0a53 make/solaris/makefiles/sparcWorks.make --- a/make/solaris/makefiles/sparcWorks.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/solaris/makefiles/sparcWorks.make Wed Dec 01 15:04:06 2010 +0100 @@ -150,6 +150,9 @@ 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 # ################################################# diff -r 6a2d73358ff7 -r c760f78e0a53 make/windows/makefiles/debug.make --- a/make/windows/makefiles/debug.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/windows/makefiles/debug.make Wed Dec 01 15:04:06 2010 +0100 @@ -28,7 +28,12 @@ SAWINDBG=sawindbg.dll 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) checkAndBuildSA !include ../local.make !include compile.make diff -r 6a2d73358ff7 -r c760f78e0a53 make/windows/makefiles/fastdebug.make --- a/make/windows/makefiles/fastdebug.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/windows/makefiles/fastdebug.make Wed Dec 01 15:04:06 2010 +0100 @@ -28,7 +28,12 @@ SAWINDBG=sawindbg.dll 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) checkAndBuildSA !include ../local.make !include compile.make diff -r 6a2d73358ff7 -r c760f78e0a53 make/windows/makefiles/product.make --- a/make/windows/makefiles/product.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/windows/makefiles/product.make Wed Dec 01 15:04:06 2010 +0100 @@ -27,7 +27,12 @@ AOUT=$(HS_FNAME) 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) checkAndBuildSA !include ../local.make !include compile.make diff -r 6a2d73358ff7 -r c760f78e0a53 make/windows/makefiles/vm.make --- a/make/windows/makefiles/vm.make Thu Dec 02 14:00:03 2010 -0500 +++ b/make/windows/makefiles/vm.make Wed Dec 01 15:04:06 2010 +0100 @@ -128,7 +128,13 @@ /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \ /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm" +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 @@ -164,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:: diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/ci/ciCallProfile.hpp --- a/src/share/vm/ci/ciCallProfile.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/ci/ciCallProfile.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -26,6 +26,7 @@ #define SHARE_VM_CI_CICALLPROFILE_HPP #include "ci/ciClassList.hpp" +#include "memory/allocation.hpp" // ciCallProfile // diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/ci/ciMethodHandle.hpp --- a/src/share/vm/ci/ciMethodHandle.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/ci/ciMethodHandle.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_CI_CIMETHODHANDLE_HPP #define SHARE_VM_CI_CIMETHODHANDLE_HPP +#include "ci/ciInstance.hpp" #include "prims/methodHandles.hpp" // ciMethodHandle diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/classfile/placeholders.hpp --- a/src/share/vm/classfile/placeholders.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/classfile/placeholders.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_CLASSFILE_PLACEHOLDERS_HPP #define SHARE_VM_CLASSFILE_PLACEHOLDERS_HPP +#include "runtime/thread.hpp" #include "utilities/hashtable.hpp" class PlaceholderEntry; diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/code/vtableStubs.hpp --- a/src/share/vm/code/vtableStubs.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/code/vtableStubs.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_CODE_VTABLESTUBS_HPP #define SHARE_VM_CODE_VTABLESTUBS_HPP +#include "code/vmreg.hpp" #include "memory/allocation.hpp" // A VtableStub holds an individual code stub for a pair (vtable index, #args) for either itables or vtables diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp --- a/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -26,6 +26,7 @@ #define SHARE_VM_GC_IMPLEMENTATION_PARNEW_PARGCALLOCBUFFER_HPP #include "memory/allocation.hpp" +#include "memory/blockOffsetTable.hpp" #include "memory/threadLocalAllocBuffer.hpp" #include "utilities/globalDefinitions.hpp" diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARMARKBITMAP_HPP #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARMARKBITMAP_HPP +#include "memory/memRegion.hpp" #include "gc_implementation/parallelScavenge/psVirtualspace.hpp" #include "utilities/bitMap.inline.hpp" diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -25,6 +25,8 @@ #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARMARKBITMAP_INLINE_HPP #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARMARKBITMAP_INLINE_HPP +#include "oops/oop.hpp" + inline bool ParMarkBitMap::mark_obj(oop obj) { diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/interpreter/oopMapCache.hpp --- a/src/share/vm/interpreter/oopMapCache.hpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/interpreter/oopMapCache.hpp Wed Dec 01 15:04:06 2010 +0100 @@ -26,6 +26,7 @@ #define SHARE_VM_INTERPRETER_OOPMAPCACHE_HPP #include "oops/generateOopMap.hpp" +#include "runtime/mutex.hpp" // A Cache for storing (method, bci) -> oopMap. // The memory management system uses the cache when locating object diff -r 6a2d73358ff7 -r c760f78e0a53 src/share/vm/libadt/vectset.cpp --- a/src/share/vm/libadt/vectset.cpp Thu Dec 02 14:00:03 2010 -0500 +++ b/src/share/vm/libadt/vectset.cpp Wed Dec 01 15:04:06 2010 +0100 @@ -249,13 +249,13 @@ const VectorSet &s = *(set.asVectorSet()); // NOTE: The intersection is never any larger than the smallest set. - register uint small = ((size