move runtime templates into stdlib for bundling with lib files

This commit is contained in:
dcode 2019-04-02 22:32:43 +02:00
parent a639a42f0d
commit b62927f5e5
6 changed files with 8 additions and 19 deletions

View File

@ -82,15 +82,6 @@ exports.libraryFiles = exports.isBundle ? BUNDLE_LIBRARY : (() => { // set up if
return bundled;
})();
/** Bundled runtime templates. */
exports.runtimeTemplates = exports.isBundle ? BUNDLE_RUNTIME : (() => {
const rtDir = path.join(__dirname, "..", "std", "runtime");
const rtFiles = require("glob").sync("**/!(*.d).ts", { cwd: rtDir });
const bundled = {};
rtFiles.forEach(file => bundled[file.replace(/\.ts$/, "")] = fs.readFileSync(path.join(rtDir, file), "utf8" ));
return bundled;
})();
/** Bundled definition files. */
exports.definitionFiles = exports.isBundle ? BUNDLE_DEFINITIONS : (() => { // set up if not a bundle
const stdDir = path.join(__dirname, "..", "std");
@ -401,7 +392,7 @@ exports.main = function main(argv, options, callback) {
// Include runtime template
{
let templateName = String(args.runtime);
let templateText = exports.runtimeTemplates[templateName];
let templateText = exports.libraryFiles["runtime/" + templateName];
if (templateText == null) {
templateText = readFile(templateName + ".ts", baseDir);
if (templateText == null) {

View File

@ -10,8 +10,8 @@ $> asc ...
The [default runtime](./default.ts) adds proper support for dynamic memory management and garbage collection to your program.
* [TLSF memory allocator](../assembly/allocator/tlsf.ts)
* [ITCM garbage collector](../assembly/collector/itcm.ts)
* [TLSF memory allocator](../allocator/tlsf.ts)
* [ITCM garbage collector](../collector/itcm.ts)
Arena
-----
@ -22,7 +22,7 @@ $> asc ... --runtime arena
The [arena runtime](./arena.ts) is just enough to make most language features work, but doesn't have sophisticated support for freeing memory. Useful when prototyping or for simple one-shot modules in that it produces very small modules with minimal overhead.
* [Arena memory allocator](../assembly/allocator/arena.ts) with `memory.reset()`
* [Arena memory allocator](../allocator/arena.ts) with `memory.reset()`
* No garbage collector
None

View File

@ -1 +1,3 @@
import "allocator/arena";
// export { memory };

View File

@ -1,2 +1,4 @@
import "allocator/tlsf";
import "collector/itcm";
// export { memory, gc };

View File

@ -1,6 +0,0 @@
{
"extends": "../assembly.json",
"include": [
"./**/*.ts"
]
}