changeset 25638:907806460916

Merge
author drchase
date Fri, 11 Jul 2014 23:54:16 +0000
parents 369f62cdfaba eac9208a2516
children 61be16de0fd5
files hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.cpp hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.hpp hotspot/src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp hotspot/src/share/vm/gc_implementation/parNew/asParNewGeneration.hpp hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java jdk/make/src/classes/build/tools/tzdb/ChronoField.java jdk/make/src/classes/build/tools/tzdb/DateTimeException.java jdk/make/src/classes/build/tools/tzdb/LocalDate.java jdk/make/src/classes/build/tools/tzdb/LocalDateTime.java jdk/make/src/classes/build/tools/tzdb/LocalTime.java jdk/make/src/classes/build/tools/tzdb/TimeDefinition.java jdk/make/src/classes/build/tools/tzdb/Utils.java jdk/make/src/classes/build/tools/tzdb/ZoneOffset.java jdk/make/src/classes/build/tools/tzdb/ZoneOffsetTransition.java jdk/make/src/classes/build/tools/tzdb/ZoneOffsetTransitionRule.java jdk/make/src/classes/build/tools/tzdb/ZoneRulesBuilder.java jdk/src/macosx/native/com/apple/laf/ScreenPopupFactory.m jdk/src/macosx/native/jobjc/JObjC.xcodeproj/default.pbxuser jdk/src/macosx/native/jobjc/JObjC.xcodeproj/project.pbxproj jdk/src/macosx/native/jobjc/README.txt jdk/src/macosx/native/jobjc/TODOS jdk/src/macosx/native/jobjc/bridgesupport.gmk jdk/src/macosx/native/jobjc/build.xml jdk/src/macosx/native/jobjc/extract_classes.pl jdk/src/macosx/native/jobjc/run-and-write-if-okay jdk/src/macosx/native/jobjc/rungen jdk/src/macosx/native/jobjc/runjava jdk/src/macosx/native/jobjc/src/core/PrimitiveCoder.hs jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CIF.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java jdk/src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java jdk/src/macosx/native/jobjc/src/core/native/CIF.m jdk/src/macosx/native/jobjc/src/core/native/Coder.m jdk/src/macosx/native/jobjc/src/core/native/FFIType.m jdk/src/macosx/native/jobjc/src/core/native/Function.m jdk/src/macosx/native/jobjc/src/core/native/ID.m jdk/src/macosx/native/jobjc/src/core/native/Invoke.m jdk/src/macosx/native/jobjc/src/core/native/JObjCRuntime.m jdk/src/macosx/native/jobjc/src/core/native/MacOSXFramework.m jdk/src/macosx/native/jobjc/src/core/native/NSClass.m jdk/src/macosx/native/jobjc/src/core/native/NativeBuffer.h jdk/src/macosx/native/jobjc/src/core/native/NativeBuffer.m jdk/src/macosx/native/jobjc/src/core/native/NativeObjectLifecycleManager.m jdk/src/macosx/native/jobjc/src/core/native/SEL.m jdk/src/macosx/native/jobjc/src/core/native/Subclassing.m jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/BootClassPathMinus.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassConsolidator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/ClassGenerator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FileCopier.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FrameworkGenerator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/FunctionGenerator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Generator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/MethodDisambiguator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/RestrictedKeywords.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/Utils.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/AbstractObjCClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CFTypeClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CategoryClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/CopiedFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/FrameworkClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/GeneratedClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/JObjCClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/MixedPrimitiveCoderClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OpaqueClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/OutputFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/RootJObjCClass.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/classes/StructClassFile.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Arg.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/CFType.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Category.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Clazz.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Constant.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Element.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ElementWType.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Framework.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Function.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/FunctionAlias.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/InformalProtocol.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Method.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/NativeEnum.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Opaque.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/OutputFileGenerator.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Protocol.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/ReturnValue.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/StringConstant.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/Struct.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/TypeElement.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/CoderDescriptor.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/ComplexCoderDescriptor.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/coders/PrimitiveCoderDescriptor.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/JType.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/NType.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/Type.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeCache.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/model/types/TypeToJType.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/Fp.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/JavaLang.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeMerger.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypeParser.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/NTypePrinter.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/ObjectInspector.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/QA.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StringStream.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolver.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/internal/jobjc/generator/utils/StructOffsetResolverBigBang.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/SuperClassExtractor.java jdk/src/macosx/native/jobjc/src/generator/java/com/apple/jobjc/UnsafeRuntimeAccess.java jdk/src/macosx/native/jobjc/src/runtime-additions/java/com/apple/jobjc/Utils.java jdk/src/macosx/native/jobjc/src/runtime-additions/native/NativeNumber.m jdk/src/macosx/native/jobjc/src/runtime-additions/native/NativeString.m jdk/src/macosx/native/jobjc/src/runtime-additions/native/NativeThread.m jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BaseBench.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchFunCall.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchIDPop.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchStructCoding.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/BenchUnsafe.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/CategoryTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/FunctionTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/GUIDemo.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IBDemo.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/IntroTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NSClassTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeBufferTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/NativeTypeTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/PooledTestCase.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SELTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/StructTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/SubclassingTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/TestUtils.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/UtilsTest.java jdk/src/macosx/native/jobjc/src/tests/java/com/apple/jobjc/VarArgsTest.java jdk/src/macosx/native/jobjc/src/tests/native/FunCallBench.m jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessor.java jdk/src/share/classes/com/sun/java/browser/dom/DOMAction.java jdk/src/share/classes/com/sun/java/browser/dom/DOMService.java jdk/src/share/classes/com/sun/java/browser/dom/DOMServiceProvider.java jdk/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java jdk/src/share/classes/com/sun/java/browser/net/ProxyInfo.java jdk/src/share/classes/com/sun/java/browser/net/ProxyService.java jdk/src/share/classes/com/sun/java/browser/net/ProxyServiceProvider.java jdk/src/share/classes/com/sun/media/sound/services/linux-i586/javax.sound.sampled.spi.MixerProvider jdk/src/share/classes/com/sun/media/sound/services/windows-i586/javax.sound.sampled.spi.MixerProvider jdk/src/share/classes/com/sun/media/sound/services/windows-ia64/javax.sound.sampled.spi.MixerProvider jdk/src/share/classes/sun/awt/EventQueueDelegate.java jdk/src/share/classes/sun/jvmstat/monitor/remote/BufferedMonitoredVm.java jdk/src/share/classes/sun/text/CodePointIterator.java jdk/src/share/lib/security/BlacklistedCertsConverter.java jdk/src/share/lib/security/blacklisted.certs jdk/src/share/lib/security/blacklisted.certs.pem jdk/test/com/sun/jdi/ProcessAttachDebuggee.java jdk/test/com/sun/jdi/ProcessAttachDebugger.java jdk/test/com/sun/jdi/ProcessAttachTest.sh jdk/test/com/sun/jdi/ShutdownDebuggee.java jdk/test/com/sun/jdi/SuspendNoFlagTest.sh jdk/test/com/sun/tools/attach/Shutdown.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/AbsoluteComponentCenterCalculator.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/DataFlavorSearcher.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MyTransferable.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java jdk/test/java/awt/EventQueue/6638195/bug6638195.java jdk/test/java/awt/datatransfer/DuplicatedNativesTest/DuplicatedNativesTest.java jdk/test/java/awt/datatransfer/MappingGenerationTest/MappingGenerationTest.java jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh jdk/test/sun/jvmstat/testlibrary/JavaProcess.java langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/CommentedMethodFinder.java langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodFinder.java langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TaggedMethodFinder.java langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java langtools/test/com/sun/javadoc/testHref/pkg/C3.java langtools/test/tools/javac/completion/C.java langtools/test/tools/javac/completion/C.out langtools/test/tools/javac/completion/example/B.class langtools/test/tools/javac/diags/examples/AnnotationsNotSupported.java langtools/test/tools/javac/diags/examples/AssertAsIdentifier.java langtools/test/tools/javac/diags/examples/EnumAsIdentifier.java langtools/test/tools/javac/diags/examples/EnumsNotSupported.java langtools/test/tools/javac/diags/examples/ForeachNotSupported.java langtools/test/tools/javac/diags/examples/GenericsNotSupported.java langtools/test/tools/javac/diags/examples/StaticImportNotSupported.java langtools/test/tools/javac/diags/examples/UnsupportedFpLit.java langtools/test/tools/javac/diags/examples/VarargsNotSupported.java langtools/test/tools/javac/enum/T5081785a.java langtools/test/tools/javac/enum/T5081785b.java langtools/test/tools/javac/enum/T5081785c.java langtools/test/tools/javac/expression/_super/NonDirectSuper/Base.java langtools/test/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java langtools/test/tools/javac/expression/_super/NonDirectSuper/Target11.java langtools/test/tools/javac/miranda/6964669/T6964669.java langtools/test/tools/javac/miranda/6964669/pkg/A.java langtools/test/tools/javac/miranda/6964669/pkg/B.java langtools/test/tools/javac/miranda/6964669/pkg/C.java langtools/test/tools/javac/mixedTarget/CompatibleAbstracts1.java langtools/test/tools/javac/mixedTarget/CompatibleAbstracts2.java langtools/test/tools/javac/versions/CheckClassFileVersion.java langtools/test/tools/javac/versions/check.sh nashorn/src/jdk/nashorn/api/scripting/resources/engine.js
diffstat 2618 files changed, 67253 insertions(+), 46045 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Jul 11 19:51:36 2014 -0400
+++ b/.hgtags	Fri Jul 11 23:54:16 2014 +0000
@@ -263,3 +263,5 @@
 c5495e25c7258ab5f96a1ae14610887d76d2be63 jdk9-b18
 2dcf544eb7ed5ac6a3f7813a32e33acea7442405 jdk9-b19
 89731ae72a761afdf4262e8b9513f302f6563f89 jdk9-b20
