Commit Graph

214 Commits

Author SHA1 Message Date
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
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
04a0cb8de7 Remove left-over line in std Array 2018-11-12 12:45:44 +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
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
d93ca84aed Correct TypedArray#byteOffset handling and fix TypedArray#subarray (#328) 2018-11-08 23:19:41 +01:00
ef3b47d91c Update portable constants (#313) 2018-11-01 01:51:03 +01:00
d864bef1eb Improve per-bit divmod loop for mod & rem (#307) 2018-10-30 15:10:50 +01:00
d864977a1a Add Array#concat and add a return type for Array#push (#214) 2018-10-30 15:07:53 +01:00
e58582e9e9 Minor remquof improvemnts (#306) 2018-10-27 18:27:54 +02:00
83fa12164f Add TypedArray#fill (#274) 2018-10-26 18:28:31 +02:00
376afd45fc Improve Math routines; Add Mathf-specific prng (#297) 2018-10-26 00:10:17 +02:00
711f73b15d Implement String#split (#301) 2018-10-18 19:05:35 +02:00
f7c734789e Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
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
db0e82fbc3 Add a .data pointer on ArrayBuffers for convenience, see #291 2018-10-03 01:06:48 +02:00
b7e7be20cf Add String.fromUTF8 helper (see #291); Update dist files 2018-10-03 00:49:56 +02:00
53b030fed5 Add Array#join and Array#toString + dtoa (#275) 2018-10-01 22:57:56 +02:00
ff87857f40 Change semantics of f32/f64.MIN_VALUE to match JS's Number.MIN_VALUE
* Also renames MIN_POSITIVE_VALUE to MIN_NORMAL_VALUE
* Also adds POSITIVE_INFINITY/NEGATIVE_INFINITY and NaN
2018-10-01 22:54:00 +02:00
2874fb9d8a Add trimStart/End aliases (#287) 2018-09-30 22:21:34 +02:00
3f035395cd Add Array#fill (#250) 2018-09-19 00:59:22 +02:00
3f93808914 Integrate Buffer<T> experiment into Pointer<T>; Remove CArray 2018-09-15 02:54:30 +02:00
c27b6e8951 Add integer power functions (#212) 2018-09-09 04:07:27 +02:00
d0085ad3d6 Add missing declaration of Map#get in std/assembly (#223) 2018-09-09 03:54:50 +02:00
4498b28442 Use outer-most identifier when resolving queued exports, fixes #248 2018-09-09 03:51:29 +02:00
947cee08c7 Implement <TypedArray>#sort and improve default comparator (#208) 2018-08-04 15:30:03 +02:00
631478c7c9 Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC 2018-08-04 00:36:59 +02:00
dc0f271fc2 Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
671121bf70 Implement String#padStart/padEnd; Refactor internal string copy, compare and repeat (#171) 2018-07-25 16:25:53 +02:00
298a8f1688 Add String.fromCodePoint and 16-bit string compare (#174) 2018-07-23 14:32:55 +02:00
a1e2071da6 Fix n-body visualization 2018-07-22 02:55:46 +02:00
3c1f0dc1f8 More cleanup 2018-07-20 22:37:25 +02:00
2fa7d6678c Make sure all roots are iterated by delaying builtin generation; Cleanup 2018-07-20 20:33:50 +02:00
41ad2f8a70 Add a more convenient tracing utility for debugging; Fix basic GC test 2018-07-20 16:49:27 +02:00
66cc359849 Emit an error when trying to inline a mutable variable 2018-07-19 16:38:09 +02:00
fafaf423b4 Make an interface around gc.* fwiw 2018-07-19 16:15:56 +02:00
34839353fd Inline isNaN and isFinite
Looking at our existing tests it seems that inlining these can be performed by reusing locals most of the time, and sometimes enables erasing quite a bit of unnecessary code when optimizing.
2018-07-19 04:12:40 +02:00
cf8e3dfa12 Fix linting issues 2018-07-19 02:16:20 +02:00