mymarkdown

My markdown
git clone https://git.grace.moe/mymarkdown
Log | Files | Refs

commit 9a9d1790e01a3bc646f5a478f3a8825c2b49de2c
parent 1831f6645eafdafc50f4d6539b8092b0a77cce13
Author: gracefu <81774659+gracefuu@users.noreply.github.com>
Date:   Thu, 22 May 2025 02:59:10 +0800

add disable for tracy instrumentation in AstGen3 parseColumn

Diffstat:
Msrc/AstGen3.zig | 23++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/src/AstGen3.zig b/src/AstGen3.zig @@ -425,9 +425,10 @@ fn parseColumn( continue :parsing_blocks; } - const tracy_frame = tracy.trace(@src()); - defer tracy_frame.end(); - tracy_frame.addText(line.toUnpaddedSlice()); + const TRACY_INSTRUMENT_HERE = true; + const tracy_frame = if (TRACY_INSTRUMENT_HERE) tracy.trace(@src()); + defer if (TRACY_INSTRUMENT_HERE) tracy_frame.end(); + if (TRACY_INSTRUMENT_HERE) tracy_frame.addText(line.toUnpaddedSlice()); // Parse one block and get its id so we can attach an error to it if the block was misaligned. const block_idx: Node.Idx = block_idx: { // Reset list if any other block type appears @@ -440,7 +441,7 @@ fn parseColumn( // Headings inline '#' => { const marker_len = line.indexOfNotChar('#'); - tracy_frame.setName(@tagName(.heading)); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(.heading)); try self.ensureUnusedCapacityNode(2); const block_idx = self.appendAssumeCapacityContainerNode(parent_idx, .heading, line.ptr); _ = self.appendAssumeCapacityLeafNode(block_idx, .marker, line.ptr, try castStrLen(marker_len, error.MarkerTooLong)); @@ -465,11 +466,11 @@ fn parseColumn( line.index(base_marker_len + potential_task_item - 2) == 'X') and std.mem.allEqual(u8, line.toUnpaddedSlice()[base_marker_len .. base_marker_len + potential_task_item - 3], ' ')) { - tracy_frame.setName(@tagName(.task_item)); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(.task_item)); break :blk .{ base_marker_len + potential_task_item, .task_item }; } } - tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); break :blk .{ base_marker_len, @enumFromInt(m) }; }; try self.ensureUnusedCapacityNode(3); @@ -493,7 +494,7 @@ fn parseColumn( // Elaborations inline '+' => { - tracy_frame.setName(@tagName(.elaboration)); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(.elaboration)); const marker_len = try castStrLen(line.indexOfNotChar('+'), error.MarkerTooLong); try self.ensureUnusedCapacityNode(2); const block_idx = if (last_elaboratable_idx) |elab| blk: { @@ -514,7 +515,7 @@ fn parseColumn( // Par-like single markers inline ';' => |m| { - tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); const block_idx = try self.appendContainerNode(parent_idx, @enumFromInt(m), line.ptr); last_elaboratable_idx = null; try self.parseInlineColumn(block_idx, .{ .skip = line_start + 1 }); @@ -523,7 +524,7 @@ fn parseColumn( // Div-like single markers inline '>' => |m| { - tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(@as(Node.Tag, @enumFromInt(m)))); const block_idx = try self.appendContainerNode(parent_idx, @enumFromInt(m), line.ptr); last_elaboratable_idx = null; try self.parseColumn(block_idx, .{ .skip = line_start + 1 }); @@ -535,7 +536,7 @@ fn parseColumn( const after_stars = line.sliceOpen(3); if (after_stars.len == after_stars.indexOfNotSpaceOrTab()) { self.scanner.advance(); - tracy_frame.setName(@tagName(.thematic_break)); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(.thematic_break)); last_elaboratable_idx = null; break :block_idx try self.appendLeafNode(parent_idx, .thematic_break, line.ptr, 3); } @@ -547,7 +548,7 @@ fn parseColumn( // Parse paragraph { - tracy_frame.setName(@tagName(.paragraph)); + if (TRACY_INSTRUMENT_HERE) tracy_frame.setName(@tagName(.paragraph)); try self.ensureUnusedCapacityNode(3); const paragraph_idx = self.appendAssumeCapacityContainerNode(parent_idx, .paragraph, line.ptr); last_elaboratable_idx = null;