aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/define.boot7
-rw-r--r--src/interp/lisplib.boot3
-rw-r--r--src/interp/nruncomp.boot6
-rw-r--r--src/interp/nrunfast.boot71
4 files changed, 1 insertions, 86 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 4ec4fb55..8e9e7969 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -78,11 +78,9 @@ $NRTslot1Info := nil
$NRTdeltaListComp := []
$template := nil
$signature := nil
-$isOpPackageName := false
$lookupFunction := nil
$byteAddress := nil
$byteVec := nil
-$lisplibSlot1 := nil
$sigAlist := []
$predAlist := []
$argumentConditionList := []
@@ -1364,7 +1362,6 @@ compDefineFunctor1(df is ['DEF,form,signature,nils,body],
$NRTslot1PredicateList: local := predicatesFromAttributes attributeList
$NRTattributeAlist: local := NRTgenInitialAttributeAlist(db,attributeList)
$NRTslot1Info: local := nil --set in NRTmakeSlot1Info
- --this is used below to set $lisplibSlot1 global
$NRTaddForm: local := nil -- see compAdd
$NRTdeltaList: local := nil --list of misc. elts used in compiled fncts
$NRTdeltaListComp: local := nil --list of compiled forms for $NRTdeltaList
@@ -1425,9 +1422,6 @@ compDefineFunctor1(df is ['DEF,form,signature,nils,body],
if $LISPLIB then
if not $bootStrapMode then
$NRTslot1Info := NRTmakeSlot1Info()
- $isOpPackageName: local := isCategoryPackageName $op
- if $isOpPackageName then lisplibWrite('"slot1DataBase",
- ['updateSlot1DataBase,MKQ $NRTslot1Info],$libFile)
$lisplibFunctionLocations := applySubst($pairlis,$functionLocations)
libFn := getConstructorAbbreviationFromDB op'
$lookupFunction: local :=
@@ -1439,7 +1433,6 @@ compDefineFunctor1(df is ['DEF,form,signature,nils,body],
[simpBool x for x in $NRTslot1PredicateList]
LAM_,FILEACTQ('loadTimeStuff,
['MAKEPROP,MKQ $op,''infovec,getInfovecCode()])
- $lisplibSlot1 := $NRTslot1Info
$lisplibOperationAlist:= operationAlist
-- Functors are incomplete during bootstrap
if $bootStrapMode then
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index e8d85247..4debd68e 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -446,7 +446,6 @@ compConLib1(fun,infileOrNil,outfileOrNil,auxOp,editFlag,traceFlag) ==
$LISPLIB: local := 'T
$lisplibPredicates: local := nil
$lisplibModemapAlist: local := nil
- $lisplibSlot1 : local := nil --used by NRT mechanisms
$lisplibOperationAlist: local := nil
$lisplibOpAlist: local:= nil
$libFile: local := nil
@@ -471,7 +470,6 @@ compDefineLisplib(df:=["DEF",[op,:.],:.],m,e,prefix,fal,fn) ==
$op: local := op
$lisplibPredicates: local := nil -- set by makePredicateBitVector
$lisplibModemapAlist: local := nil
- $lisplibSlot1 : local := nil -- used by NRT mechanisms
$lisplibOperationAlist: local := nil
$lisplibOpAlist: local := nil --operations alist for new runtime system
$lisplibSignatureAlist: local := nil
@@ -614,7 +612,6 @@ finalizeLisplib(ctor,libName) ==
writePrincipals(ctor,removeZeroOne dbPrincipals db,$libFile)
writeAncestors(ctor,removeZeroOne dbAncestors db,$libFile)
lisplibWrite('"documentation",finalizeDocumentation ctor,$libFile)
- lisplibWrite('"slot1Info",removeZeroOne $lisplibSlot1,$libFile)
if $profileCompiler then profileWrite()
leaveIfErrors(libName,kind)
true
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index 545d6ac3..04603869 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -53,9 +53,6 @@ $insideCategoryPackageIfTrue := false
$profileCompiler := false
++
-$Slot1DataBase := hashTable 'EQ
-
-++
$NRTdeltaList := []
$NRTdeltaLength := 0
@@ -732,9 +729,6 @@ NRTsubstDelta(initSig) ==
-----------------------------SLOT1 DATABASE------------------------------------
-updateSlot1DataBase [name,info] ==
- tableValue($Slot1DataBase,name) := info
-
NRTputInLocalReferences bod ==
NRTputInHead bod
diff --git a/src/interp/nrunfast.boot b/src/interp/nrunfast.boot
index de732ec2..ca246a3c 100644
--- a/src/interp/nrunfast.boot
+++ b/src/interp/nrunfast.boot
@@ -267,10 +267,8 @@ newLookupInDomain(op,sig,addFormDomain,dollar,index) ==
--=======================================================
newLookupInCategories(op,sig,dom,dollar) ==
slot4 := domainData dom
- catVec := second slot4
+ [.,catVec,:.] := slot4
# catVec = 0 => nil --early exit if no categories
- integer? KDR canonicalForm catVec =>
- newLookupInCategories1(op,sig,dom,dollar) --old style
$lookupDefaults : local := false
if $monitorNewWorld then sayBrightly concat('"----->",
form2String devaluate dom,'"-----> searching default packages for ",op)
@@ -333,73 +331,6 @@ nrunNumArgCheck(num,bytevec,start,finish) ==
(start := start + args + 4) = finish => nil
nrunNumArgCheck(num,bytevec,start,finish)
-newLookupInCategories1(op,sig,dom,dollar) ==
- $lookupDefaults : local := false
- if $monitorNewWorld then sayBrightly concat('"----->",
- form2String devaluate dom,'"-----> searching default packages for ",op)
- predvec := domainPredicates dom
- slot4 := domainData dom
- packageVec := first slot4
- catVec := second slot4
- --the next three lines can go away with new category world
- varList := ['$,:$FormalMapVariableList]
- valueList := [dom,:[domainRef(dom,5+i) for i in 1..(#instantiationArgs dom)]]
- valueList := [MKQ val for val in valueList]
- nsig := MSUBST(canonicalForm dom,canonicalForm dollar,sig)
- for i in 0..maxIndex packageVec | (entry := vectorRef(packageVec,i))
- and (vector? entry or (predIndex := rest (node := catVec.i)) and
- (predIndex = 0 or testBitVector(predvec,predIndex))) repeat
- package :=
- vector? entry =>
- if $monitorNewWorld then
- sayLooking1('"already instantiated cat package",entry)
- entry
- ident? entry =>
- cat := first node
- packageForm := nil
- if not property(entry,'LOADED) then loadLib entry
- infovec := property(entry,'infovec)
- success :=
- vector? infovec =>
- opvec := infovec.1
- max := maxIndex opvec
- code := getOpCode(op,opvec,max)
- null code => nil
- byteVector := CDDR infovec.3
- numOfArgs := arrayRef(byteVector,opvec.code)
- numOfArgs ~= #sig.source => nil
- packageForm := [entry,'$,:rest cat]
- package := evalSlotDomain(packageForm,dom)
- vectorRef(packageVec,i) := package
- package
- table := tableValue($Slot1DataBase,entry) or systemError nil
- (u := LASSQ(op,table))
- and (v := or/[rest x for x in u | #sig = #x.0]) =>
- packageForm := [entry,'$,:rest cat]
- package := evalSlotDomain(packageForm,dom)
- vectorRef(packageVec,i) := package
- package
- nil
- not success =>
- if $monitorNewWorld then
- sayBrightlyNT '" not in: "
- pp (packageForm and devaluate package or entry)
- nil
- if $monitorNewWorld then
- sayLooking1('"candidate default package instantiated: ",success)
- success
- entry
- null package => nil
- if $monitorNewWorld then
- sayLooking1('"Looking at instantiated package ",package)
- res := lookupInDomainVector(op,sig,package,dollar) =>
- if $monitorNewWorld then
- sayBrightly '"candidate default package succeeds"
- return res
- if $monitorNewWorld then
- sayBrightly '"candidate fails -- continuing to search categories"
- nil
-
--=======================================================
-- Compare Signature to One Derived from Table
--=======================================================