From 7b996c772a8220f9f5ff362a2c1813b870bbda83 Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 17 Jan 2023 20:55:29 +0200 Subject: [PATCH] =?UTF-8?q?lea=20tmp,[CS+123];=20mov=20[tmp],rax=20?= =?UTF-8?q?=E2=86=92=20mov=20[CS+123],rax?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jit/nvm_x86_64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jit/nvm_x86_64.c b/src/jit/nvm_x86_64.c index dc4a77c4..6dadafa4 100644 --- a/src/jit/nvm_x86_64.c +++ b/src/jit/nvm_x86_64.c @@ -587,7 +587,8 @@ Nvm_res m_nvm(Body* body) { #define INV(N,D,F) SPOS(R_A##N, D, 1); CCALL(F) #define TOPpR(R) MOV(R,R_RES) #define TOPp TOPpR(R_A0) - #define TOPs if (depth) { u8 t = SPOS(R_A3, 0, 0); MOV8mr(t, R_RES); } + // #define TOPs if (depth) { u8 t = SPOS(R_A3, 0, 0); MOV8mr(t, R_RES); } + #define TOPs if (depth) { MOV8mro(r_CS, R_RES, SPOSq(0)); } #define LSC(R,D) { if(D) MOV8rmo(R,R_SP,VAR8(pscs,D)); else MOV(R,r_SC); } // TODO return r_SC directly without a pointless mov #define INCV(R) INC4mo(R, offsetof(Value,refc)); // ADD4mi(R_A3, 1); CCALL(i_INC); #ifdef __BMI2__ // TODO move to runtime detection maybe