diff --git a/src/benchmark/OscParser.zig b/src/benchmark/OscParser.zig index bd82a3534..d4b416de8 100644 --- a/src/benchmark/OscParser.zig +++ b/src/benchmark/OscParser.zig @@ -100,7 +100,7 @@ fn step(ptr: *anyopaque) Benchmark.Error!void { error.ReadFailed => return error.BenchmarkFailed, }; - for (osc_buf[0..len]) |c| self.parser.next(c); + for (osc_buf[0..len]) |c| @call(.always_inline, Parser.next, .{ &self.parser, c }); std.mem.doNotOptimizeAway(self.parser.end(std.ascii.control_code.bel)); self.parser.reset(); } diff --git a/src/terminal/Parser.zig b/src/terminal/Parser.zig index 980906e49..34a23787f 100644 --- a/src/terminal/Parser.zig +++ b/src/terminal/Parser.zig @@ -359,7 +359,7 @@ inline fn doAction(self: *Parser, action: TransitionAction, c: u8) ?Action { break :param null; }, .osc_put => osc_put: { - self.osc_parser.next(c); + @call(.always_inline, osc.Parser.next, .{ &self.osc_parser, c }); break :osc_put null; }, .csi_dispatch => csi_dispatch: { diff --git a/src/terminal/osc.zig b/src/terminal/osc.zig index 64b409cdd..56184df46 100644 --- a/src/terminal/osc.zig +++ b/src/terminal/osc.zig @@ -486,7 +486,7 @@ pub const Parser = struct { } /// Consume the next character c and advance the parser state. - pub inline fn next(self: *Parser, c: u8) void { + pub fn next(self: *Parser, c: u8) void { // If the state becomes invalid for any reason, just discard // any further input. if (self.state == .invalid) return;