aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/nruncomp.boot26
2 files changed, 10 insertions, 22 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 78f5a5c5..69ff502d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,8 @@
-2010-07-10 Gabriel Dos Reis <gdr@cse.tamu.edu>
+2010-07-10 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/nruncomp.boot (buildFunctor): Remove deadcode.
+
+2010-07-10 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/sys-utility.boot (minimalise): Move from compress.boot.
Rewrite local worker to use explicit hash table parameter instead
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index 45a07b21..e9165588 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -473,7 +473,7 @@ buildFunctor($definition is [name,:args],sig,code,$locals,$e) ==
codePart2:=
argStuffCode :=
[[$setelt,'$,i,v] for i in $NRTbase.. for v in $FormalMapVariableList
- for arg in rest $definition]
+ for arg in args]
if MEMQ($NRTaddForm,$locals) then
addargname := $FormalMapVariableList.(POSN1($NRTaddForm,$locals))
argStuffCode := [[$setelt,'$,5,addargname],:argStuffCode]
@@ -486,38 +486,22 @@ buildFunctor($definition is [name,:args],sig,code,$locals,$e) ==
createViewCode,createPredVecCode] where
devaluateCode:= [[b,["devaluate",a]] for [a,:b] in $devaluateList]
createDomainCode:=
- [domname,['LIST,MKQ first $definition,:ASSOCRIGHT $devaluateList]]
+ [domname,['LIST,MKQ name,:ASSOCRIGHT $devaluateList]]
createViewCode:= ["$",["newShell", $NRTbase + $NRTdeltaLength]]
createPredVecCode := ["pv$",predBitVectorCode1]
--CODE: part 1
codePart1:= [setVector0Code, slot3Code,:slamCode] where
setVector0Code:=[$setelt,"$",0,"dv$"]
- slot3Code := ["setShellEntry","$",3,"pv$"]
+ slot3Code := [$setelt,"$",3,"pv$"]
slamCode:=
- isCategoryPackageName opOf $definition => nil
+ isCategoryPackageName name => nil
[NRTaddToSlam($definition,"$")]
--CODE: part 3
$ConstantAssignments :=
[NRTputInLocalReferences code for code in $ConstantAssignments]
- codePart3:= [:constantCode1, :constantCode2,:epilogue] where
- constantCode1:=
- name='Integer => $ConstantAssignments
- nil
- -- The above line is needed to get the recursion
- -- Integer => FontTable => NonNegativeInteger => Integer
- -- right. Otherwise NNI has 'unset' for 0 and 1
- -- setVector4c:= setVector4part3($catNames,$catvecList)
- -- In particular, setVector4part3 and setVector5,
- -- which generate calls to local domain-instantiators,
- -- must come after operations are set in the vector.
- -- The symptoms of getting this wrong are that
- -- operations are not set which should be
- constantCode2:= --matches previous test on Integer
- name='Integer => nil
- $ConstantAssignments
- epilogue:= $epilogue
+ codePart3:= [:$ConstantAssignments,:$epilogue]
ans := ["%bind",bindings,
:washFunctorBody optFunctorBody
[:codePart1,:codePart2,:codePart3],"$"]