RFR: JDK-8180202: -XXaltjvm is not working anymore on MacOSX
kumar.x.srinivasan at oracle.com
Mon May 15 14:21:36 UTC 2017
>> Please review simple fix for JDK-8180202, recall we hard coded "server",
>> this is incorrect because the function CheckJvmType will determin
>> the correct jvmtype based on jvm.cfg *or* path/jvmtype specified by
>> -XXaltjvm. IMO all this needs to be cleaned up when jvm.cfg is removed.
> So this original change was wrong:
> ! const char *jvmtypeUsed = ((bitsWanted == 64) &&
> (strcmp(jvmtype, "client") == 0)) ? "server" : jvmtype;
> ! const char *jvmtypeUsed = "server";
> because jvmType might still be something other than "server"? Not sure
> how but okay.
> However I don't see the connection to -XXaltjvm as that should be
> setting a full path itself and not relying on jvmType within the
> well-known path ??
Ah, please see
What is happening is if XXaltjvm contains a slash then it treats it as a
ex: -XXaltjvm /tmp/myvm
if not then jvmtype, and uses it choose the VM variant, the latter seems to
be an override for jvm.cfg, ex: -XXaltjvm minimal
Not sure of the historical background, all this needs some cleanup, and
removing jvm.cfg will help clean some of this mess up.
Hope that clarifies.
>> PS: please also approve the removal of the test from the internal
>> diff in the JBS issue.
>> diff --git a/src/java.base/macosx/native/libjli/java_md_macosx.c
>> --- a/src/java.base/macosx/native/libjli/java_md_macosx.c
>> +++ b/src/java.base/macosx/native/libjli/java_md_macosx.c
>> @@ -424,7 +424,7 @@
>> * macosx client library is built thin, i386 only.
>> * 64 bit client requests must load server library
>> - JLI_Snprintf(jvmpath, jvmpathsize, "%s/lib/server/" JVM_DLL,
>> + JLI_Snprintf(jvmpath, jvmpathsize, "%s/lib/%s/" JVM_DLL,
>> jrepath, jvmtype);
>> JLI_TraceLauncher("Does `%s' exist ... ", jvmpath);
More information about the core-libs-dev