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; 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. */ /** Bundled definition files. */
exports.definitionFiles = exports.isBundle ? BUNDLE_DEFINITIONS : (() => { // set up if not a bundle exports.definitionFiles = exports.isBundle ? BUNDLE_DEFINITIONS : (() => { // set up if not a bundle
const stdDir = path.join(__dirname, "..", "std"); const stdDir = path.join(__dirname, "..", "std");
@ -401,7 +392,7 @@ exports.main = function main(argv, options, callback) {
// Include runtime template // Include runtime template
{ {
let templateName = String(args.runtime); let templateName = String(args.runtime);
let templateText = exports.runtimeTemplates[templateName]; let templateText = exports.libraryFiles["runtime/" + templateName];
if (templateText == null) { if (templateText == null) {
templateText = readFile(templateName + ".ts", baseDir); templateText = readFile(templateName + ".ts", baseDir);
if (templateText == null) { 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. 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) * [TLSF memory allocator](../allocator/tlsf.ts)
* [ITCM garbage collector](../assembly/collector/itcm.ts) * [ITCM garbage collector](../collector/itcm.ts)
Arena 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. 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 * No garbage collector
None None

View File

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

View File

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

View File

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