فهرست منبع

add -D disable-parallelism

Simon Krajewski 3 ماه پیش
والد
کامیت
16cfa02eb2
3فایلهای تغییر یافته به همراه7 افزوده شده و 0 حذف شده
  1. 5 0
      src-json/define.json
  2. 1 0
      src/compiler/compiler.ml
  3. 1 0
      src/compiler/serverCompilationContext.ml

+ 5 - 0
src-json/define.json

@@ -78,6 +78,11 @@
 		"define": "disable-hxb-optimizations",
 		"doc": "Disable shortcuts used by hxb cache to speed up display requests."
 	},
+	{
+		"name": "DisableParallelism",
+		"define": "disable-parallelism",
+		"doc": "Disable all uses of parallelism in the compiler."
+	},
 	{
 		"name": "DisableUnicodeStrings",
 		"define": "disable-unicode-strings",

+ 1 - 0
src/compiler/compiler.ml

@@ -270,6 +270,7 @@ module Setup = struct
 end
 
 let check_defines com =
+	if defined com Define.DisableParallelism then Parallel.enable := false;
 	PMap.iter (fun k v ->
 		try
 			let reason = Hashtbl.find Define.deprecation_lut k in

+ 1 - 0
src/compiler/serverCompilationContext.ml

@@ -44,6 +44,7 @@ let reset sctx =
 	Hashtbl.clear sctx.changed_directories;
 	sctx.was_compilation <- false;
 	Parser.reset_state();
+	Parallel.enable := true;
 	Hashtbl.clear DeprecationCheck.warned_positions;
 	stats.s_files_parsed := 0;
 	stats.s_classes_built := 0;