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