< prev index next >

src/java.base/share/native/libjli/java.c

Print this page




1970   } else {
1971     NULL_CHECK(initHelp = (*env)->GetStaticMethodID(env, cls,
1972                                         "initHelpMessage", "(Ljava/lang/String;)V"));
1973 
1974     NULL_CHECK(vmSelect = (*env)->GetStaticMethodID(env, cls, "appendVmSelectMessage",
1975                                         "(Ljava/lang/String;Ljava/lang/String;)V"));
1976 
1977     NULL_CHECK(vmSynonym = (*env)->GetStaticMethodID(env, cls,
1978                                         "appendVmSynonymMessage",
1979                                         "(Ljava/lang/String;Ljava/lang/String;)V"));
1980 
1981     NULL_CHECK(printHelp = (*env)->GetStaticMethodID(env, cls,
1982                                         "printHelpMessage", "(Z)V"));
1983 
1984     NULL_CHECK(jprogname = (*env)->NewStringUTF(env, _program_name));
1985 
1986     /* Initialize the usage message with the usual preamble */
1987     (*env)->CallStaticVoidMethod(env, cls, initHelp, jprogname);
1988     CHECK_EXCEPTION_RETURN();
1989 
1990 
1991     /* Assemble the other variant part of the usage */
1992     for (i=1; i<knownVMsCount; i++) {
1993       if (knownVMs[i].flag == VM_KNOWN) {
1994         NULL_CHECK(vm1 =  (*env)->NewStringUTF(env, knownVMs[i].name));




1995         NULL_CHECK(vm2 =  (*env)->NewStringUTF(env, knownVMs[i].name+1));
1996         (*env)->CallStaticVoidMethod(env, cls, vmSelect, vm1, vm2);
1997         CHECK_EXCEPTION_RETURN();






1998       }
1999     }
2000     for (i=1; i<knownVMsCount; i++) {
2001       if (knownVMs[i].flag == VM_ALIASED_TO) {
2002         NULL_CHECK(vm1 =  (*env)->NewStringUTF(env, knownVMs[i].name));
2003         NULL_CHECK(vm2 =  (*env)->NewStringUTF(env, knownVMs[i].alias+1));
2004         (*env)->CallStaticVoidMethod(env, cls, vmSynonym, vm1, vm2);
2005         CHECK_EXCEPTION_RETURN();
2006       }
2007     }
2008 
2009     /* Complete the usage message and print to stderr*/
2010     (*env)->CallStaticVoidMethod(env, cls, printHelp, printTo);
2011   }
2012   return;
2013 }
2014 
2015 /*
2016  * Read the jvm.cfg file and fill the knownJVMs[] array.
2017  *


2180     newMax = (knownVMsLimit == 0 ? INIT_MAX_KNOWN_VMS : (2 * knownVMsLimit));
2181     if (newMax <= minimum) {
2182         newMax = minimum;
2183     }
2184     newKnownVMs = (struct vmdesc*) JLI_MemAlloc(newMax * sizeof(struct vmdesc));
2185     if (knownVMs != NULL) {
2186         memcpy(newKnownVMs, knownVMs, knownVMsLimit * sizeof(struct vmdesc));
2187     }
2188     JLI_MemFree(knownVMs);
2189     knownVMs = newKnownVMs;
2190     knownVMsLimit = newMax;
2191 }
2192 
2193 
2194 /* Returns index of VM or -1 if not found */
2195 static int
2196 KnownVMIndex(const char* name)
2197 {
2198     int i;
2199     if (JLI_StrCCmp(name, "-J") == 0) name += 2;

2200     for (i = 0; i < knownVMsCount; i++) {
2201         if (!JLI_StrCmp(name, knownVMs[i].name)) {
2202             return i;
2203         }
2204     }
2205     return -1;
2206 }
2207 
2208 static void
2209 FreeKnownVMs()
2210 {
2211     int i;
2212     for (i = 0; i < knownVMsCount; i++) {
2213         JLI_MemFree(knownVMs[i].name);
2214         knownVMs[i].name = NULL;
2215     }
2216     JLI_MemFree(knownVMs);
2217 }
2218 
2219 /*




1970   } else {
1971     NULL_CHECK(initHelp = (*env)->GetStaticMethodID(env, cls,
1972                                         "initHelpMessage", "(Ljava/lang/String;)V"));
1973 
1974     NULL_CHECK(vmSelect = (*env)->GetStaticMethodID(env, cls, "appendVmSelectMessage",
1975                                         "(Ljava/lang/String;Ljava/lang/String;)V"));
1976 
1977     NULL_CHECK(vmSynonym = (*env)->GetStaticMethodID(env, cls,
1978                                         "appendVmSynonymMessage",
1979                                         "(Ljava/lang/String;Ljava/lang/String;)V"));
1980 
1981     NULL_CHECK(printHelp = (*env)->GetStaticMethodID(env, cls,
1982                                         "printHelpMessage", "(Z)V"));
1983 
1984     NULL_CHECK(jprogname = (*env)->NewStringUTF(env, _program_name));
1985 
1986     /* Initialize the usage message with the usual preamble */
1987     (*env)->CallStaticVoidMethod(env, cls, initHelp, jprogname);
1988     CHECK_EXCEPTION_RETURN();
1989 

