Andrew Morris
|
b5ecc10b65
|
Add benchmarking
|
2023-06-21 15:07:05 +10:00 |
|
Andrew Morris
|
5969d344c4
|
Fix test - implement TargetAccessor for wrapper expressions
|
2023-06-21 11:00:20 +10:00 |
|
Andrew Morris
|
748769b039
|
Implement var hoisting for missing stmt types
|
2023-06-21 10:17:28 +10:00 |
|
Andrew Morris
|
72f9fbf0f7
|
Represent register taking
|
2023-06-20 16:57:49 +10:00 |
|
Andrew Morris
|
80786cc080
|
Implement yield* using a yield loop
|
2023-06-02 09:41:12 +10:00 |
|
Andrew Morris
|
9786625d97
|
Update playground to use generators
|
2023-06-01 13:18:35 +10:00 |
|
Andrew Morris
|
7e22dbeba0
|
Update this-mutability of yield*
|
2023-06-01 12:01:56 +10:00 |
|
Andrew Morris
|
76f78eb8ec
|
Add unimplemented yield* instruction
|
2023-06-01 09:05:55 +10:00 |
|
Andrew Morris
|
81c613a836
|
Assemble generator functions
|
2023-05-31 14:57:21 +10:00 |
|
Andrew Morris
|
d0f446b901
|
Parse function*
|
2023-05-31 14:55:00 +10:00 |
|
Andrew Morris
|
38b1bcfba2
|
Represent generators in assembly
|
2023-05-31 14:49:08 +10:00 |
|
Andrew Morris
|
56c8229d74
|
Compile yield expressions
|
2023-05-31 14:34:57 +10:00 |
|
Andrew Morris
|
12bfe5bf7f
|
Add unimplemented yield instruction
|
2023-05-31 14:20:45 +10:00 |
|
Andrew Morris
|
1ee2bc30da
|
Implement spreading for calls, news, and methods
|
2023-05-31 11:33:12 +10:00 |
|
Andrew Morris
|
383fcddfa1
|
Split out TargetAccessor
|
2023-05-31 10:03:22 +10:00 |
|
Andrew Morris
|
cd1ca27be8
|
Avoid trailing empty segment
|
2023-05-30 15:34:28 +10:00 |
|
Andrew Morris
|
4c20945c3a
|
Enable spreading in array expressions
|
2023-05-30 15:09:07 +10:00 |
|
Andrew Morris
|
4729d006a3
|
Handle iterators in CatStackFrame
|
2023-05-30 14:00:51 +10:00 |
|
Andrew Morris
|
4164f44ece
|
Cat instruction with limited implementation
|
2023-05-30 11:22:50 +10:00 |
|
Andrew Morris
|
21a0d182b2
|
Test custom iterator
|
2023-05-29 16:27:42 +10:00 |
|
Andrew Morris
|
87dfda4855
|
Compile for-of using iteration instead of indexing
|
2023-05-29 16:07:31 +10:00 |
|
Andrew Morris
|
b949027501
|
Enable defining Symbol.iterator on classes
|
2023-05-29 15:38:22 +10:00 |
|
Andrew Morris
|
79b8523758
|
Add $SymbolIterator
|
2023-05-29 14:52:29 +10:00 |
|
Andrew Morris
|
161ed1c6de
|
Add next and unpack_iter_res instructions (unimplemented)
|
2023-05-29 13:19:04 +10:00 |
|
Andrew Morris
|
ac868be23c
|
Replace VsPointer with cached decoding
|
2023-05-26 17:50:35 +10:00 |
|
Andrew Morris
|
bc89575eae
|
Replace val_to_string with to_string (via fmt::Display)
|
2023-05-26 13:17:31 +10:00 |
|
Andrew Morris
|
cb7af7c8a3
|
Ignore type-only imports
|
2023-04-15 17:38:26 +09:00 |
|
Andrew Morris
|
f0685828de
|
Allow leaving out whitespace
|
2023-04-15 17:18:32 +09:00 |
|
Andrew Morris
|
0785fe0c5e
|
Add args param
|
2023-04-15 16:45:40 +09:00 |
|
Andrew Morris
|
c9b0991907
|
Use this_subcall and avoid require_mutable_this when packing up those calls
|
2023-04-05 10:55:17 +10:00 |
|
Andrew Morris
|
0ee1f473ce
|
this_subcall
|
2023-04-05 10:31:05 +10:00 |
|
Andrew Morris
|
dc685f5892
|
require_mutable_this
|
2023-04-05 10:15:19 +10:00 |
|
Andrew Morris
|
f2db17ef27
|
Use .effectively_const to exclude from TargetAccessor, producing const_subcall
|
2023-04-04 14:55:32 +10:00 |
|
Andrew Morris
|
f728509db9
|
const_subcall, more tests
|
2023-04-04 13:49:46 +10:00 |
|
Andrew Morris
|
c25ebe2e14
|
Copy pre-increment values into registers
|
2023-03-31 17:39:32 +11:00 |
|
Andrew Morris
|
eaa5616193
|
Limit register copying to only variables that are mutated
|
2023-03-31 17:05:09 +11:00 |
|
Andrew Morris
|
a5a861d570
|
Use extra register for every identifier
|
2023-03-31 16:44:22 +11:00 |
|
Andrew Morris
|
c4c348a231
|
Fix captureShadowed.ts
|
2023-03-31 14:35:34 +11:00 |
|
Andrew Morris
|
67b8825f99
|
Fix false positive tdz capture issues by analyzing binds instead
|
2023-03-31 14:24:36 +11:00 |
|
Andrew Morris
|
f17ec376d5
|
Implement TDZ for captures
|
2023-03-31 13:25:19 +11:00 |
|
Andrew Morris
|
d46e823d4b
|
More tdz capture tests
|
2023-03-31 12:21:48 +11:00 |
|
Andrew Morris
|
0bc3269d66
|
Move Scope into its own file
|
2023-03-31 10:59:26 +11:00 |
|
Andrew Morris
|
10974444bb
|
Implement basic TDZ (not including captures)
|
2023-03-31 10:50:41 +11:00 |
|
Andrew Morris
|
b59e19ad9b
|
XScope -> Scope
|
2023-03-31 10:03:29 +11:00 |
|
Andrew Morris
|
a48783af81
|
Fix register release for args of new expressions
|
2023-03-30 12:16:22 +11:00 |
|
Andrew Morris
|
382d2174c6
|
Fix const (basic)
|
2023-03-30 11:57:22 +11:00 |
|
Andrew Morris
|
81f944355a
|
Snapshot variables mutated by method calls
|
2023-03-30 11:45:40 +11:00 |
|
Andrew Morris
|
1960b43a1a
|
Fix duplicate name insertion
|
2023-03-29 08:24:44 +11:00 |
|
Andrew Morris
|
08d7773314
|
Fix duplicate scope analysis
|
2023-03-29 08:13:27 +11:00 |
|
Andrew Morris
|
c199d3bb8e
|
Make compile link files
|
2023-03-28 16:36:33 +11:00 |
|