32 Commits

Author SHA1 Message Date
dcode
c16c19e18d unify runtime header 2019-04-08 23:22:13 +02:00
dcode
e1070cee86 rtti & refactoring 2019-04-06 20:17:48 +02:00
dcode
a9e4813798 implement __runtime_flags 2019-04-05 01:59:01 +02:00
dcode
25c5dfddad slim down runtime 2019-04-04 02:25:22 +02:00
dcode
85f3fc54a7 runtime api 2019-04-03 21:47:38 +02:00
dcode
50c49e4275 make it 'runtime.instanceof' 2019-04-03 00:26:41 +02:00
dcode
a639a42f0d initial __runtime_instanceof 2019-04-02 21:30:47 +02:00
dcode
3bcd32f3ba directize 2019-04-02 10:12:57 +02:00
dcode
1ada854830 some cleanup 2019-04-01 22:23:11 +02:00
dcode
27f1905510 runtime integration and flag 2019-03-31 21:58:42 +02:00
dcode
e36722f2e6 unify mem/ref interface 2019-03-27 17:21:52 +01:00
dcode
bb1609c9ea baseline 2019-03-27 14:43:35 +01:00
dcode
3146f8f9e0 use gc interface directly, document 2019-03-26 23:35:08 +01:00
dcode
7c0dc66849 guard, info on never null, more general array rt 2019-03-22 15:43:07 +01:00
dcode
9b664dc175 harden / elaborate on makeCallInline 2019-03-20 14:16:18 +01:00
dcode
74789c9c1e aliased makeCallInline, unmanaged rt alloc 2019-03-19 14:40:37 +01:00
dcode
7693b543f4 optimize array literal init, warn on unsupported inlining 2019-03-19 08:20:10 +01:00
dcode
edb2299f13 fixes 2019-03-17 12:25:54 +01:00
dcode
e63c6bd388 local flow flags, see what works 2019-03-17 01:35:44 +01:00
dcode
058dc8d4fa static array stuff 2019-03-15 13:13:48 +01:00
Daniel Wirtz
4e1bba3a24
Use Binaryen's function signature naming scheme (#522) 2019-03-01 00:01:23 +01:00
dcode
7184db6dde Update Binaryen to latest and regenerate dist files 2019-02-28 18:26:04 +01:00
Daniel Wirtz
e8b0767143
Infer function expressions in matching contexts (#514)
* legalizes omitting types on function expressions within function type contexts
* legalizes omitting any number of arguments
2019-02-27 21:45:36 +01:00
Daniel Wirtz
0c64f21250
Rework resolver (#489)
* Rework IR and resolver to use nested lookup tables
* Integrate types into IR
* Make components prefer IR, slimmed down AST
* Implement `export *`
* Add `@lazy` annotation and remove `--noTreeShaking`
* Add `@start` annotation and remove magic `main`
* Related refactoring, cleanup and docs
2019-02-21 00:11:22 +01:00
Daniel Wirtz
2f1a6c44ce
Add SIMD prerequisites (#469) 2019-02-07 15:26:26 +01:00
dcode
cd1cfe6957 Update Binaryen to latest and rebuild dist files 2019-02-05 17:12:10 +01:00
dcodeIO
4f95dce6e2 Do not emit debug info by default
This basically flips the --noDebug flag to become a --debug flag, so some optimizations, like inlining, aren't skipped by default, which might be unexpected.
2018-11-09 12:28:10 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
dcodeIO
16d1a833dd Always add a null function at table index zero
This allows function references (a table index internally) to be nullable
2018-09-17 01:48:35 +02:00
dcodeIO
d90cd085e5 Update Binaryen 2018-09-13 23:10:49 +02:00
dcodeIO
6949cf9f9e Switch signed/unsigned instructions when upcasting 32- to 64-bit integers, fixes #247
Matches C semantics now. Turns around some instructions in tests, especially libm, but doesn't break anything.
2018-09-10 14:25:33 +02:00