1990     /* Assemble the other variant part of the usage */
1991     for (i=1; i<knownVMsCount; i++) {
1992       if (knownVMs[i].flag == VM_KNOWN) {
1993         char *longOpt = (char *)JLI_MemAlloc(JLI_StrLen(knownVMs[i].name) + 2);
1994         *longOpt = '\0';
1995         JLI_StrCat(longOpt, "-");
1996         JLI_StrCat(longOpt, knownVMs[i].name);
1997         NULL_CHECK(vm1 =  (*env)->NewStringUTF(env, longOpt));
1998         NULL_CHECK(vm2 =  (*env)->NewStringUTF(env, knownVMs[i].name+1));
1999         (*env)->CallStaticVoidMethod(env, cls, vmSelect, vm1, vm2);
2000         CHECK_EXCEPTION_RETURN();
2001         JLI_MemFree(longOpt);
2002         /* Mention the short option as a synonym */
2003         NULL_CHECK(vm1 =  (*env)->NewStringUTF(env, knownVMs[i].name));
2004         NULL_CHECK(vm2 =  (*env)->NewStringUTF(env, knownVMs[i].name+1));
2005         (*env)->CallStaticVoidMethod(env, cls, vmSynonym, vm1, vm2);
2006         CHECK_EXCEPTION_RETURN();
2007       }
2008     }
2009     for (i=1; i<knownVMsCount; i++) {
2010       if (knownVMs[i].flag == VM_ALIASED_TO) {
2011         NULL_CHECK(vm1 =  (*env)->NewStringUTF(env, knownVMs[i].name));
2012         NULL_CHECK(vm2 =  (*env)->NewStringUTF(env, knownVMs[i].alias+1));
2013         (*env)->CallStaticVoidMethod(env, cls, vmSynonym, vm1, vm2);
2014         CHECK_EXCEPTION_RETURN();
2015       }
2016     }
2017 
2018     /* Complete the usage message and print to stderr*/
2019     (*env)->CallStaticVoidMethod(env, cls, printHelp, printTo);
2020   }
2021   return;
2022 }
2023 
2024 /*
2025  * Read the jvm.cfg file and fill the knownJVMs[] array.
2026  *


2189     newMax = (knownVMsLimit == 0 ? INIT_MAX_KNOWN_VMS : (2 * knownVMsLimit));
2190     if (newMax <= minimum) {
2191         newMax = minimum;
2192     }
2193     newKnownVMs = (struct vmdesc*) JLI_MemAlloc(newMax * sizeof(struct vmdesc));
2194     if (knownVMs != NULL) {
2195         memcpy(newKnownVMs, knownVMs, knownVMsLimit * sizeof(struct vmdesc));
2196     }
2197     JLI_MemFree(knownVMs);
2198     knownVMs = newKnownVMs;
2199     knownVMsLimit = newMax;
2200 }
2201 
2202 
2203 /* Returns index of VM or -1 if not found */
2204 static int
2205 KnownVMIndex(const char* name)
2206 {
2207     int i;
2208     if (JLI_StrCCmp(name, "-J") == 0) name += 2;
2209     if (JLI_StrCCmp(name, "--") == 0) name += 1;
2210     for (i = 0; i < knownVMsCount; i++) {
2211         if (!JLI_StrCmp(name, knownVMs[i].name)) {
2212             return i;
2213         }
2214     }
2215     return -1;
2216 }
2217 
2218 static void
2219 FreeKnownVMs()
2220 {
2221     int i;
2222     for (i = 0; i < knownVMsCount; i++) {
2223         JLI_MemFree(knownVMs[i].name);
2224         knownVMs[i].name = NULL;
2225     }
2226     JLI_MemFree(knownVMs);
2227 }
2228 
2229 /*


< prev index next >