aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-07-21 21:14:57 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-07-22 12:06:02 +0200
commit79fefec599fd940adfd611c9da880c01e2aa842c (patch)
tree81f72fa8bfcf00e4efaf48b51ffbb0f68b3b6273
parent59733374ed5a629f0109016663a6d79fbfab5129 (diff)
downloadzig-79fefec599fd940adfd611c9da880c01e2aa842c.tar.gz
zig-79fefec599fd940adfd611c9da880c01e2aa842c.zip
add more tracy hooks
-rw-r--r--src/link/MachO.zig5
-rw-r--r--src/link/MachO/CodeSignature.zig4
-rw-r--r--src/link/MachO/hasher.zig2
-rw-r--r--src/main.zig3
4 files changed, 14 insertions, 0 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index 3c5b56b394..71f4cda9d1 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -2387,6 +2387,9 @@ fn resizeSections(self: *MachO) !void {
}
fn writeSectionsAndUpdateLinkeditSizes(self: *MachO) !void {
+ const tracy = trace(@src());
+ defer tracy.end();
+
const gpa = self.base.comp.gpa;
const cmd = self.symtab_cmd;
@@ -3513,6 +3516,8 @@ pub fn getTarget(self: MachO) std.Target {
/// the original file. This is super messy, but there doesn't seem any other
/// way to please the XNU.
pub fn invalidateKernelCache(dir: fs.Dir, sub_path: []const u8) !void {
+ const tracy = trace(@src());
+ defer tracy.end();
if (comptime builtin.target.isDarwin() and builtin.target.cpu.arch == .aarch64) {
try dir.copyFile(sub_path, dir, sub_path, .{});
}
diff --git a/src/link/MachO/CodeSignature.zig b/src/link/MachO/CodeSignature.zig
index 045bad712b..0b9c12204f 100644
--- a/src/link/MachO/CodeSignature.zig
+++ b/src/link/MachO/CodeSignature.zig
@@ -7,6 +7,7 @@ const log = std.log.scoped(.link);
const macho = std.macho;
const mem = std.mem;
const testing = std.testing;
+const trace = @import("../../tracy.zig").trace;
const Allocator = mem.Allocator;
const Hasher = @import("hasher.zig").ParallelHasher;
const MachO = @import("../MachO.zig");
@@ -264,6 +265,9 @@ pub fn writeAdhocSignature(
opts: WriteOpts,
writer: anytype,
) !void {
+ const tracy = trace(@src());
+ defer tracy.end();
+
const allocator = macho_file.base.comp.gpa;
var header: macho.SuperBlob = .{
diff --git a/src/link/MachO/hasher.zig b/src/link/MachO/hasher.zig
index d8496ab706..f10a2fe8cf 100644
--- a/src/link/MachO/hasher.zig
+++ b/src/link/MachO/hasher.zig
@@ -55,6 +55,8 @@ pub fn ParallelHasher(comptime Hasher: type) type {
out: *[hash_size]u8,
err: *fs.File.PReadError!usize,
) void {
+ const tracy = trace(@src());
+ defer tracy.end();
err.* = file.preadAll(buffer, fstart);
Hasher.hash(buffer, out, .{});
}
diff --git a/src/main.zig b/src/main.zig
index 561dd2f28e..a715b36b5c 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -211,6 +211,9 @@ fn verifyLibcxxCorrectlyLinked() void {
}
fn mainArgs(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {
+ const tr = tracy.trace(@src());
+ defer tr.end();
+
if (args.len <= 1) {
std.log.info("{s}", .{usage});
fatal("expected command argument", .{});