From 65ff33a4afc7b10e3496438fb4d1515a2f01ee0d Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 3 Jun 2021 10:05:20 +0200 Subject: Fix IR_BUFHDR assembly. --- src/lj_asm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lj_asm.c b/src/lj_asm.c index 319ba837..b613e6d3 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c @@ -1163,9 +1163,10 @@ static void asm_bufhdr(ASMState *as, IRIns *ir) } } else { Reg tmp = ra_scratch(as, rset_exclude(RSET_GPR, sb)); - /* Passing ir isn't strictly correct, but it's an IRT_PGC, too. */ - emit_storeofs(as, ir, tmp, sb, offsetof(SBuf, w)); - emit_loadofs(as, ir, tmp, sb, offsetof(SBuf, b)); + IRIns irbp; + irbp.ot = IRT(0, IRT_PTR); /* Buffer data pointer type. */ + emit_storeofs(as, &irbp, tmp, sb, offsetof(SBuf, w)); + emit_loadofs(as, &irbp, tmp, sb, offsetof(SBuf, b)); } #if LJ_TARGET_X86ORX64 ra_left(as, sb, ir->op1); -- cgit v1.2.3-55-g6feb