Skip to content
Snippets Groups Projects
Commit b6b43e2d authored by Nadav Har'El's avatar Nadav Har'El
Browse files

Java.so: pass -X options to JVM

Pass -X* (and of course also -XX*) options to the JVM.
The -Xmx option is the most useful example.
parent 3c5f44d9
No related branches found
No related tags found
No related merge requests found
...@@ -25,6 +25,11 @@ JavaVMOption mkoption(const char* s) ...@@ -25,6 +25,11 @@ JavaVMOption mkoption(const char* s)
return opt; return opt;
} }
inline bool starts_with(const char *s, const char *prefix)
{
return !strncmp(s, prefix, strlen(prefix));
}
extern "C" extern "C"
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
...@@ -43,10 +48,11 @@ int main(int argc, char **argv) ...@@ -43,10 +48,11 @@ int main(int argc, char **argv)
for (int i = 1; i < orig_argc; i++) { for (int i = 1; i < orig_argc; i++) {
// We are not supposed to look for verbose options after -jar // We are not supposed to look for verbose options after -jar
// or class name. From that point on, they are user provided // or class name. From that point on, they are user provided
if (!strcmp(argv[i], "-jar") || strncmp(argv[i], "-", strlen("-"))) if (!strcmp(argv[i], "-jar") || !starts_with(argv[i], "-"))
break; break;
if (!strncmp(argv[i], "-verbose", strlen("-verbose"))) { // Pass some options directly to the JVM
if (starts_with(argv[i], "-verbose") || starts_with(argv[i], "-X")) {
options.push_back(mkoption(argv[i])); options.push_back(mkoption(argv[i]));
argv[i] = NULL; // so we don't pass it to RunJava argv[i] = NULL; // so we don't pass it to RunJava
argc--; argc--;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment