authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-01-03 16:29:51+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-01-04 01:21:23+01:00
log818672312ffa068e0272483a03e7a5ca774bcca5
treef992ac8ff201bf3b76dbc4e1517c715faae4261b
parent5851e812842542b8fead33dc87e5317388f7e76b

stage2: implement setting stack from memory value


1 files changed, 1 insertions(+), 5 deletions(-)

src/arch/x86_64/CodeGen.zig+1-5
...@@ -2880,7 +2880,7 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro...@@ -2880,7 +2880,7 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro
2880 },2880 },
2881 }2881 }
2882 },2882 },
2883 .embedded_in_code => {2883 .embedded_in_code, .memory => {
2884 // TODO this and `.stack_offset` below need to get improved to support types greater than2884 // TODO this and `.stack_offset` below need to get improved to support types greater than
2885 // register size, and do general memcpy2885 // register size, and do general memcpy
2886 const reg = try self.copyToTmpRegister(ty, mcv);2886 const reg = try self.copyToTmpRegister(ty, mcv);
...@@ -2902,10 +2902,6 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro...@@ -2902,10 +2902,6 @@ fn genSetStack(self: *Self, ty: Type, stack_offset: u32, mcv: MCValue) InnerErro
2902 .data = .{ .imm = -@intCast(i32, adj_off) },2902 .data = .{ .imm = -@intCast(i32, adj_off) },
2903 });2903 });
2904 },2904 },
2905 .memory => |vaddr| {
2906 _ = vaddr;
2907 return self.fail("TODO implement set stack variable from memory vaddr", .{});
2908 },
2909 .stack_offset => |off| {2905 .stack_offset => |off| {
2910 // TODO this and `.embedded_in_code` above need to get improved to support types greater than2906 // TODO this and `.embedded_in_code` above need to get improved to support types greater than
2911 // register size, and do general memcpy2907 // register size, and do general memcpy