aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
AgeCommit message (Collapse)AuthorFilesLines
2013-07-02Rever sharp var list changes.dos-reis1-3/+2
2013-07-01Bring closer to GCL-buildability.dos-reis1-2/+3
2013-06-18 * interp/compiler.boot (compHasFormat): Take a DB parameter.dos-reis1-3/+3
Adjust callers. * interp/define.boot (ICformat): Likewise. * interp/lisplib.boot (predicateBitIndex): Likewise. (predicateBitRef): Likewise. (transHasCode): Likewise.
2013-06-17Undo last commit to compiler.bootdos-reis1-8/+19
2013-06-17Consolidate parsers in one pamphlet.dos-reis1-19/+8
2013-06-15Add DB parameter to extendsCategoryForm.dos-reis1-3/+4
2013-06-15Remove NRT prefix from most functions.dos-reis1-1/+1
2013-06-14compColon is now smarter about category definitions.dos-reis1-0/+4
2013-06-14Remove effectively deadcode from comp3.dos-reis1-1/+3
2013-06-14Remove effectively deadcode from comp3.dos-reis1-1/+0
2013-06-02 Make parser non-dependent on constructor databases.dos-reis1-0/+25
2013-05-30Update for modern ECL.dos-reis1-7/+6
2013-05-29Simplify backend functionsdos-reis1-1/+1
2013-05-28Add DB parameter to more compiler functionsdos-reis1-44/+49
2013-05-28Add DB parameter to compNoStackingdos-reis1-23/+20
2013-05-28Have compDefine take a DB parameterdos-reis1-1/+4
2013-05-19 * interp/define.boot (compDefineFunctor1): Use the currentdos-reis1-6/+2
instantiation form when adding modemaps from category. (partialSignature?): New. (refineDefinitionSignature): Use full completion from getSignature. * interp/compiler.boot (compIterator): Simplify.
2013-05-16 * interp/compiler.boot (unknownTypeError): Simplify.dos-reis1-4/+1
* interp/define.boot (dbClearForCompilation!): Clear more fields.
2013-05-15 * interp/compiler.boot (comp2): Leave categories alone.dos-reis1-2/+3
2013-05-15 * interp/compiler.boot (comp2): Don't test for $bootStrapMode.dos-reis1-2/+1
2013-05-10The compiler now accepts do-statementsdos-reis1-1/+8
2013-05-08Almost pure function bodies are now %redex formsdos-reis1-6/+0
2012-08-26 * interp/br-saturn.boot: Replace TERPRI with finishLine.dos-reis1-1/+1
* interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/postpar.boot: Likewise. * interp/setvars.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2012-05-12 * interp/c-util.boot: Miscellaneous cleanup.dos-reis1-1/+1
* interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/macros.lisp: Likewise. * interp/monitor.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nlib.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/posit.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/util.lisp: Likewise.
2012-05-07 * interp/sys-globals.boot ($insideCompTypeOf): Remove.dos-reis1-10/+0
* interp/preparse.lisp (INITIAL-SUBSTRING): Remove. * interp/g-util.boot (stringPrefix?): Remove. * interp/compiler.boot (compTypeOf): Remove. (comp3): Don't call it.
2012-04-30 * interp/compiler.boot: Use float? in lieu of FLOATP.dos-reis1-1/+1
* interp/fortcall.boot: Likewise. * interp/i-object.boot: Likewise. * interp/newfort.boot: Likewise. * interp/i-analy.boot: Compare to 0 in lieu of ZEROP. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/macros.lisp: Directly use 1+ instead of QADD1. * interp/preparse.lisp: Likewise. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/sys-constants.boot ($BasicPredicates): Remove as unused. * interp/vmlisp.lisp (ADD1): Remove. (QSADD1): Likewise. (QSSUB1): Likewise. (QSTIMES): Likewise.
2012-04-28 * interp/compiler.boot (finishLambdaExpression): Tidy.dos-reis1-2/+2
(compWithMappingMode): Use %lambda not LAMBDA. * interp/g-opt.boot (changeVariableDefinitionToStore): Handle %closure.
2012-02-27 * interp/nruncomp.boot (markOperation): New.dos-reis1-8/+5
(optDeltaEntry): Implement better patch for last change. * interp/compiler.boot (compFormWithModemap): Undo last change.
2012-02-27 * interp/compiler.boot (compFormWithModemap): Mark implementationdos-reis1-6/+8
resolution as appropriate.
2012-02-27 * interp/compiler.boot (emitLocalCallInsn): Mark externaldos-reis1-6/+9
operators as such, and local functions as such. (freeVarUsage): Do not count external and local functions. (extractCode): Tidy. Handle closure literals. * interp/g-opt.boot (optCall): Optimize external calls where possible. %external is a side-effect free operator.
2012-02-26 * interp/c-util.boot (numOfOccurencesOf): Tidy.dos-reis1-1/+1
* interp/compiler.boot (compUnnamedMapping): Fix thinko. * interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.
2012-02-26 * interp/compiler.boot (compTopLevel): Do not bind $killOptimizeIfTrue.dos-reis1-9/+3
(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.
2012-02-25 * interp/compiler.boot (extractCode): Rename fromdos-reis1-7/+8
extractCodeAndConstructTriple. Change Arity. Tidy. Adjust callers.
2012-02-25 * interp/compiler.boot (finishLambdaExpression): Use %closure.dos-reis1-4/+4
(extractCodeAndConstructTriple): Likewise. * interp/g-opt.boot (optCall): Adjust.
2012-02-23 * interp/nruncomp.boot (genDeltaEntry): Replace applyFun with %apply.dos-reis1-5/+3
* interp/lisp-backend.boot (expandApply): Remove. Unregister expander. * interp/g-opt.boot (optCall): applyFun is not longer an opcode. Look for %apply. * interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]] form, not ['%apply,..] form. (extractCodeAndConstructTriple): Tidy. (compApplication): Likewise.
2012-02-19 * interp/compiler.boot (compBuiltinDomain): Compute the exportsdos-reis1-2/+6
from parentsOfBuiltinInstance. * interp/buildom.boot (parentsOfBuiltinInstance): Tidy.
2012-02-19 * interp/compiler.boot (compBuiltinDomain): Rename from compCat.dos-reis1-5/+5
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-3/+3
* boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise.
2011-12-17 * interp/compiler.boot (compColon): Handle multiple declarationsdos-reis1-1/+2
properly.
2011-12-17 * interp/compiler.boot (finishVectorCollect): Rename fromdos-reis1-1/+50
optCollectVector. Move here. (compRepeatOrCollect): Use it.
2011-12-17 * interp/compiler.boot (finishListCollect): New.dos-reis1-1/+8
(compRepeatOrCollect): Use it. * interp/g-opt.boot (optCollectVector): Likewise. * interp/lisp-backend.boot (expandCollect): Likewise.
2011-12-15 * interp/g-opt.boot (removeLoopExitTag!): New.dos-reis1-35/+2
(optimize!): Run it first. * interp/compiler.boot (nullifyTargetingLeaves): Remove. (massageLoop): Likewise. (compRepeatOrCollect): Don't call it anymore.
2011-12-15 * interp/compiler.boot: Rename %loop to %repeat. Propagate.dos-reis1-2/+2
* interp/g-opt.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise.
2011-12-11 * interp/compiler.boot (compColon): Give initial %undefined valuedos-reis1-1/+4
to local variable declarations which are not definitions. * interp/lisp-backend.boot (expandToVMForm): Translate %undefined.
2011-12-08 * interp/g-opt.boot (tranformIF!): New.dos-reis1-1/+1
(optimize!): Likewise. Abstract from optimizeFunctionDef. (optimize): New. (optimizeFunctionDef): Use optimize!. (simplifyVMForm): Do not call optIF2COND. (optIF2COND): Remove. * interp/compiler.boot (compHasFormat): Use optimize! in lieu of simplifyVMForm. * interp/nruncomp.boot (NRTencode): Use optimize. (NRTsetVector4a): Likewise.
2011-12-07 * interp/compiler.boot (compReduce1): Tidy.dos-reis1-3/+4
* interp/define.boot (compDefineCategory2): Likewise. * interp/nruncomp.boot (buildFunctor): Likewise. * interp/slam.boot (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT.
2011-12-06 * interp/compiler.boot (setqMultipleExplicit): Introduceddos-reis1-10/+9
temporary variables are local to the assignment.
2011-12-06 * interp/compiler.boot (compResolveCall): Update description.dos-reis1-47/+63
(compRetractGuard): Tidy. (compRecoverDomain): Likewise. (compRecoverGuard): Likewise. (compAlternativeGuard): Likewise. (compMatchAlternative): Likewise. (compMatch): Likewise.
2011-12-04 * interp/compiler.boot (freeVarUsage): Handle %bind and LET.dos-reis1-2/+13
2011-12-03 * interp/compiler.boot: Use %seq in lieu of PROGN.dos-reis1-9/+8
* interp/g-util.boot (spliceSeqArgs): New. * interp/g-opt.boot (changeVariableDefinitionToStore): Call it before recursing on %seq forms.