466 Commits

Author SHA1 Message Date
Max Graey
53b030fed5 Add Array#join and Array#toString + dtoa (#275) 2018-10-01 22:57:56 +02:00
Max Graey
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
Max Graey
2874fb9d8a Add trimStart/End aliases (#287) 2018-09-30 22:21:34 +02:00
dcodeIO
301734b929 Add Open Collective to README, see #283 2018-09-27 05:34:37 +02:00
Max Graey
3f035395cd Add Array#fill (#250) 2018-09-19 00:59:22 +02:00
dcodeIO
9c770d801e Add initial newArray and getArray helpers to loader
Essentially creates an unmanaged typed array in memory that one can work with and free again respectively obtain from the AS side. No support for GC or generic arrays yet, and is likely to change substentially once WASM GC becomes a thing.
2018-09-18 15:17:44 +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
dcodeIO
d90cd085e5 Update Binaryen 2018-09-13 23:10:49 +02:00
dcodeIO
6949cf9f9e Switch signed/unsigned instructions when upcasting 32- to 64-bit integers, fixes #247
Matches C semantics now. Turns around some instructions in tests, especially libm, but doesn't break anything.
2018-09-10 14:25:33 +02:00
dcodeIO
9603c13fb7 Update dist files 2018-09-10 03:56:50 +02:00
Andy Hanson
ef2c0c623e Improve error message for accessing method like a field (#253) 2018-09-10 03:21:30 +02:00
Andy Hanson
3605630747 Support calling the result of a getter (#252) 2018-09-10 03:19:11 +02:00
Max Graey
c27b6e8951 Add integer power functions (#212) 2018-09-09 04:07:27 +02:00
dcodeIO
658ab23ea6 Still include builtins when compiling with --noLib, fixes #190 2018-09-09 04:05:00 +02:00
LiaoPeng
d0085ad3d6 Add missing declaration of Map#get in std/assembly (#223) 2018-09-09 03:54:50 +02:00
dcodeIO
4498b28442 Use outer-most identifier when resolving queued exports, fixes #248 2018-09-09 03:51:29 +02:00
dcodeIO
c769f65bac Move 'glob' dependency to production for now, fixes #205 2018-08-04 15:41:01 +02:00
Max Graey
947cee08c7 Implement <TypedArray>#sort and improve default comparator (#208) 2018-08-04 15:30:03 +02:00
dcodeIO
7965776133 Make sure output directories exist before writing a file 2018-08-04 01:02:56 +02:00
dcodeIO
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
dcodeIO
61de7cf962 Update dist files 2018-08-02 18:26:44 +02:00
Daniel Wirtz
dc0f271fc2
Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
Max Graey
671121bf70 Implement String#padStart/padEnd; Refactor internal string copy, compare and repeat (#171) 2018-07-25 16:25:53 +02:00
Max Graey
298a8f1688 Add String.fromCodePoint and 16-bit string compare (#174) 2018-07-23 14:32:55 +02:00
dcodeIO
1ecf85bf7c Update dist files 2018-07-22 14:19:23 +02:00
Francis Crick
5ae98013d2 Don't add default aliases if --noLib is set (#183) 2018-07-22 14:13:39 +02:00
dcodeIO
a1e2071da6 Fix n-body visualization 2018-07-22 02:55:46 +02:00
Max Graey
813d2e33c8 Update n-body sources and binary for rust. Add bench results (#172) 2018-07-21 14:11:39 +02:00
dcodeIO
00fb45fcad Check for EOF on parse error in blocks, fixes #180 2018-07-21 03:11:33 +02:00
dcodeIO
ccc019d853 Update dist files 2018-07-20 22:56:23 +02:00
dcodeIO
9c3d0a7af9 Merge branch 'master' of https://github.com/AssemblyScript/next 2018-07-20 22:54:12 +02:00
Daniel Wirtz
39b489bee2
Rename memory instructions; Rework constant handling (#177)
* Rename memory instructions as proposed by the bulk-memory-operations spec.
* Rename memory manager functions to memory.* as well
* Remove automatic inlining of constant globals (Binaryen does this now)
* Improve 'const' enum compatibility
* Improve module-level export generation
* Enable the inline decorator for constant variables
* Add ERROR, WARNING and INFO macros that emit a user-defined diagnostic
* Reintroduce builtin decorator so these can appear anywhere in stdlib again
* Inline isNaN and isFinite by default
* Make an interface around gc.* similar to memory.*
* Emit an error when trying to inline a mutable variable
* Slim down CI stages
* Add a more convenient tracing utility for debugging
* Implement some prequesites for an eventual bundled GC
2018-07-20 22:53:33 +02:00
dcodeIO
3c1f0dc1f8 More cleanup 2018-07-20 22:37:25 +02:00
dcodeIO
2fa7d6678c Make sure all roots are iterated by delaying builtin generation; Cleanup 2018-07-20 20:33:50 +02:00
dcodeIO
41ad2f8a70 Add a more convenient tracing utility for debugging; Fix basic GC test 2018-07-20 16:49:27 +02:00
dcodeIO
f56face188 Slim down CI stages 2018-07-19 23:10:30 +02:00
dcodeIO
66cc359849 Emit an error when trying to inline a mutable variable 2018-07-19 16:38:09 +02:00
dcodeIO
fafaf423b4 Make an interface around gc.* fwiw 2018-07-19 16:15:56 +02:00
dcodeIO
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
dcodeIO
cf8e3dfa12 Fix linting issues 2018-07-19 02:16:20 +02:00
dcodeIO
26e46f6f86 Reintroduce builtin decorator so these can appear anywhere in stdlib again
Avoids wrapping an undocumented function within 'memory.size' for example.
2018-07-19 02:10:04 +02:00
dcodeIO
96411c7398 Include a fix for #176 2018-07-19 00:01:00 +02:00
dcodeIO
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
dcodeIO
34e8facfdc Move snap badge to snap directory and add a little introduction 2018-07-15 16:11:29 +02:00
dcodeIO
1928f46cb9 Also handle indirect recursive inlining 2018-07-14 18:21:11 +02:00
dcodeIO
4b8500355a Skip inlining and emit a warning when trying to inline a function into itself 2018-07-14 18:01:19 +02:00
dcodeIO
3b0fd9aac2 Implement isDefined and isConstant builtins 2018-07-14 16:42:00 +02:00