diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interp/ChangeLog | 9 | ||||
-rw-r--r-- | src/interp/Makefile.in | 14 | ||||
-rw-r--r-- | src/interp/Makefile.pamphlet | 26 | ||||
-rw-r--r-- | src/interp/nruncomp.boot.pamphlet | 10 | ||||
-rw-r--r-- | src/interp/nrunfast.boot.pamphlet | 41 |
5 files changed, 36 insertions, 64 deletions
diff --git a/src/interp/ChangeLog b/src/interp/ChangeLog index 5700dbcf..ec02013e 100644 --- a/src/interp/ChangeLog +++ b/src/interp/ChangeLog @@ -1,3 +1,12 @@ +2007-11-11 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * Makefile.pamphlet (nrunfast.$(FASLEXT)): New rule. + (nruncomp.$(FASLEXT)): Likewise. + (<<nrunfast.clisp>>): Remove + (<<nruncomp.clisp>>): Likewise. + * nruncomp.boot.pamphlet: Push into package "BOOT". Fix syntax. + * nrunfast.boot.pamphlet: Likewise. + 2007-11-10 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (nrungo.$(FASLEXT)): New rule. diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in index fd8f1b66..4e43137b 100644 --- a/src/interp/Makefile.in +++ b/src/interp/Makefile.in @@ -484,6 +484,12 @@ compiler.$(FASLEXT): compiler.boot category.$(FASLEXT) c-util.$(FASLEXT) \ modemap.$(FASLEXT) pathname.$(FASLEXT) $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< +nrunfast.$(FASLEXT): nrunfast.boot c-util.$(FASLEXT) + $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< + +nruncomp.$(FASLEXT): nruncomp.boot c-util.$(FASLEXT) + $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< + nrungo.$(FASLEXT): nrungo.boot c-util.$(FASLEXT) $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< @@ -743,14 +749,6 @@ bookvol5.lisp: $(srcdir)/bookvol5.pamphlet @ echo 298 making $@ from $< $(axiom_build_document) --tangle=Interpreter --output=$@ $< -nruncomp.clisp: nruncomp.boot - @ echo 353 making $@ from $< - @ echo '(old-boot::boot "nruncomp.boot")' | ${DEPSYS} - -nrunfast.clisp: nrunfast.boot - @ echo 356 making $@ from $< - @ echo '(old-boot::boot "nrunfast.boot")' | ${DEPSYS} - nrunopt.clisp: nrunopt.boot @ echo 365 making $@ from $< @ echo '(old-boot::boot "nrunopt.boot")' | ${DEPSYS} diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index bdaffb89..2a021500 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -841,22 +841,6 @@ bookvol5.lisp: $(srcdir)/bookvol5.pamphlet $(axiom_build_document) --tangle=Interpreter --output=$@ $< @ -\subsection{nruncomp.boot} - -<<nruncomp.clisp>>= -nruncomp.clisp: nruncomp.boot - @ echo 353 making $@ from $< - @ echo '(old-boot::boot "nruncomp.boot")' | ${DEPSYS} -@ - -\subsection{nrunfast.boot} - -<<nrunfast.clisp>>= -nrunfast.clisp: nrunfast.boot - @ echo 356 making $@ from $< - @ echo '(old-boot::boot "nrunfast.boot")' | ${DEPSYS} -@ - \subsection{nrunopt.boot} <<nrunopt.clisp>>= @@ -1141,6 +1125,12 @@ compiler.$(FASLEXT): compiler.boot category.$(FASLEXT) c-util.$(FASLEXT) \ modemap.$(FASLEXT) pathname.$(FASLEXT) $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< +nrunfast.$(FASLEXT): nrunfast.boot c-util.$(FASLEXT) + $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< + +nruncomp.$(FASLEXT): nruncomp.boot c-util.$(FASLEXT) + $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< + nrungo.$(FASLEXT): nrungo.boot c-util.$(FASLEXT) $(BOOTSYS) -- --compile --boot="old" --output=$@ --load-directory=. $< @@ -1382,10 +1372,6 @@ boot-pkg.$(FASLEXT): boot-pkg.lisp <<bookvol5.lisp>> -<<nruncomp.clisp>> - -<<nrunfast.clisp>> - <<nrunopt.clisp>> <<setvart.clisp>> diff --git a/src/interp/nruncomp.boot.pamphlet b/src/interp/nruncomp.boot.pamphlet index fbc94289..0d8f0986 100644 --- a/src/interp/nruncomp.boot.pamphlet +++ b/src/interp/nruncomp.boot.pamphlet @@ -50,6 +50,10 @@ <<*>>= <<license>> +import '"c-util" +import '"simpbool" +)package "BOOT" + -----------------------------NEW buildFunctor CODE----------------------------- NRTaddDeltaCode() == --NOTES: This function is called from NRTbuildFunctor to initially @@ -195,11 +199,11 @@ genDeltaEntry opMmPair == $NRTdeltaList:= [['domain,NRTaddInner dc,:dc],:$NRTdeltaList] saveNRTdeltaListComp:= $NRTdeltaListComp:=[nil,:$NRTdeltaListComp] $NRTdeltaLength := $NRTdeltaLength+1 - compEntry:= compOrCroak(dc,$EmptyMode,$e).expr + compEntry:= (compOrCroak(dc,$EmptyMode,$e)).expr -- dc RPLACA(saveNRTdeltaListComp,compEntry) u := - [eltOrConst,'$,$NRTbase+$NRTdeltaLength-index] where index == + [eltOrConst,'$,$NRTbase+$NRTdeltaLength-index] where index() == (n:= POSN1(opModemapPair,$NRTdeltaList)) => n + 1 --n + 1 since $NRTdeltaLength is 1 too large $NRTdeltaList:= [opModemapPair,:$NRTdeltaList] @@ -249,7 +253,7 @@ NRTgetLocalIndex1(item,killBindingIfTrue) == saveNRTdeltaListComp:= $NRTdeltaListComp:=[nil,:$NRTdeltaListComp] saveIndex := $NRTbase + $NRTdeltaLength $NRTdeltaLength := $NRTdeltaLength+1 - compEntry:= compOrCroak(item,$EmptyMode,$e).expr + compEntry:= (compOrCroak(item,$EmptyMode,$e)).expr -- item RPLACA(saveNRTdeltaListComp,compEntry) saveIndex diff --git a/src/interp/nrunfast.boot.pamphlet b/src/interp/nrunfast.boot.pamphlet index 12a6aec4..5f914bd7 100644 --- a/src/interp/nrunfast.boot.pamphlet +++ b/src/interp/nrunfast.boot.pamphlet @@ -46,6 +46,9 @@ <<*>>= <<license>> +import '"c-util" +)package "BOOT" + --======================================================================= -- Basic Functions --======================================================================= @@ -196,7 +199,7 @@ newLookupInTable(op,sig,dollar,[domain,opvec],flag) == start := QSPLUS(start,QSPLUS(numTableArgs,4)) NE(success,'failed) and success => if $monitorNewWorld then - sayLooking1('"<----",uu) where uu == + sayLooking1('"<----",uu) where uu() == PAIRP success => [first success,:devaluate rest success] success success @@ -385,34 +388,6 @@ newLookupInCategories1(op,sig,dom,dollar) == nil --======================================================= --- Instantiate Default Package if Signature Matches ---======================================================= - -getNewDefaultPackage(op,sig,infovec,dom,dollar) == - hohohoho() - opvec := infovec . 1 - numvec := CDDR infovec . 3 - max := MAXINDEX opvec - k := getOpCode(op,opvec,max) or return nil - maxIndex := MAXINDEX numvec - start := ELT(opvec,k) - finish := - QSGREATERP(max,k) => opvec.(QSPLUS(k,2)) - maxIndex - if QSGREATERP(finish,maxIndex) then systemError '"limit too large" - numArgs := QSDIFFERENCE(#sig,1) - success := nil - while finish > start repeat - PROGN - i := start - numArgs ^= (numTableArgs :=numvec.i) => nil - newCompareSigCheaply(sig,numvec,(i := QSPLUS(i,2))) => - return (success := true) - start := QSPLUS(start,QSPLUS(numTableArgs,4)) - null success => nil - defaultPackage := cacheCategoryPackage(packageVec,catVec,i) - ---======================================================= -- Compare Signature to One Derived from Table --======================================================= newCompareSig(sig, numvec, index, dollar, domain) == @@ -486,7 +461,7 @@ lazyMatchArgDollarCheck(s,d,dollarName,domainName) == if MEMQ(opOf s, '(Union Mapping Record)) then scoSig := [true for x in s] and/[fn for x in rest s for arg in rest d for xt in rest scoSig] where - fn == + fn() == x = arg => true x is ['elt,someDomain,opname] => lookupInDomainByName(opname,evalDomain someDomain,arg) x = '$ and (arg = dollarName or arg = domainName) => true @@ -646,13 +621,13 @@ newHasTest(domform,catOrAtt) == newHasAttribute(eval mkEvalable domform,catOrAtt) lazyMatchAssocV(x,auxvec,catvec,domain) == --new style slot4 - n : FIXNUM := MAXINDEX catvec + n := MAXINDEX catvec xop := CAR x or/[ELT(auxvec,i) for i in 0..n | xop = CAR (lazyt := QVELT(catvec,i)) and lazyMatch(x,lazyt,domain,domain)] lazyMatchAssocV1(x,vec,domain) == --old style slot4 - n : FIXNUM := MAXINDEX vec + n := MAXINDEX vec xop := CAR x or/[QCDR QVELT(vec,i) for i in 0..n | xop = CAR (lazyt := CAR QVELT(vec,i)) and lazyMatch(x,lazyt,domain,domain)] @@ -671,7 +646,7 @@ lazyMatchAssocV1(x,vec,domain) == --old style slot4 sayLooking(prefix,op,sig,dom) == $monitorNewWorld := false dollar := devaluate dom - atom dollar or VECP dollar or or/[VECP x for x in dollar] => systemError nil + atom dollar or VECP dollar or "or"/[VECP x for x in dollar] => systemError nil sayBrightly concat(prefix,formatOpSignature(op,sig),bright '"from ",form2String dollar) $monitorNewWorld := true |