authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-05-17 11:33:21-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-05-17 11:33:21-07:00
logd83983527323201c44f90a2f57ff58c746116e11
tree3d021b9e778543056b34cf4f5fc8274abfea7885
parent751bb12a9612c092541a63db72eb9ecc5eb1c4bd

stage2: add some debug logs for when link functions are called


2 files changed, 7 insertions(+), 3 deletions(-)

src/Compilation.zig-3
......@@ -1944,9 +1944,6 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor
19441944 }
19451945 }
19461946
1947 log.debug("calling updateDecl on '{s}', type={}", .{
1948 decl.name, decl.ty,
1949 });
19501947 assert(decl.ty.hasCodeGenBits());
19511948
19521949 self.bin_file.updateDecl(module, decl) catch |err| switch (err) {
src/link.zig+7
......@@ -301,6 +301,7 @@ pub const File = struct {
301301 /// May be called before or after updateDeclExports but must be called
302302 /// after allocateDeclIndexes for any given Decl.
303303 pub fn updateDecl(base: *File, module: *Module, decl: *Module.Decl) !void {
304 log.debug("updateDecl {*} ({s}), type={}", .{ decl, decl.name, decl.ty });
304305 assert(decl.has_tv);
305306 switch (base.tag) {
306307 .coff => return @fieldParentPtr(Coff, "base", base).updateDecl(module, decl),
......@@ -313,6 +314,9 @@ pub const File = struct {
313314 }
314315
315316 pub fn updateDeclLineNumber(base: *File, module: *Module, decl: *Module.Decl) !void {
317 log.debug("updateDeclLineNumber {*} ({s}), line={}", .{
318 decl, decl.name, decl.src_line + 1,
319 });
316320 assert(decl.has_tv);
317321 switch (base.tag) {
318322 .coff => return @fieldParentPtr(Coff, "base", base).updateDeclLineNumber(module, decl),
......@@ -326,6 +330,7 @@ pub const File = struct {
326330 /// Must be called before any call to updateDecl or updateDeclExports for
327331 /// any given Decl.
328332 pub fn allocateDeclIndexes(base: *File, decl: *Module.Decl) !void {
333 log.debug("allocateDeclIndexes {*} ({s})", .{ decl, decl.name });
329334 switch (base.tag) {
330335 .coff => return @fieldParentPtr(Coff, "base", base).allocateDeclIndexes(decl),
331336 .elf => return @fieldParentPtr(Elf, "base", base).allocateDeclIndexes(decl),
......@@ -437,6 +442,7 @@ pub const File = struct {
437442
438443 /// Called when a Decl is deleted from the Module.
439444 pub fn freeDecl(base: *File, decl: *Module.Decl) void {
445 log.debug("freeDecl {*} ({s})", .{ decl, decl.name });
440446 switch (base.tag) {
441447 .coff => @fieldParentPtr(Coff, "base", base).freeDecl(decl),
442448 .elf => @fieldParentPtr(Elf, "base", base).freeDecl(decl),
......@@ -465,6 +471,7 @@ pub const File = struct {
465471 decl: *Module.Decl,
466472 exports: []const *Module.Export,
467473 ) !void {
474 log.debug("updateDeclExports {*} ({s})", .{ decl, decl.name });
468475 assert(decl.has_tv);
469476 switch (base.tag) {
470477 .coff => return @fieldParentPtr(Coff, "base", base).updateDeclExports(module, decl, exports),