@@ -370,7 +370,6 @@ pub const Key = union(enum) {
370370 layout : std.builtin.Type.ContainerLayout ,
371371 field_names : NullTerminatedString.Slice ,
372372 field_types : Index.Slice ,
373- field_inits_bodies : InitBody.Slice ,
374373 field_inits : Index.Slice ,
375374 field_aligns : Alignment.Slice ,
376375 runtime_order : RuntimeOrder.Slice ,
@@ -401,23 +400,6 @@ pub const Key = union(enum) {
401400 }
402401 };
403402
404- pub const InitBody = struct {
405- start : Zir.Inst.Index ,
406- len : u32 ,
407-
408- pub const Slice = struct {
409- start : u32 ,
410- len : u32 ,
411-
412- pub fn get (this : @This (), ip : * const InternPool ) []InitBody {
413- // Workaround for not being able to cast between slices of different lengths
414- assert (ip .extra .items .len >= this .start + this .len * 2 );
415- const bodies_ptr : [* ]InitBody = @ptrCast (ip .extra .items [this .start .. ].ptr );
416- return bodies_ptr [0.. this .len ];
417- }
418- };
419- };
420-
421403 pub const Offsets = struct {
422404 start : u32 ,
423405 len : u32 ,
@@ -3050,10 +3032,7 @@ pub const Tag = enum(u8) {
30503032 /// Trailing:
30513033 /// 0. type: Index for each fields_len
30523034 /// 1. name: NullTerminatedString for each fields_len
3053- ///
3054- /// if tag is type_struct_packed_inits:
3055- /// 2. body_indices: Zir.Inst.Index // for each field in declared order, a pair of start index and length.
3056- /// 3. init: Index for each fields_len
3035+ /// 2. init: Index for each fields_len // if tag is type_struct_packed_inits
30573036 pub const TypeStructPacked = struct {
30583037 decl : Module.Decl.Index ,
30593038 zir_index : Zir.Inst.Index ,
@@ -3091,7 +3070,6 @@ pub const Tag = enum(u8) {
30913070 /// names_map: MapIndex,
30923071 /// name: NullTerminatedString // for each field in declared order
30933072 /// 2. if any_default_inits:
3094- /// body_indices: Zir.Inst.Index // for each field in declared order, a pair of start index and length.
30953073 /// init: Index // for each field in declared order
30963074 /// 3. if has_namespace:
30973075 /// namespace: Module.Namespace.Index
@@ -3772,7 +3750,6 @@ pub fn indexToKey(ip: *const InternPool, index: Index) Key {
37723750 .layout = .Auto ,
37733751 .field_names = .{ .start = 0 , .len = 0 },
37743752 .field_types = .{ .start = 0 , .len = 0 },
3775- .field_inits_bodies = .{ .start = 0 , .len = 0 },
37763753 .field_inits = .{ .start = 0 , .len = 0 },
37773754 .field_aligns = .{ .start = 0 , .len = 0 },
37783755 .runtime_order = .{ .start = 0 , .len = 0 },
@@ -3789,7 +3766,6 @@ pub fn indexToKey(ip: *const InternPool, index: Index) Key {
37893766 .layout = .Auto ,
37903767 .field_names = .{ .start = 0 , .len = 0 },
37913768 .field_types = .{ .start = 0 , .len = 0 },
3792- .field_inits_bodies = .{ .start = 0 , .len = 0 },
37933769 .field_inits = .{ .start = 0 , .len = 0 },
37943770 .field_aligns = .{ .start = 0 , .len = 0 },
37953771 .runtime_order = .{ .start = 0 , .len = 0 },
@@ -4302,12 +4278,6 @@ fn extraStructType(ip: *const InternPool, extra_index: u32) Key.StructType {
43024278 index += fields_len ;
43034279 break :t .{ names_map .toOptional (), names };
43044280 };
4305- const field_inits_bodies : Key.StructType.InitBody.Slice = t : {
4306- if (! s .data .flags .any_default_inits ) break :t .{ .start = 0 , .len = 0 };
4307- const offsets : Key.StructType.InitBody.Slice = .{ .start = index , .len = fields_len };
4308- index += fields_len * 2 ;
4309- break :t offsets ;
4310- };
43114281 const field_inits : Index.Slice = t : {
43124282 if (! s .data .flags .any_default_inits ) break :t .{ .start = 0 , .len = 0 };
43134283 const inits : Index.Slice = .{ .start = index , .len = fields_len };
@@ -4351,7 +4321,6 @@ fn extraStructType(ip: *const InternPool, extra_index: u32) Key.StructType {
43514321 .field_types = field_types ,
43524322 .names_map = names_map ,
43534323 .field_names = field_names ,
4354- .field_inits_bodies = field_inits_bodies ,
43554324 .field_inits = field_inits ,
43564325 .namespace = namespace ,
43574326 .field_aligns = field_aligns ,
@@ -4378,15 +4347,8 @@ fn extraPackedStructType(ip: *const InternPool, extra_index: u32, inits: bool) K
43784347 .start = type_struct_packed .end + fields_len ,
43794348 .len = fields_len ,
43804349 },
4381- .field_inits_bodies = if (inits ) .{
4382- .start = type_struct_packed .end + fields_len * 2 ,
4383- .len = fields_len ,
4384- } else .{
4385- .start = 0 ,
4386- .len = 0 ,
4387- },
43884350 .field_inits = if (inits ) .{
4389- .start = type_struct_packed .end + fields_len * 4 ,
4351+ .start = type_struct_packed .end + fields_len * 2 ,
43904352 .len = fields_len ,
43914353 } else .{
43924354 .start = 0 ,
@@ -5459,7 +5421,6 @@ pub fn getStructType(
54595421 .layout = undefined ,
54605422 .field_names = undefined ,
54615423 .field_types = undefined ,
5462- .field_inits_bodies = undefined ,
54635424 .field_inits = undefined ,
54645425 .field_aligns = undefined ,
54655426 .runtime_order = undefined ,
@@ -5482,7 +5443,6 @@ pub fn getStructType(
54825443 try ip .extra .ensureUnusedCapacity (gpa , @typeInfo (Tag .TypeStructPacked ).Struct .fields .len +
54835444 ini .fields_len + // types
54845445 ini .fields_len + // names
5485- ini .fields_len * 2 + // init bodies
54865446 ini .fields_len ); // inits
54875447 try ip .items .append (gpa , .{
54885448 .tag = if (ini .any_default_inits ) .type_struct_packed_inits else .type_struct_packed ,
@@ -5502,7 +5462,6 @@ pub fn getStructType(
55025462 ip .extra .appendNTimesAssumeCapacity (@intFromEnum (Index .none ), ini .fields_len );
55035463 ip .extra .appendNTimesAssumeCapacity (@intFromEnum (OptionalNullTerminatedString .none ), ini .fields_len );
55045464 if (ini .any_default_inits ) {
5505- ip .extra .appendNTimesAssumeCapacity (0 , ini .fields_len * 2 );
55065465 ip .extra .appendNTimesAssumeCapacity (@intFromEnum (Index .none ), ini .fields_len );
55075466 }
55085467 return @enumFromInt (ip .items .len - 1 );
@@ -5514,7 +5473,7 @@ pub fn getStructType(
55145473 const comptime_elements_len = if (ini .any_comptime_fields ) (ini .fields_len + 31 ) / 32 else 0 ;
55155474
55165475 try ip .extra .ensureUnusedCapacity (gpa , @typeInfo (Tag .TypeStruct ).Struct .fields .len +
5517- (ini .fields_len * 7 ) + // types, names, init bodies , inits, runtime order, offsets
5476+ (ini .fields_len * 5 ) + // types, names, inits, runtime order, offsets
55185477 align_elements_len + comptime_elements_len +
55195478 2 ); // names_map + namespace
55205479 try ip .items .append (gpa , .{
@@ -5552,7 +5511,6 @@ pub fn getStructType(
55525511 ip .extra .appendNTimesAssumeCapacity (@intFromEnum (OptionalNullTerminatedString .none ), ini .fields_len );
55535512 }
55545513 if (ini .any_default_inits ) {
5555- ip .extra .appendNTimesAssumeCapacity (0 , ini .fields_len * 2 );
55565514 ip .extra .appendNTimesAssumeCapacity (@intFromEnum (Index .none ), ini .fields_len );
55575515 }
55585516 if (ini .namespace .unwrap ()) | namespace | {
0 commit comments