aboutsummaryrefslogtreecommitdiff
path: root/src/interp/nruncomp.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/nruncomp.boot')
-rw-r--r--src/interp/nruncomp.boot29
1 files changed, 11 insertions, 18 deletions
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index d986a708..b0eeb807 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -391,9 +391,7 @@ buildFunctor($definition is [name,:args],sig,code,$locals,$e) ==
domainShell := GETREFV ($NRTbase + $NRTdeltaLength)
for i in 0..4 repeat domainShell.i := $domainShell.i
--we will clobber elements; copy since $domainShell may be a cached vector
- $template :=
- $NRTvec = true => GETREFV ($NRTbase + $NRTdeltaLength)
- nil
+ $template := GETREFV ($NRTbase + $NRTdeltaLength)
$catvecList:= [domainShell,:[emptyVector for u in CADR domainShell.4]]
$catNames := ['$] -- for DescendCode -- to be changed below for slot 4
$maximalViews:= nil
@@ -412,19 +410,16 @@ buildFunctor($definition is [name,:args],sig,code,$locals,$e) ==
storeOperationCode:= DescendCode(code,true,nil,first $catNames)
outsideFunctionCode:= NRTaddDeltaCode()
storeOperationCode:= NRTputInLocalReferences storeOperationCode
- if $NRTvec = true then
- NRTdescendCodeTran(storeOperationCode,nil) --side effects storeOperationCode
+ NRTdescendCodeTran(storeOperationCode,nil) --side effects storeOperationCode
codePart2:=
- $NRTvec = true =>
- argStuffCode :=
- [[$setelt,'$,i,v] for i in $NRTbase.. for v in $FormalMapVariableList
- for arg in rest $definition]
- if MEMQ($NRTaddForm,$locals) then
- addargname := $FormalMapVariableList.(POSN1($NRTaddForm,$locals))
- argStuffCode := [[$setelt,'$,5,addargname],:argStuffCode]
- [['stuffDomainSlots,'$],:argStuffCode,
- :predBitVectorCode2,storeOperationCode]
- [:outsideFunctionCode,storeOperationCode]
+ argStuffCode :=
+ [[$setelt,'$,i,v] for i in $NRTbase.. for v in $FormalMapVariableList
+ for arg in rest $definition]
+ if MEMQ($NRTaddForm,$locals) then
+ addargname := $FormalMapVariableList.(POSN1($NRTaddForm,$locals))
+ argStuffCode := [[$setelt,'$,5,addargname],:argStuffCode]
+ [['stuffDomainSlots,'$],:argStuffCode,
+ :predBitVectorCode2,storeOperationCode]
$CheckVectorList := NRTcheckVector domainShell
--CODE: part 1
@@ -594,9 +589,7 @@ NRTsetVector4a(sig,form,cond) ==
NRTmakeSlot1 domainShell ==
opDirectName := INTERN STRCONC(PNAME first $definition,'";opDirect")
- fun :=
- $NRTmakeCompactDirect => '(function lookupInCompactTable)
- '(function lookupInTable)
+ fun := '(function lookupInCompactTable)
[($QuickCode=>'QSETREFV;'SETELT), '$,1, ['LIST,fun,'$,opDirectName]]
NRTmakeSlot1Info() ==