aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2022-08-30Do not generate `SPADLET` opcode (#23)Gabriel Dos Reis4-21/+19
This patch makes the Spad compiler no longer generate `SPADLET`.
2022-08-30Use `LETT` less often (#22)Gabriel Dos Reis1-3/+6
This patch has the Lisp backend use less often the `LETT` opcode. In fact, it is no longer used by the Spad compiler codegen. However, a few cases in the interpreter continues to use it.
2022-08-29Test assignment opcode in positive form (#21)Gabriel Dos Reis1-1/+1
The Lisp backend massaging code should test the opcode in positive form, as opposed to exclusion.
2022-08-27Remove reference to PRELET and RELET (#20)Gabriel Dos Reis1-2/+2
2022-08-23Fix a silent bad codegen (#19)Gabriel Dos Reis1-3/+1
The compile-time evaluation attempted by `expanndIlt` when both operands are integers seem to generate silent bad code (Lisp mysteries!). Disabled by this patch.
2022-08-21Fix build with SBCL-2.1.0 (#18)Gabriel Dos Reis1-3/+3
SBCL-2.1.0 and up have more refined type inference from array operations. As a consequence, they caught a coding slopping in the function `SUFFIX` - even if "benign" with respect to effective inputs.
2022-08-20fix sbcl 1.5.9 build (#16)Gabriel Dos Reis2-17/+9
* Fix build with SBCL-1.5.9 * Fix dynamic loading of open-axiom-core.so
2018-02-01Fix thinkoGabriel Dos Reis1-1/+1
Existing code did not supply the domain to export from, hence supplying one fewer argument to `genImportDeclaration`. Issue discovered by build with CLISP.
2017-12-27Fix build with SBCLGabriel Dos Reis1-2/+1
ERROR does no expect a LIST.
2016-12-26 * interp/i-output.boot (appChar): Don't modify string parameter.Gabriel Dos Reis1-5/+1
* algebra/Makefile.am (strap-1/FINITE.$(FASLEXT)): Update dependency.
2016-02-09Various cleanupsGabriel Dos Reis3-23/+27
Rename getFunctionTemplate to matchSignatureInTemplate. Rename lookupInheritedDefiningFunction to lookupRemoteDefiningFunction as the function wasn't really about inherited operators. Have it avoid returning functions that might need their domain domain to operate correctly. Simplify getOpCode: it only needs two arguments since the third was the length of the second argument. dbDefaultPackage? is no longer a macro.
2016-02-08Do not let domain closure escape lookupDefinitionFunctionGabriel Dos Reis2-7/+4
A successful call to compiledLookup will come up with any of the form that results from stuffSlot. Handle them here. Remove confused and dead code.
2016-02-08Tidy gerCapsuleDirectoryEntryGabriel Dos Reis1-2/+9
Factor out candidatesForSlot.
2016-02-07Remove $NRTaddFormGabriel Dos Reis6-38/+37
Use a %CompilerData slot to hold the corresponding data during the elaboration of a capsule.
2016-02-07Remove $NRTderivedTargetIfTrueGabriel Dos Reis3-8/+1
It wasn't used in any meaningful way -- its value was always set to 'false'. Furthermore, it didn't match documentation.
2016-02-07Various cleanupsGabriel Dos Reis2-7/+7
Use `domainDirectory dom` instead of `domainRef(dom,1)`.
2016-02-06Move $lookupDefaults out of newLookupInTableGabriel Dos Reis2-6/+7
Move $lookupDefaults to he callers of newLookupInTable to surface variabilities in the control flow.
2016-02-06optNot: handle conjunction and disjunction operandsGabriel Dos Reis1-0/+4
2016-02-02Rename dbConstructorDefault to dbDefaultPackageGabriel Dos Reis5-30/+36
And various cleanups.
2016-02-01Remove dead code in compFunctorBodyGabriel Dos Reis1-4/+0
2016-02-01Better indirect call resolutionGabriel Dos Reis3-55/+57
The infrastructure put in place in the last few commits now enables better indirect calls ('SPADCALL') to operations implemented in the same capsule. The improvement here is that the limitation of unconditional definition is removed. Now, even conditional definitions are resolved as long as the its predicate and the predicate of the current function match.
2016-02-01Support ')read' of Boot fileGabriel Dos Reis1-4/+8
Allow the system command to ')read' a Boot source file: the involves (1) compiling Boot to machine code (2) loading the resulting FASL in the current system Note that if the boot file has any dependency in terms of 'import', one needs to set up the $LoadDirectories appropriately, or else the system will crash. In particular, if you're modifying OpenAxiom source files you need to include the appropriate directories containing OpenAxiom fasl files.
2016-01-31Tidy noteCapsuleFunctionDefinitionGabriel Dos Reis1-7/+9
2016-01-31Defer compilation of capsule functions to compFunctorBodyGabriel Dos Reis1-4/+3
2016-01-31Rename compileConstrutor to compileConstructorIRGabriel Dos Reis1-17/+10
Establish a distinct control path for compiling constructor bodies. Avoid routing these IRs via 'compile', which should be used only for capsule-level definitions.
2016-01-31Small cleanup in define.bootGabriel Dos Reis2-16/+3
2016-01-31Tidy spadCompileOrSetqGabriel Dos Reis1-10/+5
2016-01-31Remove support for --show-insn, and ")set )report insn"Gabriel Dos Reis5-40/+4
2016-01-31Remove a couple of global states from the compiler.Gabriel Dos Reis2-17/+15
2016-01-30writeCapsuleLevelDefinitions: don't write into the index fileGabriel Dos Reis2-9/+11
2016-01-30compDefineCapsuleFunction: Tidy.Gabriel Dos Reis1-5/+1
2016-01-30Make signature definitions parts of %CompilationData.Gabriel Dos Reis2-14/+8
2016-01-30Do not rename mkpf.Gabriel Dos Reis2-8/+8
2016-01-30Normalize spelling of mkpf.Gabriel Dos Reis8-17/+17
2016-01-30Tidy category predicate conjunction.Gabriel Dos Reis2-7/+5
2016-01-28Fix storeBlanks\!Gabriel Dos Reis1-2/+3
2016-01-22finalizeLisplib: skip category packagesGabriel Dos Reis1-1/+1
The documentation for the operations from category packages is already present in the original category, so there is no value in duplicating them for the default packages.
2016-01-22getConstructorFullNameFromDB: get it directly.Gabriel Dos Reis2-6/+2
2016-01-21getConstructorAncestorsFromDB: get them from generated codeGabriel Dos Reis3-16/+7
Ancestors for category constructors are stored in databases with parameter names of the form #1, #2, etc. called "formals", instead of the user-writtern parameters in the input souce code. However, the ancestors as previously stored in generated code used the input source-level parameter names. Changed to formals, so no rewrite needed before making databases.
2016-01-20getConstructorArgsFromDB: remove as redundant.Gabriel Dos Reis4-10/+4
2016-01-20getConstructorFromFromDB: get it from compiled code.Gabriel Dos Reis2-9/+7
2016-01-20Include compiled initdb in final system image.Gabriel Dos Reis1-2/+6
2016-01-20testExtend: Handle case where first argument is presented as an attribute.Gabriel Dos Reis2-2/+5
2016-01-19Skip interp.daase for a few database info in generated code.Gabriel Dos Reis2-14/+9
2016-01-19getConstructorCategory: get it from generated code for category constructors.Gabriel Dos Reis1-1/+4
2016-01-17getConstructorParentsFromDB: get data from compiled code.Gabriel Dos Reis2-8/+5
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis8-55/+77
2016-01-13GETDATABASE: Remove dead alternatives.Gabriel Dos Reis1-7/+1
2016-01-13getSuperDomainFromDB: get data from generated codeGabriel Dos Reis2-2/+5
Don't call GETDATABASE to read the information. Rather, load the generated code for the contructor. Discovered mode algebra dependencies.
2016-01-12Share more code between various parts of the compiler.Gabriel Dos Reis3-6/+29