mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-26 23:42:15 +00:00
move runtime templates into stdlib for bundling with lib files
This commit is contained in:
parent
a639a42f0d
commit
b62927f5e5
11
cli/asc.js
11
cli/asc.js
@ -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) {
|
||||
|
@ -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
|
@ -1 +1,3 @@
|
||||
import "allocator/arena";
|
||||
|
||||
// export { memory };
|
@ -1,2 +1,4 @@
|
||||
import "allocator/tlsf";
|
||||
import "collector/itcm";
|
||||
|
||||
// export { memory, gc };
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"extends": "../assembly.json",
|
||||
"include": [
|
||||
"./**/*.ts"
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user