640 Commits

Author SHA1 Message Date
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
c6447e3c3b Update dependencies and tackle package-lock weirdness, fixes #319, fixes #321 2018-11-08 08:16:16 +01:00
2bdc2a72f1 Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
7135af36bd Update linting instructions to reference new script name (#320) 2018-11-07 20:44:38 +01:00
ef3b47d91c Update portable constants (#313) 2018-11-01 01:51:03 +01:00
2062caef2c Update dist files 2018-10-30 15:30:49 +01:00
dc4e2060ba Add unary postfix operator overloading (#309) 2018-10-30 15:23:18 +01:00
d864bef1eb Improve per-bit divmod loop for mod & rem (#307) 2018-10-30 15:10:50 +01:00