Commit Graph

547 Commits

Author SHA1 Message Date
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
54311fd0ab Improve bswap implementation (#323) 2018-11-09 17:51:32 +01:00
63b64ba69e Respect current byteOffset in Array#subarray (#329) 2018-11-09 12:29:39 +01:00
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
d93ca84aed Correct TypedArray#byteOffset handling and fix TypedArray#subarray (#328) 2018-11-08 23:19:41 +01:00
2ecec660d2 Mention exporting memory utilities more prominently in loader readme, fixes #318 2018-11-08 11:54:36 +01:00
7cfc43ccbf Update Mandelbrot fiddle
Fix #324
2018-11-08 12:19:53 +02:00
38df5841e1 Update dist files 2018-11-08 08:26:31 +01:00
b924c152c5 Fix fallback to imported memory in loader, fixes #322 2018-11-08 08:23:00 +01:00