RFC: cannot run hotspot with bootstrap jdk1.7.0_45: see 8014399: Remove JVM_SetProtectionDomain from hotspot:

Francis ANDRE francis.andre.kampbell at orange.fr
Sun Nov 3 22:48:49 PST 2013


David,

Le 03/11/2013 22:24, David Holmes a écrit :
> Francis,
>
> On 2/11/2013 10:58 PM, Francis ANDRE wrote:
>> Hi
>>
>> Building hotspot-rt using this repository
>> http://hg.openjdk.java.net/hsx/hotspot-rt on a WXP/Cygwin/VS2010
>> platform and running
>>
>> C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe
>> -XXaltjvm=Z:/JDK/hotspot-rt/hotspot/build\vs-i486/compiler1/debug
>> -Dsun.java.launcher=gamma
>
> The gamma launcher has been removed partly because of this kind of problem. 
> You can not use a hs25 VM in a JDK7 any more. The "hotspot express" release 
> model, where newer VMs could be used in older JDKs is no more. The VM and JDK 
> are once again tightly connected.
No problem with the VM and JDK being once again tightly connected once the 
bootstrap process is correct, but in my case, the ProjectCreator for MSVC102 
generates this line of command for the hsx/hotspot-rt repository

   <PropertyGroup 
Condition="'$(Configuration)|$(Platform)'=='compiler1_fastdebug|Win32'">
<LocalDebuggerCommand>C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe</LocalDebuggerCommand>
     <LocalDebuggerCommandArguments>-XXaltjvm=$(TargetDir) 
-Dsun.java.launcher=gamma</LocalDebuggerCommandArguments>
<LocalDebuggerEnvironment>JAVA_HOME=C:/Progra~1/Java/jdk1.7.0_45</LocalDebuggerEnvironment>
   </PropertyGroup>

which is exactly the command line I displayed below

C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe 
-XXaltjvm=Z:/JDK/hotspot-rt/hotspot/build\vs-i486/compiler1/debug 
-Dsun.java.launcher=gamma
>
>> produces the following exception
>>
>> _JVM_SetProtectionDomain at 12 is not found in the dynamic linked library
>> jvm.dll
>>
>>
>> The definition of SetProtectionDomain has been removed from the jdk8 jvm
>> but not its reference in the jdk7 java.exe, thus it is not possible
>> anymore to build/run a jdk8 release with a bootstrap release as of jdk7
>> that contains such reference. Thus I am proposing to build a jdk7
>> release without any reference to the _JVM_SetProtectionDomain entry
>> point by back-porting the 8014399  to the jdk7u distribution.
>
> That might be possible but there are likely to be other things - particularly 
> in the area of invokeDynamic and MethodHandles that will prevent hs25 from 
> operating within 7u45.
InvokeDynamic is a new opcode that will be produced only by jdk8, if I 
understand well. What I am requesting is just a backport of the reference to 
SetProtectionDomain -- this changeset 37aa82c52317 -- so that a JDK8 be 
produced/tested with a jdk7 as bootstrap jdk.

Currently, I applied  locally  this changeset 37aa82c52317 and ba9dacff9c9d to 
the hsx/jdk7u repo and use it to bootstrap jdk8. Tests are in progress. I will 
keek you updated on the results.
>
> David
> -----
>
>>
>>
>> Francis
>>
>>
>



More information about the hotspot-runtime-dev mailing list