| ... | @@ -868,10 +868,16 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt | ... | @@ -868,10 +868,16 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt |
| 868 | else => false, | 868 | else => false, |
| 869 | }, | 869 | }, |
| 870 | .separate_thread => switch (backend) { | 870 | .separate_thread => switch (backend) { |
| | 871 | // Supports a separate thread but does not support N separate |
| | 872 | // threads because they would all just be locking the same mutex to |
| | 873 | // protect Builder. |
| 871 | .stage2_llvm => false, | 874 | .stage2_llvm => false, |
| 872 | .stage2_c, .stage2_wasm, .stage2_x86_64 => true, | 875 | // Same problem. Frontend needs to allow this backend to run in the |
| 873 | // TODO: most self-hosted backends should be able to support this without too much work. | 876 | // linker thread. |
| 874 | else => false, | 877 | .stage2_spirv => false, |
| | 878 | // Please do not make any more exceptions. Backends must support |
| | 879 | // being run in a separate thread from now on. |
| | 880 | else => true, |
| 875 | }, | 881 | }, |
| 876 | }; | 882 | }; |
| 877 | } | 883 | } |