[vmkit-commits] [vmkit] r54730 - /vmkit/trunk/tools/vmkit/Launcher.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Wed Aug 13 04:29:17 PDT 2008


Author: geoffray
Date: Wed Aug 13 06:29:15 2008
New Revision: 54730

URL: http://llvm.org/viewvc/llvm-project?rev=54730&view=rev
Log:
Make the VM to run an enum.


Modified:
    vmkit/trunk/tools/vmkit/Launcher.cpp

Modified: vmkit/trunk/tools/vmkit/Launcher.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/tools/vmkit/Launcher.cpp?rev=54730&r1=54729&r2=54730&view=diff

==============================================================================
--- vmkit/trunk/tools/vmkit/Launcher.cpp (original)
+++ vmkit/trunk/tools/vmkit/Launcher.cpp Wed Aug 13 06:29:15 2008
@@ -20,8 +20,16 @@
 
 #include "CommandLine.h"
 
-static llvm::cl::opt<bool> Java("java", llvm::cl::desc("Run the JVM"));
-static llvm::cl::opt<bool> Net("net", llvm::cl::desc("Run the .Net VM"));
+enum VMType {
+  Interactive, RunJava, RunNet
+};
+
+static llvm::cl::opt<VMType> VMToRun(llvm::cl::desc("Choose VM to run:"),
+  llvm::cl::values(
+    clEnumValN(Interactive , "i", "Run in interactive mode"),
+    clEnumValN(RunJava , "java", "Run the JVM"),
+    clEnumValN(RunNet, "net", "Run the CLI VM"),
+   clEnumValEnd));
 
 int found(char** argv, int argc, const char* name) {
   int i = 1;
@@ -52,19 +60,17 @@
     }
   }
   
-  if (Java) {
+  if (VMToRun == RunJava) {
     mvm::VirtualMachine::initialiseJVM();
     mvm::VirtualMachine* vm = mvm::VirtualMachine::createJVM();
     vm->runApplication(argc, argv);
-  } else if (Net) {
+  } else if (VMToRun == RunNet) {
     mvm::VirtualMachine::initialiseCLIVM();
     mvm::VirtualMachine* vm = mvm::VirtualMachine::createCLIVM();
     vm->runApplication(argc, argv);
   } else {
     mvm::VirtualMachine::initialiseJVM();
     mvm::VirtualMachine::initialiseCLIVM();
-    mvm::VirtualMachine* bootstrapJVM = mvm::VirtualMachine::createJVM();
-    mvm::VirtualMachine* bootstrapNet = mvm::VirtualMachine::createCLIVM();
     mvm::CommandLine MyCl;
     MyCl.vmlets["java"] = (mvm::VirtualMachine::createJVM);
     MyCl.vmlets["net"] = (mvm::VirtualMachine::createCLIVM);





More information about the vmkit-commits mailing list