diff options
author | dos-reis <gdr@axiomatics.org> | 2011-08-25 01:34:18 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-08-25 01:34:18 +0000 |
commit | 75a4b333cb95b26efc29b07d6a078b12f2d0b921 (patch) | |
tree | 400faaa1adbec082f08ed23842786e6800366704 /src/interp/lisplib.boot | |
parent | ffbca7d35e4541017c1e1d736dacbe27e0de2c21 (diff) | |
download | open-axiom-75a4b333cb95b26efc29b07d6a078b12f2d0b921.tar.gz |
* interp/daase.lisp (dbArity, dbInstanceCache): New accessors.
* interp/database.boot (loadDBIfnecessary): New.
(dbMutable?): Likewise.
* interp/lisplib.boot (finalizeLisplib): Record mutable property.
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r-- | src/interp/lisplib.boot | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot index 057f1b89..d448fd22 100644 --- a/src/interp/lisplib.boot +++ b/src/interp/lisplib.boot @@ -552,6 +552,11 @@ writeOperations(ctor,ops,file) == writeConstructorModemap(ctor,mm,file) == writeInfo(ctor,mm,'constructorModemap,'dbConstructorModemap,file) +writeInstanceCache(ctor,file) == + insn := ['%store,['dbInstanceCache,mkCtorDBForm ctor],'%true] + LAM_,FILEACTQ('instanceCache,expandToVMForm insn) + lisplibWrite('"instanceCache",'T,file) + ++ If compilation produces an error, issue inform user and ++ return to toplevel reader. leaveIfErrors(libName,kind) == @@ -568,6 +573,8 @@ finalizeLisplib(ctor,libName) == writeConstructorForm(ctor,form,$libFile) writeKind(ctor,kind,$libFile) writeConstructorModemap(ctor,removeZeroOne mm,$libFile) + if not $mutableDomains then + writeInstanceCache(ctor,$libFile) $lisplibCategory := $lisplibCategory or mm.mmTarget -- set to target of mm for package/domain constructors; -- to the right-hand sides (the definition) for category constructors |