Commit Graph

605 Commits

Author SHA1 Message Date
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
9603c13fb7 Update dist files 2018-09-10 03:56:50 +02:00
ef2c0c623e Improve error message for accessing method like a field (#253) 2018-09-10 03:21:30 +02:00
3605630747 Support calling the result of a getter (#252) 2018-09-10 03:19:11 +02:00
c27b6e8951 Add integer power functions (#212) 2018-09-09 04:07:27 +02:00
658ab23ea6 Still include builtins when compiling with --noLib, fixes #190 2018-09-09 04:05:00 +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
c769f65bac Move 'glob' dependency to production for now, fixes #205 2018-08-04 15:41:01 +02:00
947cee08c7 Implement <TypedArray>#sort and improve default comparator (#208) 2018-08-04 15:30:03 +02:00
7965776133 Make sure output directories exist before writing a file 2018-08-04 01:02:56 +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
61de7cf962 Update dist files 2018-08-02 18:26:44 +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
1ecf85bf7c Update dist files 2018-07-22 14:19:23 +02:00
5ae98013d2 Don't add default aliases if --noLib is set (#183) 2018-07-22 14:13:39 +02:00
a1e2071da6 Fix n-body visualization 2018-07-22 02:55:46 +02:00
813d2e33c8 Update n-body sources and binary for rust. Add bench results (#172) 2018-07-21 14:11:39 +02:00
00fb45fcad Check for EOF on parse error in blocks, fixes #180 2018-07-21 03:11:33 +02:00
ccc019d853 Update dist files 2018-07-20 22:56:23 +02:00
9c3d0a7af9 Merge branch 'master' of https://github.com/AssemblyScript/next 2018-07-20 22:54:12 +02:00
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
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
f56face188 Slim down CI stages 2018-07-19 23:10:30 +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
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
96411c7398 Include a fix for #176 2018-07-19 00:01:00 +02:00
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
34e8facfdc Move snap badge to snap directory and add a little introduction 2018-07-15 16:11:29 +02:00
1928f46cb9 Also handle indirect recursive inlining 2018-07-14 18:21:11 +02:00
4b8500355a Skip inlining and emit a warning when trying to inline a function into itself 2018-07-14 18:01:19 +02:00
3b0fd9aac2 Implement isDefined and isConstant builtins 2018-07-14 16:42:00 +02:00
10a9f407bf Support object literal shorthands 2018-07-14 15:18:45 +02:00
c636eddcd2 Legalize casting object literals to classes when linting 2018-07-14 15:00:07 +02:00
29081b6323 Assert that comparator is not null in Array#sort (#155) 2018-07-14 14:56:05 +02:00
9e508de69a Implement object literal parsing; Instantiate classes from object literals
Essentially, if the contextual type is a class with a constructor that takes zero arguments or doesn't have a constructor at all, an object literal can be used to initialize a new instance of that class with preset values.
2018-07-14 04:00:04 +02:00
72cb1e9008 Update dependencies; Regenerate dist files 2018-07-14 00:13:52 +02:00
9dfe39c532 Concretize decimal counting in itoa (#169) 2018-07-13 23:37:27 +02:00
6228233e04 Minor itoa improvements (#168) 2018-07-13 21:45:39 +02:00
d7c1c608bd Implement itoa32/64 for base 10 (#151) 2018-07-13 15:40:37 +02:00
5ce57a6434 Fix default fromIndex in String#lastIndexOf (#165) 2018-07-13 13:30:48 +02:00
cd14b296ce Refactor resolve infrastructure to its own file
This has become a little clumsy over time. Doesn't hurt to have it in its own place to get a grasp of it more easily.
2018-07-13 00:22:22 +02:00
585d246165 Fix infinite loop when skipping statements, see #167 2018-07-10 17:38:03 +02:00