Skip to content

Rewrite runtime, switch to tracing GC and bootstrap #1559

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 98 commits into from
Jan 28, 2021
Merged
Show file tree
Hide file tree
Changes from 85 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
ac1430d
Switch to tracing GC
dcodeIO Nov 24, 2020
fd9d212
Merge branch 'master' into stw
dcodeIO Nov 24, 2020
52e9a84
remove tcms tracing
dcodeIO Nov 24, 2020
7de8b18
update dependencies
dcodeIO Nov 24, 2020
81851d0
lint loader
dcodeIO Nov 24, 2020
93ada87
save
dcodeIO Dec 2, 2020
caf0d3c
just do it
dcodeIO Dec 5, 2020
93d7361
remove custom Binaryen build
dcodeIO Dec 5, 2020
f60b5d1
Merge branch 'master' into stw
dcodeIO Dec 5, 2020
b2b2070
can't run bootstrap with rtrace in CI
dcodeIO Dec 5, 2020
4362b89
asc.wasm
dcodeIO Dec 6, 2020
249f8f2
fix
dcodeIO Dec 6, 2020
12e39d5
eternal glory
dcodeIO Dec 6, 2020
349e291
eternal glory
dcodeIO Dec 6, 2020
d6e81d9
eternal glory, shared with Max
dcodeIO Dec 7, 2020
f2c9bfb
new bootstrap test
dcodeIO Dec 7, 2020
fe933bd
Merge branch 'master' into stw
dcodeIO Dec 7, 2020
3b6294d
rewrite builtin visitor logic
dcodeIO Dec 8, 2020
b2bc0bf
add Wasm using Wasm build step
dcodeIO Dec 8, 2020
7c0252a
add celebratory build steps
dcodeIO Dec 8, 2020
d684c05
Merge branch 'master' into stw
dcodeIO Dec 8, 2020
9944b2c
port terminal utility from JS to AS
dcodeIO Dec 8, 2020
a180fd2
Merge branch 'master' into stw
dcodeIO Dec 8, 2020
34e2a45
Merge branch 'master' into stw
dcodeIO Dec 11, 2020
e36ea1f
Merge branch 'master' into stw
dcodeIO Dec 14, 2020
3e2d7a2
Merge branch 'master' into stw
dcodeIO Dec 16, 2020
290de3d
fix static memory segment/realloc weirdness
dcodeIO Dec 17, 2020
91c3dd9
Merge branch 'master' into stw
dcodeIO Dec 17, 2020
13a5627
more
dcodeIO Dec 18, 2020
a1d6603
update fixtures
dcodeIO Dec 18, 2020
bf3c4ed
Merge branch 'master' into stw
dcodeIO Dec 19, 2020
e4c4f3f
Merge branch 'master' into stw
dcodeIO Dec 19, 2020
f5466cc
new bootstrap scripts, use asconfig
dcodeIO Dec 20, 2020
cdc9f98
hmm
dcodeIO Dec 21, 2020
93ea7f9
fix
dcodeIO Dec 21, 2020
c8fecca
simplify to two-color mark & sweep
dcodeIO Dec 21, 2020
5bd70cc
hand-optimize
dcodeIO Dec 22, 2020
afa5262
build instructions, fix a potential memory leak
dcodeIO Dec 22, 2020
e374459
remove 'eventually'
dcodeIO Dec 22, 2020
3863e54
fix
dcodeIO Dec 22, 2020
b9f6fe5
pass infra, initial shadow stack pass
dcodeIO Dec 25, 2020
93d96d5
implement TODOs
dcodeIO Dec 25, 2020
d453e97
fix a memory leak
dcodeIO Dec 25, 2020
221703c
handle top-level, use errors, simple test
dcodeIO Dec 25, 2020
419756e
document
dcodeIO Dec 26, 2020
dadaf92
more
dcodeIO Dec 26, 2020
4eb20dd
memory.fill large frames only
dcodeIO Dec 26, 2020
7a39106
forward the good parts from failed attempt no. 591
dcodeIO Dec 30, 2020
89a2b8c
fix dts weirdness
dcodeIO Dec 30, 2020
9112dd2
give it 16mb initial mem
dcodeIO Dec 30, 2020
36090af
Merge branch 'master' into stw
dcodeIO Dec 30, 2020
937bfa5
switch to pin/unpin
dcodeIO Dec 30, 2020
d8b0c60
noExportRuntime -> exportRuntime
dcodeIO Dec 30, 2020
eb3aaab
update related tests
dcodeIO Dec 30, 2020
00804d7
fix ordering bug, fast-forward binaryen to 2021
dcodeIO Jan 1, 2021
835514a
don't try to lint custom binaryen builds
dcodeIO Jan 1, 2021
c584539
console & process WASI experiment
dcodeIO Jan 1, 2021
bea6c23
fix, opt
dcodeIO Jan 1, 2021
ff75803
fix
dcodeIO Jan 2, 2021
b032216
Update std/assembly/console.ts
dcodeIO Jan 2, 2021
8128f66
Update std/assembly/console.ts
dcodeIO Jan 2, 2021
410092a
Update std/assembly/console.ts
dcodeIO Jan 2, 2021
b10261c
fast writes up to 4
dcodeIO Jan 2, 2021
dac6447
incremental gc with a mini stack
dcodeIO Jan 3, 2021
1bcab43
finally
dcodeIO Jan 3, 2021
4d1ed91
clean
dcodeIO Jan 4, 2021
2c4e486
bring back stub (becomes 'minimal') and runtime option
dcodeIO Jan 5, 2021
be16df2
hint at --exportRuntime in the loader
dcodeIO Jan 5, 2021
7733d3b
Merge branch 'master' into stw
dcodeIO Jan 5, 2021
33d750e
add crypto.getRandomValues, categorize std-wasi tests
dcodeIO Jan 5, 2021
e2c6f9d
add definitions for console, process, crypto
dcodeIO Jan 6, 2021
0a843a4
use upstream Binaryen
dcodeIO Jan 6, 2021
11dd40e
update fixtures
dcodeIO Jan 6, 2021
6ef7ace
avoid GC object when writing a string to console
dcodeIO Jan 6, 2021
d9cbfe1
keep 'stub' runtime
dcodeIO Jan 8, 2021
0464bd8
update fixture
dcodeIO Jan 8, 2021
0ae612e
cleanup
dcodeIO Jan 8, 2021
2b297a6
fix a typo
dcodeIO Jan 10, 2021
e0ab920
properly report closed-over locals
dcodeIO Jan 10, 2021
3cb250f
update closure test stderr patterns
dcodeIO Jan 10, 2021
cf92771
initial shadow stack
dcodeIO Jan 14, 2021
02ce6b1
solidify
dcodeIO Jan 15, 2021
3dccc7d
base on total mem
dcodeIO Jan 15, 2021
4ca5c88
stack check downwards only
dcodeIO Jan 16, 2021
908ab4c
fix, tweak
dcodeIO Jan 16, 2021
bb8a292
tweak
dcodeIO Jan 18, 2021
6dae8ae
fix typo
dcodeIO Jan 18, 2021
ab59b92
naming things is hard
dcodeIO Jan 19, 2021
8fd0f94
pointer free objects, profiling
dcodeIO Jan 20, 2021
0d46e3b
incremental by default, fixes, runtime README
dcodeIO Jan 21, 2021
d550a23
gc plotting
dcodeIO Jan 23, 2021
5e190f5
naming
dcodeIO Jan 23, 2021
a445f91
Merge branch 'master' into stw
dcodeIO Jan 23, 2021
bfc7e42
remove outdated tests
dcodeIO Jan 23, 2021
47e4b8e
more
dcodeIO Jan 27, 2021
5b51a13
fix
dcodeIO Jan 28, 2021
6b8e6e5
Expose program diagnostics in cli main callback (#1625)
piotr-oles Jan 28, 2021
ae6f9fe
wording
dcodeIO Jan 28, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dist/
docs/
lib/binaryen.js
lib/parse/index.js
out/
raw/
Expand Down
48 changes: 25 additions & 23 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,25 @@ jobs:
run: npm test
- name: Test browser build
run: node tests/browser-asc
test-bootstrap:
name: "Compiler (Bootstrap)"
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/[email protected]
- uses: dcodeIO/setup-node-nvm@master
with:
node-version: current
- name: Install dependencies
run: npm ci --no-audit
- name: Clean distribution files
run: npm run clean
- name: Bootstrap the compiler
run: npm run bootstrap
- name: Run compiler tests (untouched-bootstrap)
run: npm run test:compiler -- --wasm out/assemblyscript.untouched-bootstrap.wasm
- name: Run compiler tests (optimized-bootstrap)
run: npm run test:compiler -- --wasm out/assemblyscript.optimized-bootstrap.wasm
test-features:
name: "Features"
runs-on: ubuntu-latest
Expand Down Expand Up @@ -134,18 +153,18 @@ jobs:
run: npm ci --no-audit
- name: Clean distribution files
run: npm run clean
- name: Test full runtime
- name: Test default allocator
run: |
cd tests/allocators/rt-full
cd tests/allocators/default
npm run build
cd ..
npm test rt-full
- name: Test stub runtime
npm test default
- name: Test stub allocator
run: |
cd tests/allocators/rt-stub
cd tests/allocators/stub
npm run build
cd ..
npm test rt-stub
npm test stub
test-loader:
name: "Loader"
runs-on: ubuntu-latest
Expand All @@ -164,20 +183,3 @@ jobs:
cd lib/loader
npm run asbuild
npm run test
test-bootstrap:
name: "Bootstrap"
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/[email protected]
- uses: dcodeIO/setup-node-nvm@master
with:
node-version: current
- name: Install dependencies
run: npm ci --no-audit
- name: Clean distribution files
run: npm run clean
- name: Test self-compilation
run: |
npm run asbuild
npm run astest
Loading