浏览代码

Accept a comma-delimited list of kernel options in the server

jonathanvdc 8 年之前
父节点
当前提交
7679725903
共有 1 个文件被更改,包括 17 次插入14 次删除
  1. 17 14
      hybrid_server/classes/mvkcontroller.xml

+ 17 - 14
hybrid_server/classes/mvkcontroller.xml

@@ -12,24 +12,27 @@
             self.root = self.mvs.read_root()[0]
 
             # Instantiate the kernel.
+            self.mvk = ModelverseKernel(self.root)
+
+            # Parse kernel-related options
             default_kernel_type = 'baseline-jit'
-            kernel_type = default_kernel_type
+            kernel_opts = [default_kernel_type]
             for parameter in params:
                 if parameter.startswith('--kernel='):
-                    kernel_type = parameter[len('--kernel='):]
+                    kernel_opts = parameter[len('--kernel='):].split(',')
+
+            for opt in kernel_opts:
+                if opt == 'legacy-interpreter':
+                    self.mvk = LegacyModelverseKernel(self.root)
+                elif opt == 'interpreter':
+                    self.mvk.jit.set_jit_enabled(False)
+                elif opt == 'no-thunks':
+                    self.mvk.jit.enable_thunks(False)
+                elif opt == default_kernel_type:
+                    pass
+                else:
+                    print("warning: unknown kernel option '%s'." % opt)
 
-            if kernel_type == 'legacy-interpreter':
-                self.mvk = LegacyModelverseKernel(self.root)
-            elif kernel_type == 'interpreter':
-                self.mvk = ModelverseKernel(self.root)
-                self.mvk.jit.set_jit_enabled(False)
-            else:
-                if kernel_type != default_kernel_type:
-                    print(
-                        "warning: unknown kernel type '%s'. Defaulting to '%s'."
-                        % (kernel_type, default_kernel_type))
-                self.mvk = ModelverseKernel(self.root)
-                
             self.all_failed = False
             self.timeout = False
             self.init_time = time.time()