From bde2b57f073721eedd7cbf1b41d598aa7c1133b4 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Mon, 9 Feb 2009 22:29:44 +0000 Subject: [PATCH] compile =/2 to use an extra temporary, and not ARG1. --- C/compiler.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/C/compiler.c b/C/compiler.c index 75d5e9c47..1529072fe 100644 --- a/C/compiler.c +++ b/C/compiler.c @@ -872,13 +872,14 @@ c_eq(Term t1, Term t2, compiler_struct *cglobs) } /* first argument is an unbound var */ if (IsNewVar(t1)) { + Int v = --cglobs->tmpreg; if (IsVarTerm(t2)) { - c_var(t2, 1, 0, 0, cglobs); + c_var(t2, v, 0, 0, cglobs); } else { - c_arg(1, t2, 0, 0, cglobs); + c_arg(v, t2, 0, 0, cglobs); } cglobs->onhead = TRUE; - c_var(t1, 1, 0, 0, cglobs); + c_var(t1, v, 0, 0, cglobs); cglobs->onhead = FALSE; } else { c_var(t1, 0, 0, 0, cglobs);