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
b58683aff4
wire __runtime_instanceof to 'instanceof' on upcasts
...
also adds runtime.instanceOf that can be exported for use by the host
2019-04-02 23:58:58 +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
a3095478a3
Merge branch 'master' into runtime
2019-03-27 16:10:59 +01:00
dcode
b2adf8b1e2
Update dependencies and rebuild dist files
2019-03-27 15:50:05 +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
Daniel Wirtz
527d73ece8
Use fully qualified names in generic types ( #544 )
...
* Also fixes infinite parser loops
* Also implements command line option forwarding to node.js
2019-03-25 21:58:19 +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
81039c4167
FixedArray experimentation
2019-03-19 15:43:05 +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
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
Max Graey
cdf40578b6
Refactor slices for better compliance ( #430 )
2019-02-27 21:51:07 +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
Daniel Wirtz
831054dfd3
Rework inlining logic ( #463 )
2019-02-06 23:42:43 +01:00
dcode
cd1cfe6957
Update Binaryen to latest and rebuild dist files
2019-02-05 17:12:10 +01:00
Max Graey
4829f3a3e4
Add ArrayBuffer.isView and rework Array.isArray ( #431 )
2019-02-03 10:41:04 +01:00
dcode
20f4092eb2
Update Binaryen and other dependencies; Update dist files
2019-01-09 13:02:47 +01:00
dcodeIO
3ed83ef3ae
Use macro style for more internal helpers; Update dist files
2018-12-08 23:38:49 +01:00
dcodeIO
a661ff7d89
Update Binaryen to latest
2018-12-01 03:09:43 +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
db0e82fbc3
Add a .data pointer on ArrayBuffers for convenience, see #291
2018-10-03 01:06:48 +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
631478c7c9
Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC
2018-08-04 00:36:59 +02:00
Daniel Wirtz
dc0f271fc2
Initial GC integration ( #196 )
2018-08-02 18:23:02 +02:00
dcodeIO
26e46f6f86
Reintroduce builtin decorator so these can appear anywhere in stdlib again
...
Avoids wrapping an undocumented function within 'memory.size' for example.
2018-07-19 02:10:04 +02:00
dcodeIO
a1b75b69b7
Rename memory instructions; Rework constant handling
2018-07-18 23:49:32 +02:00
dcodeIO
dd4be7b693
Fix some map issues; Simplify internal ArrayBuffer API a bit
2018-06-20 15:51:47 +02:00
dcodeIO
c6ec5e2832
Utilize Binaryen's -O4
...
When specifying -O3 or -Oz, asc now automatically increases the optimize level to 4, then including costly non-LLVM optimizations for blocky code, in turn achieving similar results as an LLVM-based generator.
2018-06-09 14:05:33 +02:00
dcodeIO
73417a9a06
Move 'abort' out of builtins and make it overridable
...
Now defaults to 'env.abort' as imported in lib/env.ts, but can be overridden through '--use abort=someThingElseOrNothingAtAll'
2018-05-21 18:48:29 +02:00
dcodeIO
6c0a5c47d9
Update Binaryen and take care of WebAssembly/binaryen#1547
2018-05-14 16:55:55 +02:00
Daniel Wirtz
50f6c1c460
Update internal ABI to zero/sign-extend where necessary only ( #87 )
2018-05-06 00:00:54 +02:00
dcodeIO
4026c087fd
Export the trampoline and provide a helper for functions that take optional arguments
2018-04-17 16:04:29 +02:00
Daniel Wirtz
623597c23a
Make the transition to ArrayBuffer backed Arrays ( #70 )
...
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
dcodeIO
9731958738
Implement a mechanism to realloc array buffers; Trap when trying to allocate more than max size; Test allocators in CI
2018-04-08 00:52:19 +02:00
dcodeIO
8770f7b548
New ArrayBuffer/TypedArray; Stdlib restructure; Fix importing stdlib in stdlib; Traverse constructors; Allow initialization of readonly instance fields in constructors
2018-04-07 03:27:22 +02:00
dcodeIO
5823e35f37
Progress and a tiny WASM binary parser
2018-04-03 23:56:48 +02:00