Commit Graph

605 Commits

Author SHA1 Message Date
2ec89ee669 Add typings for second argment of demangle (#385) 2019-01-09 13:18:17 +01:00
e3e0fe8045 Improve portables (#386)
* Hardened load/save
* Added memory.reset and memory.fill
* Added isDefined and isConstant
* Use true/false as bool's min/max values
2019-01-09 13:17:18 +01:00
9ec226de1b Fix possible use after free in Array#forEach if the array resizes halfway (#408) 2019-01-09 13:06:34 +01:00
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +01:00
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
d5f72e32d7 Add initial definitions for SIMD ops 2018-12-14 08:17:08 +01:00
8e61e0ead8 Improve reallocateUnsafe and properly free unmanaged objects (#368) 2018-12-08 23:54:45 +01:00
3ed83ef3ae Use macro style for more internal helpers; Update dist files 2018-12-08 23:38:49 +01:00
b585703eae Replace more RawGit links 2018-12-08 04:01:17 +01:00
0062ee1a93 Replace RawGit with jsDelivr (#366) 2018-12-07 19:41:02 +01:00
117cc1629b Implement TypedArray#map (#365)
* Also cleans up TypedArray#reduce/reduceRight test cases
* Also fixes the (what needs to be) overloads on Uint8ClampedArray
2018-12-07 19:40:21 +01:00
86c084a519 Use a symbol for the this pointer on wrapped loader classes, see #363 2018-12-07 17:55:31 +01:00
429435c5b1 Improve demangling of class methods when using the loader (#363) 2018-12-07 17:20:28 +01:00
934f05eed9 Optimize array functional loops (#359) 2018-12-07 15:37:33 +01:00
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
d7f4874650 Implement TypedArray#reduce/reduceRight (#352) 2018-12-05 17:53:31 +01:00
ced01216f8 Use baseDir as another parameter to readDir etc. to simplify compatibility between asc running under node and in the browser, see #354 2018-12-03 19:29:49 +01:00
aedc821c09 Process backlog once more after Transform#afterParse, see #356 2018-12-03 17:22:01 +01:00
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
d5a6bbca9b Add missing definitions for Uint8ClampedArray 2018-12-01 19:49:00 +01:00
4c35dd6f7c Fix partial function prototypes not sharing their instances
This also made it necessary to extend the internal per-function instances map by one level for the respective class instance key so functions on differnt class instances with the same own type arguments don't collide.
2018-12-01 19:46:10 +01:00
0e33806cf6 Add a way to ensure that lazy globals are resolved, fixes #355
This only affects static fields that currently must have a type annotation, while it wouldn't work if there wasn't an annotated type, like on normal globals, which aren't compiled lazily, though. Must be revisted if requirements on type annotations on fields ever become relaxed.
2018-12-01 13:31:37 +01:00
a661ff7d89 Update Binaryen to latest 2018-12-01 03:09:43 +01:00
9744c319c7 Fix an issue with 'super' not being present when inlining 2018-12-01 00:07:44 +01:00
5c39043f9e Add a test suite option to also generate binaries 2018-11-30 17:51:49 +01:00
bf7dd1a64f Document the use of two type parameters in loadUnsafe, TypedArray etc., see #349 2018-11-30 01:12:01 +01:00
3c5c2cef80 Fix implementation of Array#splice (#347) 2018-11-29 15:41:42 +01:00
1149abf824 Add 'instantiate<T>' builtin (like 'new' but from a type), see #349 2018-11-29 15:28:08 +01:00
1d93877e7c Fix unsupported element access on 'this', see #349 2018-11-29 13:12:06 +01:00
7596d73284 Shortcut f32/f64/i64 conversions to bool 2018-11-23 16:01:50 +01:00
c30c62e383 Cast to bool by comparing to zero (#343) 2018-11-23 15:20:52 +01:00
b723ff3e88 Update Binaryen to latest 2018-11-22 17:15:22 +01:00
21675ec162 Update dist files 2018-11-19 12:29:07 +01:00
6393921c12 Fix unsafeCompare (#336) 2018-11-19 12:23:45 +01:00
4944280cdc Add Math.signbit (#333) 2018-11-18 11:46:48 +01:00
1928404f3b Add ArrayBuffer/DataView/Symbol#toString and improve Errors (#332) 2018-11-18 11:43:44 +01:00
a79db87af9 Fix parsing of properties and field names using semi-reserved keywords 2018-11-13 08:48:10 +01:00
4289683946 Handle the case where an inlined body is empty 2018-11-12 17:30:28 +01:00
d62d84521e Reduce inlining verbosity
With debug info and source maps in place there is not much value anymore in emitting explicitly named blocks.
2018-11-12 14:54:08 +01:00
04a0cb8de7 Remove left-over line in std Array 2018-11-12 12:45:44 +01:00
c93f02df69 Update dist files 2018-11-12 09:15:16 +01:00
5fccd080c7 Improve std Error compatibility 2018-11-12 09:11:45 +01:00
84ffa91db9 Add bounds checks to DataView and fix some lint issues 2018-11-12 09:11:04 +01:00
1882679807 Implement Array.isArray and Array#copyWithin (#331) 2018-11-12 07:45:40 +01:00
4e89456dcb Add more numeric builtins (#330) 2018-11-12 07:42:28 +01:00
3f9758f35a Add DataView to standard library (#316) 2018-11-12 07:41:04 +01:00
6f3209e6c6 Fix imported memory fallback and add common stdlib imports to loader 2018-11-11 10:44:09 +01:00
9ab7384122 Improve date binding compatibility 2018-11-11 10:43:17 +01:00
1fad3d26c7 Add initial Date bindings
Doesn't do much, yet, because we can't get the timezone with a plain binding, but it's at least something.
2018-11-10 14:40:58 +01:00
410036e445 Use mixed Horner scheme in Math.exp/expm1 to improve instruction parallelization (#311) 2018-11-09 17:56:42 +01:00