| ... | @@ -3560,6 +3560,29 @@ pub fn cmdAstgen( | ... | @@ -3560,6 +3560,29 @@ pub fn cmdAstgen( |
| 3560 | file.zir_loaded = true; | 3560 | file.zir_loaded = true; |
| 3561 | defer file.zir.deinit(gpa); | 3561 | defer file.zir.deinit(gpa); |
| 3562 | | 3562 | |
| | 3563 | { |
| | 3564 | const instruction_bytes = file.zir.instructions.len * |
| | 3565 | (@sizeOf(Zir.Inst.Tag) + @sizeOf(Zir.Inst.Data)); |
| | 3566 | const extra_bytes = file.zir.extra.len * @sizeOf(u32); |
| | 3567 | const total_bytes = @sizeOf(Zir) + instruction_bytes + extra_bytes + |
| | 3568 | file.zir.string_bytes.len * @sizeOf(u8); |
| | 3569 | const stdout = io.getStdOut(); |
| | 3570 | try stdout.writer().print( |
| | 3571 | \\# Total bytes: {} |
| | 3572 | \\# Instructions: {d} ({}) |
| | 3573 | \\# String Table Bytes: {} |
| | 3574 | \\# Extra Data Items: {d} ({}) |
| | 3575 | \\ |
| | 3576 | , .{ |
| | 3577 | std.fmt.fmtIntSizeBin(total_bytes), |
| | 3578 | file.zir.instructions.len, |
| | 3579 | std.fmt.fmtIntSizeBin(instruction_bytes), |
| | 3580 | std.fmt.fmtIntSizeBin(file.zir.string_bytes.len), |
| | 3581 | file.zir.extra.len, |
| | 3582 | std.fmt.fmtIntSizeBin(extra_bytes), |
| | 3583 | }); |
| | 3584 | } |
| | 3585 | |
| 3563 | if (file.zir.hasCompileErrors()) { | 3586 | if (file.zir.hasCompileErrors()) { |
| 3564 | var errors = std.ArrayList(Compilation.AllErrors.Message).init(arena); | 3587 | var errors = std.ArrayList(Compilation.AllErrors.Message).init(arena); |
| 3565 | try Compilation.AllErrors.addZir(arena, &errors, &file, source); | 3588 | try Compilation.AllErrors.addZir(arena, &errors, &file, source); |