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:
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;