200 Commits

Author SHA1 Message Date
LiaoPeng
201bd5f2b1 Implement String#slice (#404) 2019-01-10 12:10:23 +01:00
Max Graey
d82995c686 Improve mandelbort example (#308) 2019-01-09 17:26:31 +01:00
LiaoPeng
9ec226de1b Fix possible use after free in Array#forEach if the array resizes halfway (#408) 2019-01-09 13:06:34 +01:00
dcode
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +01:00
Max Graey
8e61e0ead8 Improve reallocateUnsafe and properly free unmanaged objects (#368) 2018-12-08 23:54:45 +01:00
dcodeIO
3ed83ef3ae Use macro style for more internal helpers; Update dist files 2018-12-08 23:38:49 +01:00
jtenner
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
Max Graey
934f05eed9 Optimize array functional loops (#359) 2018-12-07 15:37:33 +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
jtenner
d7f4874650 Implement TypedArray#reduce/reduceRight (#352) 2018-12-05 17:53:31 +01:00
dcodeIO
a661ff7d89 Update Binaryen to latest 2018-12-01 03:09:43 +01:00
dcodeIO
bf7dd1a64f Document the use of two type parameters in loadUnsafe, TypedArray etc., see #349 2018-11-30 01:12:01 +01:00
Max Graey
3c5c2cef80 Fix implementation of Array#splice (#347) 2018-11-29 15:41:42 +01:00
Daniel Wirtz
c30c62e383
Cast to bool by comparing to zero (#343) 2018-11-23 15:20:52 +01:00
Max Graey
6393921c12 Fix unsafeCompare (#336) 2018-11-19 12:23:45 +01:00
Max Graey
4944280cdc Add Math.signbit (#333) 2018-11-18 11:46:48 +01:00
Max Graey
1928404f3b Add ArrayBuffer/DataView/Symbol#toString and improve Errors (#332) 2018-11-18 11:43:44 +01:00
dcodeIO
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
dcodeIO
04a0cb8de7 Remove left-over line in std Array 2018-11-12 12:45:44 +01:00
dcodeIO
c93f02df69 Update dist files 2018-11-12 09:15:16 +01:00
dcodeIO
84ffa91db9 Add bounds checks to DataView and fix some lint issues 2018-11-12 09:11:04 +01:00
Max Graey
1882679807 Implement Array.isArray and Array#copyWithin (#331) 2018-11-12 07:45:40 +01:00
Linus Unnebäck
3f9758f35a Add DataView to standard library (#316) 2018-11-12 07:41:04 +01:00
dcodeIO
9ab7384122 Improve date binding compatibility 2018-11-11 10:43:17 +01:00
dcodeIO
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
Max Graey
410036e445 Use mixed Horner scheme in Math.exp/expm1 to improve instruction parallelization (#311) 2018-11-09 17:56:42 +01:00
Max Graey
54311fd0ab Improve bswap implementation (#323) 2018-11-09 17:51:32 +01:00
Linus Unnebäck
63b64ba69e Respect current byteOffset in Array#subarray (#329) 2018-11-09 12:29:39 +01:00
dcodeIO
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
Max Graey
d93ca84aed Correct TypedArray#byteOffset handling and fix TypedArray#subarray (#328) 2018-11-08 23:19:41 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Max Graey
dc4e2060ba Add unary postfix operator overloading (#309) 2018-10-30 15:23:18 +01:00
Max Graey
d864bef1eb Improve per-bit divmod loop for mod & rem (#307) 2018-10-30 15:10:50 +01:00
LiaoPeng
d864977a1a Add Array#concat and add a return type for Array#push (#214) 2018-10-30 15:07:53 +01:00
dcodeIO
6f8a0fe03a Rework compileUnaryPostfixExpression
Previously this tried to reuse too much code, making it hard to implement operator overloading
2018-10-29 20:06:21 +01:00
Max Graey
e58582e9e9 Minor remquof improvemnts (#306) 2018-10-27 18:27:54 +02:00
Max Graey
83fa12164f Add TypedArray#fill (#274) 2018-10-26 18:28:31 +02:00
Max Graey
376afd45fc Improve Math routines; Add Mathf-specific prng (#297) 2018-10-26 00:10:17 +02: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
eeb8a8fd6c Make sure temp locals don't collide when allocating literal arrays, fixes #281
Originally part of #288
2018-10-03 01:32:28 +02:00
dcodeIO
db0e82fbc3 Add a .data pointer on ArrayBuffers for convenience, see #291 2018-10-03 01:06:48 +02:00
dcodeIO
b7e7be20cf Add String.fromUTF8 helper (see #291); Update dist files 2018-10-03 00:49:56 +02:00
Max Graey
53b030fed5 Add Array#join and Array#toString + dtoa (#275) 2018-10-01 22:57:56 +02:00
Max Graey
2874fb9d8a Add trimStart/End aliases (#287) 2018-09-30 22:21:34 +02:00
Max Graey
3f035395cd Add Array#fill (#250) 2018-09-19 00:59:22 +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
9613d29d93 Add a setter for Pointer<T>#value 2018-09-15 03:19:41 +02:00
dcodeIO
3f93808914 Integrate Buffer<T> experiment into Pointer<T>; Remove CArray 2018-09-15 02:54:30 +02:00
dcodeIO
029dde7c3c Add raw buffer experiment to tests 2018-09-14 01:25:31 +02:00