+28dd0c7beb3cad9cf95f17b4b5ad87eb447a4084 jdk9-b21
+9678e0db8ff6ed845d4c2ee4a3baf7f386a777e5 jdk9-b22
--- a/.hgtags-top-repo	Fri Jul 11 19:51:36 2014 -0400
+++ b/.hgtags-top-repo	Fri Jul 11 23:54:16 2014 +0000
@@ -263,3 +263,5 @@
 65abab59f783fcf02ff8e133431c252f9e5f07d5 jdk9-b18
 75a08df650eb3126bab0c4d15241f5886162393c jdk9-b19
 ee4fd72b2ec3d92497f37163352f294aa695c6fb jdk9-b20
+9052803f4d01feda28b3d65f2b64dd457d21c7b6 jdk9-b21
+8e4bdab4c362aadde2d321f968cd503a2f779e2f jdk9-b22
--- a/common/autoconf/basics.m4	Fri Jul 11 19:51:36 2014 -0400
+++ b/common/autoconf/basics.m4	Fri Jul 11 23:54:16 2014 +0000
@@ -512,7 +512,7 @@
   )
 
   AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
-      [use this directory as sysroot)])],
+      [use this directory as sysroot])],
       [SYSROOT=$with_sysroot]
   )
 
@@ -531,6 +531,75 @@
       [BASIC_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
   )
 
