mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-15 14:19:01 +00:00
33 lines
1.9 KiB
Zig
33 lines
1.9 KiB
Zig
const std = @import("std");
|
|
const can = @import("can");
|
|
const ModuleEnv = can.ModuleEnv;
|
|
const CommonEnv = @import("base").CommonEnv;
|
|
const TypeStore = @import("types").Store;
|
|
|
|
pub fn main() !void {
|
|
const stdout = std.io.getStdOut().writer();
|
|
|
|
try stdout.print("=== Struct Size Analysis ===\n", .{});
|
|
try stdout.print("Platform: {s}\n\n", .{@tagName(std.builtin.cpu.arch)});
|
|
|
|
try stdout.print("ModuleEnv struct sizes:\n", .{});
|
|
try stdout.print(" ModuleEnv: {} bytes\n", .{@sizeOf(ModuleEnv)});
|
|
try stdout.print(" ModuleEnv.Serialized: {} bytes\n\n", .{@sizeOf(ModuleEnv.Serialized)});
|
|
|
|
try stdout.print("CommonEnv struct sizes:\n", .{});
|
|
try stdout.print(" CommonEnv: {} bytes\n", .{@sizeOf(CommonEnv)});
|
|
try stdout.print(" CommonEnv.Serialized: {} bytes\n\n", .{@sizeOf(CommonEnv.Serialized)});
|
|
|
|
try stdout.print("TypeStore struct sizes:\n", .{});
|
|
try stdout.print(" TypeStore: {} bytes\n", .{@sizeOf(TypeStore)});
|
|
try stdout.print(" TypeStore.Serialized: {} bytes\n\n", .{@sizeOf(TypeStore.Serialized)});
|
|
|
|
try stdout.print("Field offsets in ModuleEnv.Serialized:\n", .{});
|
|
try stdout.print(" gpa_placeholder: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "gpa_placeholder")});
|
|
try stdout.print(" common: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "common")});
|
|
try stdout.print(" types: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "types")});
|
|
try stdout.print(" module_kind: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "module_kind")});
|
|
try stdout.print(" all_defs: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "all_defs")});
|
|
try stdout.print(" all_statements: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "all_statements")});
|
|
try stdout.print(" exports: offset={}\n", .{@offsetOf(ModuleEnv.Serialized, "exports")});
|
|
}
|