dcode
b7ca4baf42
Add a TODO on Array#copyWithin
2019-06-05 04:22:40 +02:00
dcode
adc2f7e26a
more consistent naming, move libm
2019-06-02 18:05:14 +02:00
dcode
3224925e47
eliminate retainRelease and skippedRelease
2019-05-25 19:16:09 +02:00
dcode
51fdf9db4f
fix
2019-05-23 03:08:25 +02:00
dcode
1cbf3fc885
fix rogue releases
2019-05-21 00:38:48 +02:00
dcode
da4a7751fd
optimize logical and/or, initial null checking in flows
2019-04-09 03:04:45 +02:00
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
e1bd0050e2
directize more (eliminate table use)
2019-04-02 16:18:44 +02:00
dcode
6bf8276746
Merge branch 'master' into runtime
2019-04-02 10:58:14 +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
Max Graey
abf3de9076
Fix implicit string to bool conversion ( #567 )
2019-03-31 20:00:54 +02:00
dcode
a3095478a3
Merge branch 'master' into runtime
2019-03-27 16:10:59 +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
81039c4167
FixedArray experimentation
2019-03-19 15:43:05 +01:00
dcode
0932cf17ed
use overloads for checked access
2019-03-18 16:09:49 +01:00
dcode
ba4c00efbd
clean
2019-03-18 00:40:55 +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
Max Graey
0041572052
Reuse respective opposite overload in std/string comparisions ( #479 )
2019-02-21 00:30:05 +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
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
Max Graey
6393921c12
Fix unsafeCompare ( #336 )
2018-11-19 12:23:45 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format ( #312 )
2018-11-08 08:04:24 +01:00
Max Graey
711f73b15d
Implement String#split ( #301 )
2018-10-18 19:05:35 +02: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
4498b28442
Use outer-most identifier when resolving queued exports, fixes #248
2018-09-09 03:51:29 +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
Max Graey
671121bf70
Implement String#padStart/padEnd; Refactor internal string copy, compare and repeat ( #171 )
2018-07-25 16:25:53 +02:00
Max Graey
298a8f1688
Add String.fromCodePoint and 16-bit string compare ( #174 )
2018-07-23 14:32:55 +02:00
dcodeIO
a1b75b69b7
Rename memory instructions; Rework constant handling
2018-07-18 23:49:32 +02:00
Max Graey
d7c1c608bd
Implement itoa32/64 for base 10 ( #151 )
2018-07-13 15:40:37 +02:00
Max Graey
365884ff73
Add String#lastIndexOf and improve tests ( #163 )
2018-07-10 03:31:51 +02:00
dcodeIO
7a8995b18b
Properly inline getters; Simplify blocks when last statement returns
2018-06-22 15:26:59 +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
dcodeIO
e415377cda
Avoid trampolines where optional arguments are constant literals, see #102 ; Fix temporary local flags not being cleared; Fix inlined temporary locals not being free'd; Fix inlined flows not breaking after returns; Allow changetype of u32s, i.e. function pointers
2018-05-11 16:31:56 +02:00
dcodeIO
ef9b43740d
Eliminate leftover temporary function types using latest Binaryen
2018-05-09 16:33:42 +02:00
dcodeIO
6d6d1dddcf
Improve inlining where locals can be aliased; Add a crude mechanism for explicit unchecked array accesses
...
The `unchecked` builtin should be handled with ultimate care and it would be a lot better if there'd be a mechanism doing this automatically.
2018-04-25 05:04:35 +02:00