Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
(optCall): Handle VM macro expansions here.
|
|
(optCatch): Use it.
(optCall): Likewise.
(optSpecialCall): Likewise.
(simplifyVMForm): Handle simple cases here.
* interp/macros.lisp (RPLACW): Remove.
|
|
operand is zero.
(optIsub): Likewise.
(optImul): More simplifications if either operand is one.
|
|
* interp/nruncomp.boot (NRTsetVector4a): Tidy.
|
|
* interp/clam.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/sys-constants.boot: Remove $true and $false as unused.
|
|
LET-expressions.
* interp/g-opt.boot (optBind): Tidy.
|
|
initializations in %bind expressions.
* interp/g-util.boot (expandBind): The body of s %bind expression
may be a sequence of statements.
|
|
* interp/g-opt.boot (optMINUS): Remove.
(opt_-): Likewise.
(optBle): New.
(optBgt): Likewise.
(optBge): Likewise.
|
|
(opt_-): Likewise.
|
|
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
|
|
|
|
* interp/g-opt.boot (optIeq): New.
(optIadd): Likewise.
(optIsub): Likewise.
(optImul): Likewise.
(optIneg): Likewise.
(lispize): Remove.
|
|
(optRetract): Simplify the predicate when possible.
(optNot): New transformer.
(optAnd): Likewise.
(optOr): Likewise.
(optIlt): Likewise.
(optIle): Likewise.
(optIgt): Likewise.
(optIge): Likewise.
|
|
(SystemNonNegativeInteger) [~]: Likewise.
* interp/g-util.boot: Better expansion of byte operations.
|
|
byte relation operators and bitmakst operators.
* interp/g-util.boot: Expand them.
* algebra/data.spad.pamphlet (Byte): Now satisfies Logic. Tidy.
(SystemNonNegativeInteger): Likewise.
* algebra/java.spad.pamphlet (JVMBytecode): Rename from JavaBytecode.
(JVMClassFileAccess): New.
(JVMFieldAccess): Likewise.
(JVMMethodAccess): Likewise.
(JVMConstantTag): Likewise.
(JVMOpcode): Likewise.
|
|
* interp/i-output.boot (appChar): Fix thinko.
(outformWidth): Likewise.
(WIDTH): Likewise.
|
|
|
|
|
|
* interp/g-util.boot: Expand it.
* algebra/syntax.spad.pamphlet (Identifer): Now satisfies
CoercibleTo String.
|
|
|
|
($FunctionDescriptorTail): Likewise.
(getOperationAlistFromLisplib): Likewise.
(getOplistForConstructorForm): Adjust.
* interp/br-op1.boot (getDomainOpTable): Likewise.
* interp/br-op2.boot (koOps): Likewise.
* interp/define.boot (genDomainViewList): Likewise.
* interp/i-analy.boot (namedConstant): Likewise.
* interp/i-coerce.boot (getConstantFromDomain): Likewise.
* interp/i-funsel.boot (isOpInDomain): Likewise.
(findCommonSigInDomain): Likewise.
(findUniqueOpInDomain): Likewise.
(hasSig): Likewise.
* interp/i-spec2.boot (constantInDomain?): Likewise.
* interp/trace.boot (spadTrace): Likewise.
* interp/lisplib.boot (transformOperationAlist): Simplify.
|
|
(getOperationAlistFromLisplib): Don't call it.
* interp/sys-driver.boot (initializeGlobalState): Remove kludge.
* interp/util.lisp (BUILD-INTERPSYS): Likewise.
|
|
* interp/nruncomp.boot (mapConsDB): Remove.
(catList2catPackageList): Likewise.
|
|
(setVector4Onecat): Likewise.
(setVector4part3): Likewise.
* interp/nruncomp.boot (NRTsetVector4): Likewise.
(NRTsetVector4Part2): Likewise.
(mergeAppend): Likewise.
* interp/define.boot (compDefineFunctor1): Remove assignment to
unused $lisplibCategoriesExtented.
* interp/lisplib.boot (compDefineLisplib): Likewise.
* interp/wi1.boot (compDefineLisplib): Likewise.
* interp/wi2.boot (compDefineFunctor1): Likewise.
|
|
|
|
Rewrite local worker to use explicit hash table parameter instead
of special variable.
* interp/compress.boot (minimalise): Move to sys-utility.boot.
Delete file.
* interp/nruncomp.boot (buildFunctor): Don't bother to minimalise.
|
|
* interp/info.boot (actOnInfo): Adjust.
|
|
loop was executed only once.
|
|
(recordDeclarationInSideCondition): New. Update it.
(compWhere): Call it.
* interp/define.boot ($whereDecls): Define at toplevel.
(typeDependencyPath): New.
(inferConstructorImplicitParameters): Likewise.
(compDefineFunctor1): Use it.
|
|
* interp/compiler.boot (compMacro): Handle parameterized definition.
* interp/define.boot (macroExpand): Likewise.
(macroExpandList): Move case for niladic macros to macroExpand.
* interp/g-util.boot (putMacro): New utility function.
|
|
allowed to be macro names.
|
|
(compAdd): Use it to promote base domains for inlining.
* interp/c-util.boot (lookupFunctionInstance): Foeld into
lookupDefiningFunction. Remove.
(lookupDefiningFunction): Evaluate only system domains to avoid
cycles.
|
|
* interp/compiler.boot (setqMultiple): Use it.
(compColon): Likewise.
(compRetractGuard): Likewise.
(compRecoverDomain): Likewise.
(defineMatchScrutinee): Likewise.
(compStepIterator): Likewise.
(compIterator): Likewise.
(compUnnamedMapping): Likewise.
* interp/define.boot (giveFormalParametersValues): Likewise.
* interp/wi1.boot (setqMultiple): Likewise.
* interp/wi2.boot (compIterator): Likewise.
(smallIntegerStep): Likewise.
|
|
* interp/define.boot (checkRepresentation): Don't compile the base
domain here yet.
|
|
Include Pair.
|
|
remove local modemaps.Likewise.
(clearLocalModemaps): Likewise. Tidy.
(reallyClearLocalModemaps): New. Remove dynamically generated
function definition for internal Lisp-level functions.
|
|
(findLocalVars1): Use it for %bind-expressions.
|
|
|
|
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include it.
|
|
and %vlength.
* interp/g-util.boot: Expand them.
* algebra/array1.spad.pamphlet (PrimitiveArray): Use them.
(IndexedOneDimensionalArray): Likewise.
|
|
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %f2s.
* algebra/string.spad.pamphlet (StringCategory) [string]: Add
overload DoubleFloat -> %.
(String): Define it.
|
|
* interp/mark.boot (compString): Likewise.
* algebra/string.spad.pamphlet (StringCategory): Remove obsolete
comments. Remove redundant SetCategory extension.
|
|
* interp/g-util.boot: Expand it.
* algebra/aggcat.spad.pamphlet: Cleanup.
* algebra/any.spad.pamphlet: Likewise.
* algebra/boolean.spad.pamphlet: Likewise.
* algebra/data.spad.pamphlet: Likewise.
* algebra/domain.spad.pamphlet: Likewise.
* algebra/files.spad.pamphlet: Likewise.
* algebra/laurent.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Likewise.
* algebra/mappkg.spad.pamphlet: Likewise.
* algebra/ore.spad.pamphlet: Likewise.
* algebra/padic.spad.pamphlet: Likewise.
* algebra/pattern.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
* algebra/stream.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
* algebra/table.spad.pamphlet: Likewise.
|
|
forwarding function if possible.
|
|
* interp/compiler.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
Include Maybe.
|
|
domain modemap references here.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include more
floating point operators.
($simpleVMoperators): Move FUNCALL here.
(isVMConstantForm): Tidy.
* interp/g-util.boot: Expand more floating point insns.
* interp/c-util.boot (replaceSimpleFunctions): Replace more
constants.
* algebra/integer.spad.pamphlet (Integer): More cleanup. Use
builtin functions.
* algebra/sf.spad.pamphlet: Likewise.
|
|
appropriate.
* interp/g-opt.boot (jumpToToplevel?): New.
(singleAssignment?): Likewise.
(groupVariableDefinitions): Likewise. Use them.
(optimizeFunctionDef): Group toplevel variable definitions into
a bind expression.
* interp/g-util.boot (expandBind): Tidy.
* interp/c-util.boot (transformToBackendCode): Refrain from
enclosing let-expressions in SEQ if not needed.
|
|
expansion pass after new opcode expansion.
|