dcode
3f35a9209f
tackle unreachables
...
suspend compilation on break, optimize stack ir, detect fallthrough instead of terminate
2019-06-10 08:54:41 +02:00
dcode
56dbe77a04
Rework loop compilation / flows
2019-06-09 14:13:57 +02:00
Daniel Wirtz
0484a6b740
Implement reference counting ( #592 )
2019-06-05 23:15:39 +02:00
Daniel Wirtz
5b58b9aa8d
Update Binaryen to latest ( #571 )
2019-04-08 08:18:21 +02: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
Max Graey
74ce9bf386
Fix unreachable insertion when returning none ( #557 )
2019-03-24 10:18:05 +01:00
Max Graey
f9a8d2f1db
Use lazy initializations for decorators and type parameters in parser ( #554 )
2019-03-22 12:20:19 +01:00
Daniel Wirtz
858cca5a38
Fix arrow function body parsing precedence ( #546 )
2019-03-18 17:11:02 +01:00
Daniel Wirtz
fd99589527
Fix enum initialization ( #545 )
2019-03-18 04:54:44 +01:00
Daniel Wirtz
252b843c4b
General cleanup ( #525 )
...
* Cleans up and trims the overly large builtins file by ~1600 lines
* Properly propagate inline assembler-like argument types
* Use https in examples
* Reformat README
2019-03-08 14:24:48 +01:00
Daniel Wirtz
8e5b9c734b
Add atomic definitions ( #524 )
2019-03-02 10:14:09 +01:00
Daniel Wirtz
4e1bba3a24
Use Binaryen's function signature naming scheme ( #522 )
2019-03-01 00:01:23 +01:00
Daniel Wirtz
e1f1a3b49c
Implement v128 instructions ( #508 )
2019-02-28 17:36:22 +01:00
Max Graey
aad263e670
Add isArrayLike builtin ( #453 )
2019-02-27 21:47:52 +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
dcode
2945af6557
Don't reset nested unchecked contexts, fixes #515
2019-02-27 17:10:20 +01:00
Max Graey
65c799c925
Speedup some compiler routines ( #441 )
2019-02-22 14:03:33 +01:00
dcode
cc5522d6cc
Legalize external decorator for generic functions
2019-02-22 08:25:41 +01:00
Daniel Wirtz
f318d68383
Add isFunction and isNullable builtins ( #504 )
2019-02-22 01:11:05 +01:00
Daniel Wirtz
3b5b96f496
Fix declaration mismatch in generated constructors ( #505 )
2019-02-22 00:50:29 +01:00
dcode
4be78147e6
Update dependencies and dist files
2019-02-21 23:04:41 +01:00
dcode
34d86a0d6a
Replace more workarounds with actual lazy compilation in stdlib
2019-02-21 05:42:33 +01:00
dcode
8d2194f045
Require exact type in instanceof basicType, fixes #493
2019-02-21 02:09:06 +01:00
Nidin Vinayakan
951b6f9f45
Add shared memory support to compiler ( #494 )
2019-02-21 00:22:25 +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
dcode
e623786b42
Emit proper diagnostic when returning void from a function with a return value, fixes #475
2019-02-08 16:00:35 +01:00
dcode
47b2f33564
Emit a better error when expecting a compile-time constant, fixes #222
2019-02-07 23:04:57 +01:00
Daniel Wirtz
1bd1d26152
Put atomics behind a feature flag ( #470 )
2019-02-07 18:21:09 +01:00
Daniel Wirtz
2f1a6c44ce
Add SIMD prerequisites ( #469 )
2019-02-07 15:26:26 +01:00
Nidin Vinayakan
7ce3296b5e
Add atomic built-ins ( #440 )
2019-02-07 15:25:49 +01:00
Daniel Wirtz
f551bc78e1
Implement bulk memory operations ( #467 )
2019-02-07 11:40:23 +01:00
Daniel Wirtz
831054dfd3
Rework inlining logic ( #463 )
2019-02-06 23:42:43 +01:00
dcode
c95c0f5fbe
Emit diagnostic when redeclaring a local name, fixes #452
2019-02-03 13:37:32 +01:00
Max Graey
4829f3a3e4
Add ArrayBuffer.isView and rework Array.isArray ( #431 )
2019-02-03 10:41:04 +01:00
Daniel Wirtz
2131c51932
Rework constructor handling ( #446 )
2019-02-02 16:03:21 +01:00
Daniel Wirtz
75328f3feb
Implement calls to 'super()' ( #445 )
2019-01-31 10:35:49 +01:00
dcode
65c4acd2d4
Skip over duplicate '| null's on nullable types
2019-01-30 10:56:22 +01:00
dcode
7877661f35
Emit an error when declaring a nullable basic type (for now)
2019-01-30 10:22:15 +01:00
Daniel Wirtz
d843772314
Implement non-null assertions ( #443 )
2019-01-30 09:56:13 +01:00
dcode
2fe228ff00
Cache strings shared with Binaryen
2019-01-27 02:08:04 +01:00
Nidin Vinayakan
b7c7be1fe9
Add shared memory definitions and initial API ( #435 )
2019-01-25 10:50:55 +01:00
dcode
df3b2befd7
Support type names with enclosed dots, see #423
2019-01-17 00:37:28 +01:00
Max Graey
72dc26e255
Optimize builtin abs for integers ( #420 )
2019-01-15 18:22:24 +01:00
dcode
2aa5c437c7
Properly set up memory if memoryBase is specified even if there are no static segments, fixes #414
2019-01-11 21:54:59 +01:00
Daniel Wirtz
f714afab3c
Implement explicit this type ( #373 )
...
* Add backing classes for basic types (I32...)
* Move standard numeric constants to backing classes
2019-01-09 12:45:29 +01:00
dcodeIO
d5f72e32d7
Add initial definitions for SIMD ops
2018-12-14 08:17:08 +01:00
dcodeIO
b585703eae
Replace more RawGit links
2018-12-08 04:01:17 +01:00
Daniel Wirtz
ebae7cbd73
Implement optional type parameters ( #360 )
...
* Add a NATIVE<T> macro type to simplify use of a native WebAssembly type
* Add default type parameters for internal helpers for explicit loads and stores
* Unify loadUnsafe/loadUnsafeWithOffset etc. into one
* Renamed loadUnsafe etc. into just LOAD, like a macro
* Implement parsing of index signatures, but ignore them, for properly linting code
* Refactor TypedArray<T> to use macros
2018-12-07 14:33:32 +01:00
dcodeIO
aedc821c09
Process backlog once more after Transform#afterParse, see #356
2018-12-03 17:22:01 +01:00
dcodeIO
6ed45bee98
Expose the full API for now, see #356
...
Some things might be more useful than others, but we can decide on that later.
2018-12-02 23:46:32 +01:00