| ... | ... | @@ -3254,25 +3254,13 @@ pub fn performAllTheWork( |
| 3254 | 3254 | // (at least for now) single-threaded main work queue. However, C object compilation |
| 3255 | 3255 | // only needs to be finished by the end of this function. |
| 3256 | 3256 | |
| 3257 | | const zir_prog_node = main_progress_node.start("AST Lowering", 0); |
| 3258 | | defer zir_prog_node.end(); |
| 3259 | | |
| 3260 | | const wasm_prog_node = main_progress_node.start("Compile Autodocs", 0); |
| 3261 | | defer wasm_prog_node.end(); |
| 3262 | | |
| 3263 | | const c_obj_prog_node = main_progress_node.start("Compile C Objects", comp.c_source_files.len); |
| 3264 | | defer c_obj_prog_node.end(); |
| 3265 | | |
| 3266 | | const win32_resource_prog_node = main_progress_node.start("Compile Win32 Resources", comp.rc_source_files.len); |
| 3267 | | defer win32_resource_prog_node.end(); |
| 3268 | | |
| 3269 | 3257 | comp.work_queue_wait_group.reset(); |
| 3270 | 3258 | defer comp.work_queue_wait_group.wait(); |
| 3271 | 3259 | |
| 3272 | 3260 | if (!build_options.only_c and !build_options.only_core_functionality) { |
| 3273 | 3261 | if (comp.docs_emit != null) { |
| 3274 | 3262 | comp.thread_pool.spawnWg(&comp.work_queue_wait_group, workerDocsCopy, .{comp}); |
| 3275 | | comp.work_queue_wait_group.spawnManager(workerDocsWasm, .{ comp, wasm_prog_node }); |
| 3263 | comp.work_queue_wait_group.spawnManager(workerDocsWasm, .{ comp, main_progress_node }); |
| 3276 | 3264 | } |
| 3277 | 3265 | } |
| 3278 | 3266 | |
| ... | ... | @@ -3280,6 +3268,9 @@ pub fn performAllTheWork( |
| 3280 | 3268 | const astgen_frame = tracy.namedFrame("astgen"); |
| 3281 | 3269 | defer astgen_frame.end(); |
| 3282 | 3270 | |
| 3271 | const zir_prog_node = main_progress_node.start("AST Lowering", 0); |
| 3272 | defer zir_prog_node.end(); |
| 3273 | |
| 3283 | 3274 | comp.astgen_wait_group.reset(); |
| 3284 | 3275 | defer comp.astgen_wait_group.wait(); |
| 3285 | 3276 | |
| ... | ... | @@ -3323,14 +3314,14 @@ pub fn performAllTheWork( |
| 3323 | 3314 | |
| 3324 | 3315 | while (comp.c_object_work_queue.readItem()) |c_object| { |
| 3325 | 3316 | comp.thread_pool.spawnWg(&comp.work_queue_wait_group, workerUpdateCObject, .{ |
| 3326 | | comp, c_object, c_obj_prog_node, |
| 3317 | comp, c_object, main_progress_node, |
| 3327 | 3318 | }); |
| 3328 | 3319 | } |
| 3329 | 3320 | |
| 3330 | 3321 | if (!build_options.only_core_functionality) { |
| 3331 | 3322 | while (comp.win32_resource_work_queue.readItem()) |win32_resource| { |
| 3332 | 3323 | comp.thread_pool.spawnWg(&comp.work_queue_wait_group, workerUpdateWin32Resource, .{ |
| 3333 | | comp, win32_resource, win32_resource_prog_node, |
| 3324 | comp, win32_resource, main_progress_node, |
| 3334 | 3325 | }); |
| 3335 | 3326 | } |
| 3336 | 3327 | } |
| ... | ... | @@ -3800,7 +3791,10 @@ fn docsCopyModule(comp: *Compilation, module: *Package.Module, name: []const u8, |
| 3800 | 3791 | } |
| 3801 | 3792 | } |
| 3802 | 3793 | |
| 3803 | | fn workerDocsWasm(comp: *Compilation, prog_node: std.Progress.Node) void { |
| 3794 | fn workerDocsWasm(comp: *Compilation, parent_prog_node: std.Progress.Node) void { |
| 3795 | const prog_node = parent_prog_node.start("Compile Autodocs", 0); |
| 3796 | defer prog_node.end(); |
| 3797 | |
| 3804 | 3798 | workerDocsWasmFallible(comp, prog_node) catch |err| { |
| 3805 | 3799 | comp.lockAndSetMiscFailure(.docs_wasm, "unable to build autodocs: {s}", .{ |
| 3806 | 3800 | @errorName(err), |