De-universalizing hotspot in jdk8u
david.dehaven at oracle.com
Mon Jan 12 19:06:30 UTC 2015
>>>> I don't know why Hotspot is packaged as a universal binary. In the jdk,
>>>> only libJObjC was built as a universal binary and that lib was removed
>>>> before JDK 8 shipped. What part of Macosx would need to interact
>>>> directly with libjvm.dylib in a way that required a (fake) universal
>>>> format, but no other libs in the jdk? I would say go ahead and change it.
>>> In the spirit of "never take down a fence until you know why it was put up in the first place" I've cc'd macosx-port-dev to see if there is anyone around who recalls why hotspot is using the universal binary feature.
>> I hear you.
>> My best guess is we'd initially planned on supporting 32 bit but (???) and the easiest way to deliver is in a universal binary. Note that we don't actually deliver universal binaries as the JVM is 64 bit only, or at least there are not nearly enough components there to run a full 32 bit JVM.
> We (Jim Melvin did the work) included universal support in HotSpot
> to not preclude someone else from doing the 32-bit MacOS X port and
> providing it via OpenJDK channels. The rest of the JDK did not
> include universal support, but the hotspot code would have served
> as an example way forward...
> However, we never heard from anyone willing to do the 32-bit port...
Thanks for the explanation Daniel. I'm preserving what's there in the same spirit, but turning off universal by default since it's unnecessary. It sounds to me like this is the correct approach.
More information about the build-dev