diff options
author | dos-reis <gdr@axiomatics.org> | 2012-02-26 05:05:01 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-02-26 05:05:01 +0000 |
commit | 932e2546f8624aff5cde6fb900857c11290357b9 (patch) | |
tree | 0220b9be4012e86056f4e98e6302af974b847188 /src/interp/compiler.boot | |
parent | 005c2bd99d216a29ae3ea876cbb5b4f5490a2e7d (diff) | |
download | open-axiom-932e2546f8624aff5cde6fb900857c11290357b9.tar.gz |
* interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue.
(compWithMappingMode): Likewise.
(compUnnamedMapping): Likewise.
(extractCode): Simplify.
* interp/g-opt.boot (optClosure): New. Register.
(semiSimpleRelativeTo?): An abstraction is always semisimple.
* interp/nruncomp.boot ($killOptimizeIfTrue): Remove.
(optDeltaEntry): Don't test for it.
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r-- | src/interp/compiler.boot | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 8d04a77a..52cc875d 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -92,7 +92,6 @@ 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 $forceAdd: local:= false -- start with a base list of domains we may want to inline. $optimizableConstructorNames: local := $SystemInlinableConstructorNames @@ -338,7 +337,6 @@ finishLambdaExpression(expr is ["LAMBDA",vars,.],env) == ['%closure,fname,vec] compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) == - $killOptimizeIfTrue: local := true e := oldE isFunctor x => if get(x,"modemap",$CategoryFrame) is [[[.,target,:argModeList],.],:.] and @@ -360,12 +358,9 @@ compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) == [finishLambdaExpression(fun,e),m,oldE] extractCode(u,vars) == - u is ['%call,fn,: =vars] => - fn is ['%apply,a] => a - fn is [q,:.] and q in '(ELT CONST) => ['%tref,:fn.args] - fn - [op,:.,env] := u - ['%closure,['%function,op],env] + u is ['%call,['%apply,a],: =vars] => a + u is ['%call,[q,:etc],: =vars] and q in '(ELT CONST) => ['%tref,:etc] + ['%closure,['%function,['%lambda,[:vars,'$],u]],'$] compExpression(x,m,e) == $insideExpressionIfTrue: local:= true @@ -2751,7 +2746,6 @@ compRep(["rep",x],m,e) == --% Lambda expressions compUnnamedMapping(parms,source,target,body,env) == - $killOptimizeIfTrue: local := true savedEnv := env for p in parms for s in source repeat [.,.,env] := compMakeDeclaration(p,s,env) |