+  if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
+    # detect if Xcode is installed by running xcodebuild -version
+    # if no Xcode installed, xcodebuild exits with 1
+    # if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
+    if /usr/bin/xcodebuild -version >/dev/null 2>&1; then
+      # We need to use xcodebuild in the toolchain dir provided by the user, this will
+      # fall back on the stub binary in /usr/bin/xcodebuild
+      AC_PATH_PROG([XCODEBUILD], [xcodebuild], [/usr/bin/xcodebuild], [$TOOLCHAIN_PATH])
+    else
+      # this should result in SYSROOT being empty, unless --with-sysroot is provided
+      # when only the command line tools are installed there are no SDKs, so headers
+      # are copied into the system frameworks
+      XCODEBUILD=
+      AC_SUBST(XCODEBUILD)
+    fi
+  
+    AC_MSG_CHECKING([for sdk name])
+    AC_ARG_WITH([sdk-name], [AS_HELP_STRING([--with-sdk-name],
+        [use the platform SDK of the given name. @<:@macosx@:>@])],
+        [SDKNAME=$with_sdk_name]
+    )
+    AC_MSG_RESULT([$SDKNAME])
+
+    # if toolchain path is specified then don't rely on system headers, they may not compile
+    HAVE_SYSTEM_FRAMEWORK_HEADERS=0
+    test -z "$TOOLCHAIN_PATH" && \
+      HAVE_SYSTEM_FRAMEWORK_HEADERS=`test ! -f /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h; echo $?`
+
+    if test -z "$SYSROOT"; then
+      if test -n "$XCODEBUILD"; then
+        # if we don't have system headers, use default SDK name (last resort)
+        if test -z "$SDKNAME" -a $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
+          SDKNAME=${SDKNAME:-macosx}
+        fi
+
+        if test -n "$SDKNAME"; then
+          # Call xcodebuild to determine SYSROOT
+          SYSROOT=`"$XCODEBUILD" -sdk $SDKNAME -version | grep '^Path: ' | sed 's/Path: //'`
+        fi
+      else
+        if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
+          AC_MSG_ERROR([No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK])
+        fi
+      fi
+    else
+      # warn user if --with-sdk-name was also set
+      if test -n "$with_sdk_name"; then
+        AC_MSG_WARN([Both SYSROOT and --with-sdk-name are set, only SYSROOT will be used])
+      fi
+    fi
+
+    if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0 -a -z "$SYSROOT"; then
+      # If no system framework headers, then SYSROOT must be set, or we won't build
+      AC_MSG_ERROR([Unable to determine SYSROOT and no headers found in /System/Library/Frameworks. Check Xcode configuration, --with-sysroot or --with-sdk-name arguments.])
+    fi
+
+    # Perform a basic sanity test
+    if test ! -f "$SYSROOT/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h"; then
+      if test -z "$SYSROOT"; then
+        AC_MSG_ERROR([Unable to find required framework headers, provide a path to an SDK via --with-sysroot or --with-sdk-name and be sure Xcode is installed properly])
+      else
+        AC_MSG_ERROR([Invalid SDK or SYSROOT path, dependent framework headers not found])
+      fi
+    fi
+
+    # set SDKROOT too, Xcode tools will pick it up
+    AC_SUBST(SDKROOT,$SYSROOT)
+  fi
+
   # Prepend the extra path to the global path
   BASIC_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
 
