diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/interp/compiler.boot | 8 | ||||
-rw-r--r-- | src/interp/g-opt.boot | 2 | ||||
-rw-r--r-- | src/interp/lisp-backend.boot | 2 |
4 files changed, 12 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5a72e0a2..1ecae768 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@ 2012-02-25 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/compiler.boot (finishLambdaExpression): Use %closure. + (extractCodeAndConstructTriple): Likewise. + * interp/g-opt.boot (optCall): Adjust. + +2012-02-25 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/nruncomp.boot (genDeltaEntry): Fix thinko. 2012-02-24 Gabriel Dos Reis <gdr@cs.tamu.edu> diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index cdd57767..4a1cd153 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -92,7 +92,7 @@ compTopLevel: (%Form,%Mode,%Env) -> %Maybe %Triple compTopLevel(x,m,e) == -- signals that target is derived from lhs-- see NRTmakeSlot1Info $NRTderivedTargetIfTrue: local := false - $killOptimizeIfTrue: local:= false + $killOptimizeIfTrue: local := false $forceAdd: local:= false -- start with a base list of domains we may want to inline. $optimizableConstructorNames: local := $SystemInlinableConstructorNames @@ -335,10 +335,10 @@ finishLambdaExpression(expr is ["LAMBDA",vars,.],env) == vec := ['%vector,:reverse! vec] ["LAMBDA",[:vars,"$$"],:body] fname := ["CLOSEDFN",expandedFunction] --Like QUOTE, but gets compiled - ['%pair,fname,vec] + ['%closure,fname,vec] compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) == - $killOptimizeIfTrue: local:= true + $killOptimizeIfTrue: local := true e := oldE isFunctor x => if get(x,"modemap",$CategoryFrame) is [[[.,target,:argModeList],.],:.] and @@ -364,7 +364,7 @@ extractCodeAndConstructTriple(u, m, oldE) == if fn is ['%apply,a] then fn := a [fn,m,oldE] [op,:.,env] := u - [['%pair,['%function,op],env],m,oldE] + [['%closure,['%function,op],env],m,oldE] compExpression(x,m,e) == $insideExpressionIfTrue: local:= true diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index 958f69d7..66aa756d 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -543,7 +543,7 @@ optCall (x is ['%call,:u]) == x.first := 'SPADCALL x.rest := [:a,name] x - fn is ['%pair,['%function,op],env] => + fn is ['%closure,['%function,op],env] => x.first := op x.rest := [:a,env] x diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index cee96c52..b23d1bf6 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -598,7 +598,7 @@ for x in [ -- ['%nil, :'NIL], -- unary list operations ['%head, :'CAR], - ['%pair, :'CONS], + ['%pair, :'CONS], ['%lempty?, :'NULL], ['%lfirst, :'CAR], ['%llength, :'LIST_-LENGTH], |