// Thread stack size specified by the -Xss runtime argument.
size_t stack_size = 0;
+
+ // Start time of the VM
+ jlong startTime = 0;
+
+ // Arguments passed to the VM
+ JArray<jstring>* vmArgs;
+
+ // Currently loaded classes
+ jint loadedClasses = 0;
+
+ // Unloaded classes
+ jlong unloadedClasses = 0;
}
// We accept all non-standard options accepted by Sun's java command,
if (runtimeInitialized)
return -1;
+ runtimeInitialized = true;
+ startTime = _Jv_platform_gettimeofday();
+
jint result = parse_init_args (vm_args);
if (result < 0)
return -1;
fprintf (stderr, "libgcj: couldn't create virtual machine\n");
exit (1);
}
+
+ if (vm_args == NULL)
+ gcj::vmArgs = JvConvertArgv(0, NULL);
+ else
+ {
+ const char* vmArgs[vm_args->nOptions];
+ const char** vmPtr = vmArgs;
+ struct _Jv_VMOption* optionPtr = vm_args->options;
+ for (int i = 0; i < vm_args->nOptions; ++i)
+ *vmPtr++ = (*optionPtr++).optionString;
+ gcj::vmArgs = JvConvertArgv(vm_args->nOptions, vmArgs);
+ }
// Get the Runtime here. We want to initialize it before searching
// for `main'; that way it will be set up if `main' is a JNI method.
_Jv_RunMain (klass, NULL, argc, argv, false);
}
+void
+JvRunMainName (const char *name, int argc, const char **argv)
+{
+ _Jv_RunMain (NULL, name, argc, argv, false);
+}
+
\f
// Parse a string and return a heap size.