--- a/common/autoconf/flags.m4	Fri Jul 11 19:51:36 2014 -0400
+++ b/common/autoconf/flags.m4	Fri Jul 11 23:54:16 2014 +0000
@@ -131,6 +131,10 @@
             -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
             -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
       fi
+    elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
+      # Apple only wants -isysroot <path>, but we also need -iframework<path>/System/Library/Frameworks
+      SYSROOT_CFLAGS="-isysroot \"$SYSROOT\" -iframework\"$SYSROOT/System/Library/Frameworks\""
+      SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
     elif test "x$TOOLCHAIN_TYPE" = xgcc; then
       SYSROOT_CFLAGS="--sysroot=\"$SYSROOT\""
       SYSROOT_LDFLAGS="--sysroot=\"$SYSROOT\""
@@ -143,6 +147,14 @@
     LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
     LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
   fi
+
+  # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
+  # set this here so it doesn't have to be peppered throughout the forest
+  if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+    SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
+    SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
+  fi
+
   AC_SUBST(SYSROOT_CFLAGS)
   AC_SUBST(SYSROOT_LDFLAGS)
 ])
@@ -644,23 +656,18 @@
 
   # Additional macosx handling
   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
-    if test "x$TOOLCHAIN_TYPE" = xgcc; then
-      # FIXME: This needs to be exported in spec.gmk due to closed legacy code.
-      # FIXME: clean this up, and/or move it elsewhere.
+    # Setting these parameters makes it an error to link to macosx APIs that are
+    # newer than the given OS version and makes the linked binaries compatible
+    # even if built on a newer version of the OS.
+    # The expected format is X.Y.Z
+    MACOSX_VERSION_MIN=10.7.0
+    AC_SUBST(MACOSX_VERSION_MIN)
 
