| ... | @@ -1160,22 +1160,19 @@ test "basics" { | ... | @@ -1160,22 +1160,19 @@ test "basics" { |
| 1160 | | 1160 | |
| 1161 | mem.writeInt(usize, reg_bytes[0..@sizeOf(usize)], 0xee, native_endian); | 1161 | mem.writeInt(usize, reg_bytes[0..@sizeOf(usize)], 0xee, native_endian); |
| 1162 | (try regNative(&cpu_context, fp_reg_num)).* = 1; | 1162 | (try regNative(&cpu_context, fp_reg_num)).* = 1; |
| 1163 | (try regNative(&cpu_context, sp_reg_num)).* = 2; | 1163 | (try regNative(&cpu_context, ip_reg_num)).* = 2; |
| 1164 | (try regNative(&cpu_context, ip_reg_num)).* = 3; | | |
| 1165 | | 1164 | |
| 1166 | try b.writeBreg(writer, fp_reg_num, @as(usize, 100)); | 1165 | try b.writeBreg(writer, fp_reg_num, @as(usize, 100)); |
| 1167 | try b.writeBreg(writer, sp_reg_num, @as(usize, 200)); | 1166 | try b.writeBregx(writer, ip_reg_num, @as(usize, 200)); |
| 1168 | try b.writeBregx(writer, ip_reg_num, @as(usize, 300)); | 1167 | try b.writeRegvalType(writer, @as(u8, 0), @as(usize, 300)); |
| 1169 | try b.writeRegvalType(writer, @as(u8, 0), @as(usize, 400)); | | |
| 1170 | | 1168 | |
| 1171 | _ = try stack_machine.run(program.written(), allocator, context, 0); | 1169 | _ = try stack_machine.run(program.written(), allocator, context, 0); |
| 1172 | | 1170 | |
| 1173 | const regval_type = stack_machine.stack.pop().?.regval_type; | 1171 | const regval_type = stack_machine.stack.pop().?.regval_type; |
| 1174 | try testing.expectEqual(@as(usize, 400), regval_type.type_offset); | 1172 | try testing.expectEqual(@as(usize, 300), regval_type.type_offset); |
| 1175 | try testing.expectEqual(@as(u8, @sizeOf(usize)), regval_type.type_size); | 1173 | try testing.expectEqual(@as(u8, @sizeOf(usize)), regval_type.type_size); |
| 1176 | try testing.expectEqual(@as(usize, 0xee), regval_type.value); | 1174 | try testing.expectEqual(@as(usize, 0xee), regval_type.value); |
| 1177 | | 1175 | |
| 1178 | try testing.expectEqual(@as(usize, 303), stack_machine.stack.pop().?.generic); | | |
| 1179 | try testing.expectEqual(@as(usize, 202), stack_machine.stack.pop().?.generic); | 1176 | try testing.expectEqual(@as(usize, 202), stack_machine.stack.pop().?.generic); |
| 1180 | try testing.expectEqual(@as(usize, 101), stack_machine.stack.pop().?.generic); | 1177 | try testing.expectEqual(@as(usize, 101), stack_machine.stack.pop().?.generic); |
| 1181 | } | 1178 | } |