3146f8f9e0
use gc interface directly, document
2019-03-26 23:35:08 +01:00
7c0dc66849
guard, info on never null, more general array rt
2019-03-22 15:43:07 +01:00
c2ac1a0375
what if..
2019-03-21 22:46:10 +01:00
e57fa14ff9
give it a shot
2019-03-21 18:30:36 +01:00
d9463c5484
dummy gc
2019-03-21 17:34:51 +01:00
3fc9f550ad
more general gc hooks?
2019-03-21 10:44:14 +01:00
952ac8627d
stdlib unlink wiring
2019-03-20 17:12:33 +01:00
81039c4167
FixedArray experimentation
2019-03-19 15:43:05 +01:00
7693b543f4
optimize array literal init, warn on unsupported inlining
2019-03-19 08:20:10 +01:00
0932cf17ed
use overloads for checked access
2019-03-18 16:09:49 +01:00
ba4c00efbd
clean
2019-03-18 00:40:55 +01:00
edb2299f13
fixes
2019-03-17 12:25:54 +01:00
f21b339563
checked builtin array get, optimize abv layout
2019-03-17 08:46:26 +01:00
0c388ca4c6
make std/string test ok again
2019-03-16 14:48:22 +01:00
968b0321a0
decisions
2019-03-15 09:26:31 +01:00
3a60638f72
simplify
2019-03-14 12:46:36 +01:00
84ddd97761
if that's what's necessary
2019-03-14 06:09:49 +01:00
a5e14a0eaa
srsly
2019-03-14 05:11:03 +01:00
6163a73ab5
take a step back
2019-03-14 04:33:58 +01:00
e38f627c8b
more
2019-03-13 22:35:47 +01:00
6f70826e45
hmm
2019-03-13 09:05:02 +01:00
707f2dae9a
more
2019-03-13 03:47:35 +01:00
e78c4c7f54
more
2019-03-13 03:09:24 +01:00
36d54d63d5
slowly but steadily
2019-03-12 04:35:01 +01:00
146dfdbb4a
it's all broken
2019-03-11 23:34:20 +01:00
cdf40578b6
Refactor slices for better compliance ( #430 )
2019-02-27 21:51:07 +01:00
54b02c287c
Fix functional Array & String methods and avoid buffer caching ( #415 )
2019-01-17 01:34:09 +01:00
9ec226de1b
Fix possible use after free in Array#forEach if the array resizes halfway ( #408 )
2019-01-09 13:06:34 +01:00
3ed83ef3ae
Use macro style for more internal helpers; Update dist files
2018-12-08 23:38:49 +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
3c5c2cef80
Fix implementation of Array#splice ( #347 )
2018-11-29 15:41:42 +01:00
04a0cb8de7
Remove left-over line in std Array
2018-11-12 12:45:44 +01:00
1882679807
Implement Array.isArray and Array#copyWithin ( #331 )
2018-11-12 07:45:40 +01:00
d864977a1a
Add Array#concat and add a return type for Array#push ( #214 )
2018-10-30 15:07:53 +01:00
83fa12164f
Add TypedArray#fill ( #274 )
2018-10-26 18:28:31 +02:00
53b030fed5
Add Array#join and Array#toString + dtoa ( #275 )
2018-10-01 22:57:56 +02:00
3f035395cd
Add Array#fill ( #250 )
2018-09-19 00:59:22 +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
a1b75b69b7
Rename memory instructions; Rework constant handling
2018-07-18 23:49:32 +02:00
29081b6323
Assert that comparator is not null in Array#sort ( #155 )
2018-07-14 14:56:05 +02:00
99bde3a5fa
Use insertion sort for references in Array#sort ( #90 )
...
This fixes that Weak Heap Sort isn't stable and thus might swap equal values, which sometimes results in not deep equal arrays of strings, for example. Insertion sort is stable, so it is used for references instead.
2018-05-02 19:33:17 +02:00
6d6d1dddcf
Improve inlining where locals can be aliased; Add a crude mechanism for explicit unchecked array accesses
...
The `unchecked` builtin should be handled with ultimate care and it would be a lot better if there'd be a mechanism doing this automatically.
2018-04-25 05:04:35 +02:00
63aa648ace
Slim down indexed access as far as currently possible
...
Interestingly, the same code written as statements is significantly slower. See notes.
2018-04-23 23:57:15 +02:00
fac0fc59b5
Implement Array#map, Array#forEach, Array#filter, Array#reduceRight ( #81 )
2018-04-22 22:15:38 +02:00
623597c23a
Make the transition to ArrayBuffer backed Arrays ( #70 )
...
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
8770f7b548
New ArrayBuffer/TypedArray; Stdlib restructure; Fix importing stdlib in stdlib; Traverse constructors; Allow initialization of readonly instance fields in constructors
2018-04-07 03:27:22 +02:00
c45a35b1c1
Implement Array#sort ( #57 )
2018-04-04 00:42:23 +02:00