| ... | @@ -111,6 +111,7 @@ pub const Value = extern union { | ... | @@ -111,6 +111,7 @@ pub const Value = extern union { |
| 111 | int_i64, | 111 | int_i64, |
| 112 | int_big_positive, | 112 | int_big_positive, |
| 113 | int_big_negative, | 113 | int_big_negative, |
| | 114 | runtime_int, |
| 114 | function, | 115 | function, |
| 115 | extern_fn, | 116 | extern_fn, |
| 116 | variable, | 117 | variable, |
| ... | @@ -304,6 +305,7 @@ pub const Value = extern union { | ... | @@ -304,6 +305,7 @@ pub const Value = extern union { |
| 304 | .int_type => Payload.IntType, | 305 | .int_type => Payload.IntType, |
| 305 | .int_u64 => Payload.U64, | 306 | .int_u64 => Payload.U64, |
| 306 | .int_i64 => Payload.I64, | 307 | .int_i64 => Payload.I64, |
| | 308 | .runtime_int => Payload.U64, |
| 307 | .function => Payload.Function, | 309 | .function => Payload.Function, |
| 308 | .variable => Payload.Variable, | 310 | .variable => Payload.Variable, |
| 309 | .decl_ref_mut => Payload.DeclRefMut, | 311 | .decl_ref_mut => Payload.DeclRefMut, |
| ... | @@ -483,6 +485,7 @@ pub const Value = extern union { | ... | @@ -483,6 +485,7 @@ pub const Value = extern union { |
| 483 | }, | 485 | }, |
| 484 | .int_type => return self.copyPayloadShallow(arena, Payload.IntType), | 486 | .int_type => return self.copyPayloadShallow(arena, Payload.IntType), |
| 485 | .int_u64 => return self.copyPayloadShallow(arena, Payload.U64), | 487 | .int_u64 => return self.copyPayloadShallow(arena, Payload.U64), |
| | 488 | .runtime_int => return self.copyPayloadShallow(arena, Payload.U64), |
| 486 | .int_i64 => return self.copyPayloadShallow(arena, Payload.I64), | 489 | .int_i64 => return self.copyPayloadShallow(arena, Payload.I64), |
| 487 | .int_big_positive, .int_big_negative => { | 490 | .int_big_positive, .int_big_negative => { |
| 488 | const old_payload = self.cast(Payload.BigInt).?; | 491 | const old_payload = self.cast(Payload.BigInt).?; |
| ... | @@ -762,6 +765,7 @@ pub const Value = extern union { | ... | @@ -762,6 +765,7 @@ pub const Value = extern union { |
| 762 | .int_i64 => return std.fmt.formatIntValue(val.castTag(.int_i64).?.data, "", options, out_stream), | 765 | .int_i64 => return std.fmt.formatIntValue(val.castTag(.int_i64).?.data, "", options, out_stream), |
| 763 | .int_big_positive => return out_stream.print("{}", .{val.castTag(.int_big_positive).?.asBigInt()}), | 766 | .int_big_positive => return out_stream.print("{}", .{val.castTag(.int_big_positive).?.asBigInt()}), |
| 764 | .int_big_negative => return out_stream.print("{}", .{val.castTag(.int_big_negative).?.asBigInt()}), | 767 | .int_big_negative => return out_stream.print("{}", .{val.castTag(.int_big_negative).?.asBigInt()}), |
| | 768 | .runtime_int => return out_stream.writeAll("[runtime value]"), |
| 765 | .function => return out_stream.print("(function decl={d})", .{val.castTag(.function).?.data.owner_decl}), | 769 | .function => return out_stream.print("(function decl={d})", .{val.castTag(.function).?.data.owner_decl}), |
| 766 | .extern_fn => return out_stream.writeAll("(extern function)"), | 770 | .extern_fn => return out_stream.writeAll("(extern function)"), |
| 767 | .variable => return out_stream.writeAll("(variable)"), | 771 | .variable => return out_stream.writeAll("(variable)"), |
| ... | @@ -1077,6 +1081,8 @@ pub const Value = extern union { | ... | @@ -1077,6 +1081,8 @@ pub const Value = extern union { |
| 1077 | .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt(), | 1081 | .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt(), |
| 1078 | .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt(), | 1082 | .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt(), |
| 1079 | | 1083 | |
| | 1084 | .runtime_int => return BigIntMutable.init(&space.limbs, val.castTag(.runtime_int).?.data).toConst(), |
| | 1085 | |
| 1080 | .undef => unreachable, | 1086 | .undef => unreachable, |
| 1081 | | 1087 | |
| 1082 | .lazy_align => { | 1088 | .lazy_align => { |
| ... | @@ -1132,6 +1138,8 @@ pub const Value = extern union { | ... | @@ -1132,6 +1138,8 @@ pub const Value = extern union { |
| 1132 | .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt().to(u64) catch null, | 1138 | .int_big_positive => return val.castTag(.int_big_positive).?.asBigInt().to(u64) catch null, |
| 1133 | .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt().to(u64) catch null, | 1139 | .int_big_negative => return val.castTag(.int_big_negative).?.asBigInt().to(u64) catch null, |
| 1134 | | 1140 | |
| | 1141 | .runtime_int => return val.castTag(.runtime_int).?.data, |
| | 1142 | |
| 1135 | .undef => unreachable, | 1143 | .undef => unreachable, |
| 1136 | | 1144 | |
| 1137 | .lazy_align => { | 1145 | .lazy_align => { |