-      # Setting these parameters makes it an error to link to macosx APIs that are
-      # newer than the given OS version and makes the linked binaries compatible
-      # even if built on a newer version of the OS.
-      # The expected format is X.Y.Z
-      MACOSX_VERSION_MIN=10.7.0
-      AC_SUBST(MACOSX_VERSION_MIN)
-
-      # The macro takes the version with no dots, ex: 1070
-      # Let the flags variables get resolved in make for easier override on make
-      # command line.
-      COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
-      LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
-    fi
+    # The macro takes the version with no dots, ex: 1070
+    # Let the flags variables get resolved in make for easier override on make
+    # command line.
+    COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
+    LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
   fi
 
   # Setup some hard coded includes
--- a/common/autoconf/generated-configure.sh	Fri Jul 11 19:51:36 2014 -0400
+++ b/common/autoconf/generated-configure.sh	Fri Jul 11 23:54:16 2014 +0000
@@ -874,6 +874,8 @@
 OUTPUT_ROOT
 CONF_NAME
 SPEC
+SDKROOT
+XCODEBUILD
 BUILD_VARIANT_RELEASE
 DEBUG_CLASSFILES
 FASTDEBUG
@@ -1040,6 +1042,7 @@
 with_tools_dir
 with_toolchain_path
 with_extra_path
+with_sdk_name
 with_conf_name
 with_builddeps_conf
 with_builddeps_server
@@ -1074,7 +1077,6 @@
 with_extra_ldflags
 enable_debug_symbols
 enable_zip_debug_info
-enable_macosx_runtime_support
 with_x
 with_cups
 with_cups_include
@@ -1085,6 +1087,7 @@
 with_alsa
 with_alsa_include
 with_alsa_lib
+with_libjpeg
 with_giflib
 with_lcms
 with_libpng
@@ -1841,9 +1844,6 @@
   --disable-debug-symbols disable generation of debug symbols [enabled]
   --disable-zip-debug-info
                           disable zipping of debug-info files [enabled]
-  --enable-macosx-runtime-support
-                          Deprecated. Option is kept for backwards
-                          compatibility and is ignored
   --disable-freetype-bundling
                           disable bundling of the freetype library with the
                           build result [enabled on Windows or when using
@@ -1872,12 +1872,13 @@
                           optimized (HotSpot build only)) [release]
   --with-devkit           use this devkit for compilers, tools and resources
   --with-sys-root         alias for --with-sysroot for backwards compatability
-  --with-sysroot          use this directory as sysroot)
+  --with-sysroot          use this directory as sysroot
   --with-tools-dir        alias for --with-toolchain-path for backwards
                           compatibility
   --with-toolchain-path   prepend these directories when searching for
                           toolchain binaries (compilers etc)
   --with-extra-path       prepend these directories to the default path
+  --with-sdk-name         use the platform SDK of the given name. [macosx]
   --with-conf-name        use this as the name of the configuration [generated
                           from important configuration options]
   --with-builddeps-conf   use this configuration file for the builddeps
@@ -1942,6 +1943,8 @@
                           headers under PATH/include)
   --with-alsa-include     specify directory for the alsa include files
   --with-alsa-lib         specify directory for the alsa library
+  --with-libjpeg          use libjpeg from build system or OpenJDK source
+                          (system, bundled) [bundled]
   --with-giflib           use giflib from build system or OpenJDK source
                           (system, bundled) [bundled]
   --with-lcms             use lcms2 from build system or OpenJDK source
@@ -4308,7 +4311,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1402614845
+DATE_WHEN_GENERATED=1403557683
 
 ###############################################################################
 #
@@ -13607,7 +13610,7 @@
       VAR_CPU_BITS=32
       VAR_CPU_ENDIAN=big