Max Graey
aad263e670
Add isArrayLike builtin ( #453 )
2019-02-27 21:47:52 +01:00
Daniel Wirtz
e8b0767143
Infer function expressions in matching contexts ( #514 )
...
* legalizes omitting types on function expressions within function type contexts
* legalizes omitting any number of arguments
2019-02-27 21:45:36 +01:00
Max Graey
ed97672a8c
Use faster clamping for Uint8ClampedArray ( #422 )
2019-02-22 15:26:30 +01:00
dcode
06ee43e6ad
Fix isFunction/isNullable typings
2019-02-22 08:25:00 +01:00
Daniel Wirtz
f318d68383
Add isFunction and isNullable builtins ( #504 )
2019-02-22 01:11:05 +01:00
dcode
34d86a0d6a
Replace more workarounds with actual lazy compilation in stdlib
2019-02-21 05:42:33 +01:00
Max Graey
6b495f71d0
Ensure Math.clz32/imul compatibility with JS ( #474 )
2019-02-21 00:32:58 +01:00
Max Graey
0041572052
Reuse respective opposite overload in std/string comparisions ( #479 )
2019-02-21 00:30:05 +01:00
Max Graey
2c365ada5b
Improve operator overload typings ( #480 )
2019-02-21 00:23:46 +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
1bd1d26152
Put atomics behind a feature flag ( #470 )
2019-02-07 18:21:09 +01:00
Daniel Wirtz
2f1a6c44ce
Add SIMD prerequisites ( #469 )
2019-02-07 15:26:26 +01:00
Nidin Vinayakan
7ce3296b5e
Add atomic built-ins ( #440 )
2019-02-07 15:25:49 +01:00
Max Graey
41a89fa773
Fix default comparator for strings ( #462 )
2019-02-07 12:26:45 +01:00
Daniel Wirtz
f551bc78e1
Implement bulk memory operations ( #467 )
2019-02-07 11:40:23 +01:00
Max Graey
4829f3a3e4
Add ArrayBuffer.isView and rework Array.isArray ( #431 )
2019-02-03 10:41:04 +01:00
Max Graey
1867416236
Make TypedPropertyDescriptor less type strict ( #436 )
2019-02-02 16:22:22 +01:00
Daniel Wirtz
2131c51932
Rework constructor handling ( #446 )
2019-02-02 16:03:21 +01:00
Max Graey
c7441066dc
Minor math tweaks + ipow32f/ipow64f ( #428 )
2019-01-24 23:17:44 +01:00
Max Graey
d709cf3dff
Improve decorator declarations ( #426 )
...
i.e. add a dummy `TypedPropertyDescriptor<T>`
2019-01-24 08:39:15 +01:00
jtenner
3b1852bc37
Implement TypedArray#every/some/findIndex and improve map/reduce/reduceRight ( #433 )
2019-01-24 08:33:22 +01:00
Max Graey
d3715688fc
Fix Math.imul and add tests ( #432 )
2019-01-24 01:23:53 +01:00
Max Graey
54b02c287c
Fix functional Array & String methods and avoid buffer caching ( #415 )
2019-01-17 01:34:09 +01:00
LiaoPeng
201bd5f2b1
Implement String#slice ( #404 )
2019-01-10 12:10:23 +01:00
Max Graey
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
LiaoPeng
9ec226de1b
Fix possible use after free in Array#forEach if the array resizes halfway ( #408 )
2019-01-09 13:06:34 +01:00
Daniel Wirtz
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
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
d5a6bbca9b
Add missing definitions for Uint8ClampedArray
2018-12-01 19:49:00 +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
dcodeIO
1149abf824
Add 'instantiate<T>' builtin (like 'new' but from a type), see #349
2018-11-29 15:28:08 +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
04a0cb8de7
Remove left-over line in std Array
2018-11-12 12:45:44 +01:00
dcodeIO
5fccd080c7
Improve std Error compatibility
2018-11-12 09:11:45 +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
Max Graey
4e89456dcb
Add more numeric builtins ( #330 )
2018-11-12 07:42:28 +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