summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.dasc
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.dasc')
-rw-r--r--src/buildvm_x86.dasc7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index d7c36d90..598fe087 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -4442,13 +4442,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
4442 break; 4442 break;
4443 4443
4444 case BC_VARG: 4444 case BC_VARG:
4445 | ins_AB_ // RA = base, RB = nresults+1, (RC = 1) 4445 | ins_ABC // RA = base, RB = nresults+1, RC = numparams
4446 | mov LFUNC:RC, [BASE-8]
4447 | lea RA, [BASE+RA*8]
4448 | mov RC, LFUNC:RC->pc
4449 | movzx RC, byte [RC+PC2PROTO(numparams)]
4450 | mov TMP1, KBASE // Need one more free register. 4446 | mov TMP1, KBASE // Need one more free register.
4451 | lea KBASE, [BASE+RC*8+(8+FRAME_VARG)] 4447 | lea KBASE, [BASE+RC*8+(8+FRAME_VARG)]
4448 | lea RA, [BASE+RA*8]
4452 | sub KBASE, [BASE-4] 4449 | sub KBASE, [BASE-4]
4453 | // Note: KBASE may now be even _above_ BASE if nargs was < numparams. 4450 | // Note: KBASE may now be even _above_ BASE if nargs was < numparams.
4454 | test RB, RB 4451 | test RB, RB