aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-12-01 * interp/buildom.boot (UnionEqual): Use %lambda, not %lam.dos-reis4-5/+17
(coerceUn2E): Likewise. * interp/compiler.boot (massageLoop): %leave now takes a label as first argument. * interp/lisp-backend.boot (expandLeave): New. Expand accordingly.
2011-11-30 * interp/define.boot (registerInlinableDomain): Lose last argument.dos-reis5-47/+66
Recursively nominate constructor argument for inlining. Adjust callers. * interp/c-util.boot: Tidy. * algebra/Makefile.in: Tidy.
2011-11-30 * interp/c-util.boot (clearReplacement): Clear redex replacement.dos-reis3-16/+30
(registerRedexForm): New. (redexForm): Likewise. (inlineDirectCall): Inline functions with known redex forms. (foldExportedFunctionReferences): Compute redex forms. (backendCompileILAM): Remove as unused. (backendCompile2): Adjust. (massageBackendCode): Likeiwse. * interp/define.boot (compDefineCapsuleFunction): Clear replacement info.
2011-11-29 * boot/tokens.boot (absKind, absParms, absBody): New selectors.dos-reis9-16/+29
* interp/compiler.boot (canReturn): Handle %lambda forms. (compUnnamedMapping): Generate %lambda forms. Don't optimize them yet. * interp/g-opt.boot: %lambda forms are side-effect free. * interp/lisp-backend.boot: Translate them.
2011-11-29 * interp/g-opt.boot (isSimpleForm): Remove as unused.dos-reis2-32/+36
(floatableVMForm?): New. (modified?): Rename form varIsAssigned. (canInlineVarDefinition): Tidy. Allow intermediate temporaries initialized from variables to be inlined if not modified. (optBind): Tidy.
2011-11-28 * interp/nruncomp.boot (genDeltaEntry): Use $ for the domain ofdos-reis2-0/+7
computation it if is the expanded form of the current domain.
2011-11-28 * interp/c-util.boot (inlineDirectCall): Inline a non-side effectdos-reis3-1/+10
free argument in a unary pure function call if it is used exactly once. * algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo.
2011-11-28 * interp/define.boot (encodeCatform): Handle $ here.dos-reis3-6/+13
* interp/nruncomp.boot (deltaTran): assocIndex now handles $. (getLocalIndex): Likewise. (NRTencode): Handle $ before calling assocIndex. (assocIndex): Handle $.
2011-11-28 * interp/nruncomp.boot (genDeltaEntry): Replace Rep with its valuedos-reis2-0/+7
if it is the domain of computation.
2011-11-28 * interp/database.boot (dbDefaultPackage?): New.dos-reis4-36/+53
* interp/define.boot (compDefine1): Avoid encodeItem when symbolName is meant. (mkRepititionAssoc): Move from functor.boot (encodeItem): Likewise. (getCaps): Likewise. Tidy. (encodeFunctionName): Likewise.
2011-11-27 * interp/define.boot (assignCapsuleFunctionSlot): Slot originaldos-reis4-37/+29
signature too. * interp/nruncomp.boot (genDeltaEntry): Likewise. (getLocalIndex): Tidy. (changeDirectoryInSlot1): Tidy. (vectorLocation): Add a kind of operation as fourth argument. Adjust caller. Do not reconstruct the signature. (NRTsubstDelta): Remove as no longer used.
2011-11-27 * interp/nruncomp.boot (assocIndex): Rename from NRTassocIndex.dos-reis4-16/+21
Adjust callers.
2011-11-26 * interp/define.boot (assignCapsuleFunctionSlot): Do not calldos-reis3-17/+21
NRTisExported?. Determine operation kind locally. Do not store implement slot on the used entity list. * interp/nruncomp.boot (genDeltaEntry): Likewise. (deltaTran): Simplify. (NRTisExported?): Remove. (vectorLocation): Adjust.
2011-11-26 * algebra/indexedp.spad.pamphlet: Avoid direct use or RPLACD.dos-reis6-8/+36
* algebra/poly.spad.pamphlet: Likewise. * interp/define.boot (spadCompileOrSetq): Tidy replacement info. * interp/i-output.boot ($BinaryOperators): New. (binaryInfix?): Tidy.
2011-11-26 * interp/nruncomp.boot (genDeltaEntry): Split first argument intodos-reis3-19/+23
separate arguments (operation and modemap). Adjust callers.
2011-11-26 * interp/c-util.boot (updateCapsuleDirectory): Simplify.dos-reis4-15/+15
* interp/define.boot (compDefineCapsuleFunction): Call it from here. * interp/functor.boot (DescendCode): Not here.
2011-11-26 * interp/define.boot ($NRTdeltaList): Remove.dos-reis3-43/+49
($NRTdeltaListComp): Likeewise. (compDefineFunctor1): Do not bind them. (assignCapsuleFunctionSlot): Use dbUsedEntities. * interp/nruncomp.boot (NRTaddDeltaCode): Likewise. (dbEntitySlot): New. (NRTassocIndex): Use it. (genDeltaEntry): Use dbUsedEntities. (getLocalIndex): Likewise. (vectorLocation): Likewise. (NRTsubstDelta): Likewise.
2011-11-26 * interp/br-con.boot (conOpPage1): Fix typo.dos-reis6-119/+159
* interp/c-util.boot (registerConstructor): New. (currentConstructor): Likewise. (makeCompilationData): Initialize dbEntityBuffer. (dbEntityBuffer): New. (dbUsedEntities): Likewise. (dbEntityCount): Likewise. * interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex * interp/define.boot: Likewise. ($NRTdeltaLength): Remove. * interp/nruncomp.boot: Likewise.
2011-11-25 * interp/define.boot (processDefinitionParameters): New. Abstractdos-reis2-18/+22
from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy.
2011-11-25 * interp/define.boot: Rearrange order of some definitions.dos-reis2-32/+43
(getArgumentMode): Tidy. (hasSigInTargetCategory): Likewise. (refineDefinitionSignature): New. Abstract from compDefineCapsuleFunction. (compDefineCapsuleFunction): Use it. Tidy.
2011-11-25 * interp/define.boot: Rearrange order of some definitions.dos-reis2-91/+93
2011-11-25 * interp/define.boot ($suffix): Remove toplevel declaration.dos-reis2-42/+44
(localOperation?): New. (compDefineCapsuleFunction): Increment $suffix. Check for local and exported function definition here. (compile): Move capsule-local function processing out.
2011-11-24 * interp/define.boot: Tidy.dos-reis7-8/+17
* interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2011-11-24 * interp/nruncomp.boot (changeDirectoryInSlot1,sigloc): Add firstdos-reis2-12/+20
parameter as a DB. Adjust caller. (NRTsubstDelta): Tidy.
2011-11-24 * interp/functor.boot (findOperatorImplementations): Rename fromdos-reis2-16/+13
LookUpSigSlots. Tidy. Adjust caller. (makeMissingFunctionEntry): Remove as unused.
2011-11-24 * interp/define.boot ($CheckVectorList): Remove.dos-reis4-55/+14
(compDefineFunctor1): Do not bind it. (reportOnFunctorCompilation): Do not call displayMissingFunctions. (displayMissingFunctions): Remove as useless. * interp/functor.boot (SetFunctionSlots): Do not set slot in the first vector of $catvecList. * interp/nruncomp.boot (buildFunctor): Remove makeCatvecCode, emptyVector, domainShell. Do not call NRTcheckVector. (NRTcheckVector): Remove as useless.
2011-11-23 * interp/nruncomp.boot (NRTaddDeltaCode): Do not guard the loop bydos-reis2-3/+6
the values in the first vector in $catvecList. It is pointless.
2011-11-23 * interp/functor.boot (SigSlotsMatch): Remove. Adjust caller.dos-reis2-13/+7
(LookUpSigSlots): Tidy.
2011-11-23 * interp/define.boot (compile): Take the signature as third argument.dos-reis3-18/+18
Adjust callers. (compDefineFunctor1): Do not bind $functionLocations. (compDefineCapsuleFunction): Do not update. * interp/lisplib.boot (transformOperationAlist): Do not consult $functionLocations.
2011-11-22 * interp/define.boot (assignCapsuleFunctionSlot): Move fromdos-reis3-23/+23
nruncomp.boot. Rename from NRTassignCapsuleFunctionSlot. Take first parameter as a DB. Adjust callers. (compDefineCapsuleFunction): Tidy.
2011-11-21 * interp/nruncomp.boot (getLocalIndex): Rename from NRTgetLocalIndex.dos-reis4-18/+24
Adjust callers. * interp/compiler.boot: Adjust. * interp/define.boot: Likewise.
2011-11-18 * interp/category.boot (FindFundAncs): Tidy. Access input indos-reis2-18/+24
accordance with documented abstract structure.
2011-11-17 * interp/i-eval.boot (evaluateType): Handle % and and signatures.dos-reis2-3/+12
(evaluateFormAsType): Handle builtin constructor instantiations.
2011-11-16 * interp/category.boot (mkCategory): Tidy.dos-reis4-44/+77
(SigListUnion): Likewise. The last argument is not a vector buffer. (JoinInner): Use a vector buffer for scratch space to compute the initial principal ancestor. Simplify copy logic. * interp/g-util.boot (mkBuffer): New. (bufferData): New. (buffeLength): Likewise. (resizeBuffer): Likewise. (bufferToVector): Likwise. * lisp/core.lisp.in (mkVector): New. Export.
2011-11-16 * interp/category.boot (JoinInner): Remove effective dead codedos-reis2-28/+7
controlled by originalvector which has non-changing value false.
2011-11-15 * interp/category.boot (JoinInner): Use idiomatic Boot for loops.dos-reis2-77/+69
2011-11-14 * interp/category.boot ($NewCatVec): Remove.dos-reis2-94/+101
(SigListUnion): Take the principal ancestor as third argument. Use it instead of $NewCatVec. Adjust caller. (JoinInner): Do not bind $NewCatVec. Introduce local variable principal. Tidy.
2011-11-14 * interp/category.boot (filterConditionalCategories): Split out ofdos-reis2-21/+40
JoinInner. (JoinInner): Call it.
2011-11-14 * interp/category.boot (SigListMember): Remove as deadcode.dos-reis2-24/+18
(SigEqual): Remove. (predicateImplies): Rename from PredImplies. Rework it to match documentation. Adjust callers. (CondAncestorP): Adjust arguments in call to predicateImplies. (JoinInner): Likewise.
2011-11-14 * lisp/core.lisp.in: Export %sysInit.dos-reis4-506/+557
* interp/sys-driver.boot (%sysInit): Don't redefine. Reset function binding.
2011-11-13 * interp/category.boot (JoinInner): Tidy.dos-reis2-28/+26
2011-11-13 Fix SF/3436999dos-reis2-76/+5
* utils/storage.H: Revert accidental commit of unfinished changes.
2011-11-13 * interp/sys-driver.boot (initializeDatabases): Honor --initial-db.dos-reis8-81/+100
(initializeGlobalState): Don't bind $compileDefaultsOnly. * interp/sys-globals.boot ($compileDefaultsOnly): Remove. * interp/define.boot (compDefineCategory): Adjust. (compDefineCategory1): Likewise. (compDefineFunctor1): Clear dbCapsuleDefinitions. * interp/lisplib.boot (compDefineLisplib): Tidy. * interp/daase.lisp (BROWSEOPEN): Use dbSourceFile. (GETDATABASE): Likewise. (LOCALNRLIB): Likewise. (WRITE-BROWSEDB): Likewise. * algebra/Makefile.in (COMPILE_SPAD): Specifiy initial DB. (BOOTSTRAP): Likewise.
2011-11-13 * interp/br-data.boot (buildLibdbConEntry): Exit early if argumentdos-reis6-20/+104
is a builtin constructor. (mkDependentsHashTable): Filter out builtin constructors. * interp/cattable.boot (genCategoryTable): Likewise. * interp/database.boot (getConstructorModemap): Load the contructor if necessary and try again before failing. * interp/define.boot (NRTgetLookupFunction): Handle multiple inheritance of domains. (getBaseExports): Rename from getExportCategory. Adjust caller. Handle multiple inheritance of domains. (extendsCategory): Do not reference $functorForm. Take it from the DB argument. (getTargetFromRhs): Do not optimize codegen.
2011-11-12 * interp/define.boot (getTargetFromRhs): Do not try to recorddos-reis2-2/+13
references to used entities.
2011-11-11 * interp/define.boot (compDefineCapsuleFunction): Take firstdos-reis2-23/+31
argument as a DB for the current constructor. Adjust callers. (compile): Likewise. (spadCompileOrSetq): Likewise. (compileConstructor): Likewise. (compileConstructor1): Likewise.
2011-11-11 * interp/br-data.boot: Change NRTEVAL to %eval.dos-reis7-11/+20
* interp/c-util.boot: Likewise. * interp/define.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise.
2011-11-11 * interp/c-util.boot (dbByteList): New accessor macro.dos-reis3-12/+25
* interp/define.boot ($byteVec): Remove. (getInfovecCode): Do not bind it. (makeGoGetSlot): Take DB as first parameter. Adjust caller. Update dbByteList. (NRTmakeCategoryAlist): Adjust.
2011-11-11 * interp/compiler.boot (applyMapping): Emit special call fordos-reis6-6/+50
domain producing mapping variables. (compWithMappingMode): Coerce constructors to function objets. (compFormWithModemap): Constructor calls are direct calls. Everything else is ordinary indirect call. * interp/g-opt.boot (optCall): Handle function objects. * interp/nruncomp.boot (NRTencode): Encode the elaboration of atomic forms, not the source level form. * testsuite/compiler/ctor-mapping.spad: New.
2011-11-10 * algebra/boolean.spad.pamphlet (IndexedBits) [Not, Or, And]: Remove.dos-reis5-31/+18
Implement ~. \/, and /\ instead. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/pattern.spad.pamphlet (Pattern): Adjust. * algebra/string.spad.pamphlet (CharacterClass): Likewise.