Commit Graph

74 Commits

Author SHA1 Message Date
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
d9463c5484 dummy gc 2019-03-21 17:34:51 +01:00
3fc9f550ad more general gc hooks? 2019-03-21 10:44:14 +01:00
7693b543f4 optimize array literal init, warn on unsupported inlining 2019-03-19 08:20:10 +01:00
ba4c00efbd clean 2019-03-18 00:40:55 +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
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
1198e71236 same for padStart 2019-03-11 01:29:12 +01:00
ebe92c62a8 untrampoline padEnd 2019-03-11 01:20:47 +01:00
ce82e5458e unshiftify padEnd 2019-03-11 01:16:05 +01:00
f076826e59 update std/string 2019-03-11 00:35:17 +01:00
85b740d670 fix 2019-03-10 21:42:18 +01:00
cb77760562 unsafe, stub 2019-03-10 21:38:15 +01:00
5a2ab3d7ec what std/string would look like 2019-03-10 02:57:05 +01:00
cdf40578b6 Refactor slices for better compliance (#430) 2019-02-27 21:51:07 +01:00
0041572052 Reuse respective opposite overload in std/string comparisions (#479) 2019-02-21 00:30:05 +01:00
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
54b02c287c Fix functional Array & String methods and avoid buffer caching (#415) 2019-01-17 01:34:09 +01:00
201bd5f2b1 Implement String#slice (#404) 2019-01-10 12:10:23 +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
711f73b15d Implement String#split (#301) 2018-10-18 19:05:35 +02:00
b7e7be20cf Add String.fromUTF8 helper (see #291); Update dist files 2018-10-03 00:49:56 +02:00
2874fb9d8a Add trimStart/End aliases (#287) 2018-09-30 22:21:34 +02:00
4498b28442 Use outer-most identifier when resolving queued exports, fixes #248 2018-09-09 03:51:29 +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
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +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
365884ff73 Add String#lastIndexOf and improve tests (#163) 2018-07-10 03:31:51 +02:00
51ede113dd Fix possible out of bounds read in string UTF8 conversion 2018-05-23 15:37:09 +02:00
33b10e347b Properly resolve top level enums to i32s, see #116 2018-05-22 12:06:03 +02:00
ea0eb7f1a5 Add a simple UTF8 converter, i.e. for calling C++ APIs; Fix disabling 'abort' entirely 2018-05-21 23:14:47 +02:00
6d0b5d92c2 Minor string comparision optimizations (#77) 2018-04-16 23:02:55 +02:00
b7ef21950b Add String#repeat method (#67) 2018-04-07 18:59:26 +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
6268b92eba Resolve string instances to the program's string class 2018-04-06 00:19:45 +02:00
70a0123554 Fix some cases in string comparision (#66) 2018-04-05 17:44:17 +02:00
26601dcfb1 Make '===' and '!==' ignore operator overloads
While not semantically equivalent with JS semantics, this appears to be the right thing to do in AS. Also avoids using changetype just for this purpose, which will eventually become considered unsafe.
2018-04-05 02:42:12 +02:00