Andrew Morris
|
a03aecedac
|
Add static eval for literals
|
2023-06-23 14:10:37 +10:00 |
|
Andrew Morris
|
c880dda7c9
|
Extract string constants
|
2023-06-23 13:48:58 +10:00 |
|
Andrew Morris
|
62aaa57b7d
|
Fix unnecessary binds
|
2023-06-22 17:46:05 +10:00 |
|
Andrew Morris
|
a4291204cb
|
Remove unnecessary mov
|
2023-06-22 16:41:26 +10:00 |
|
Andrew Morris
|
f12e3ea11b
|
Fix redundant mov in preincrements
|
2023-06-22 16:14:46 +10:00 |
|
Andrew Morris
|
48433d650e
|
Refactor - stop assuming assignment to target_register
|
2023-06-22 13:08:08 +10:00 |
|
Andrew Morris
|
0f3b02c2c5
|
Fix nested register for mov
|
2023-06-22 09:30:40 +10:00 |
|
Andrew Morris
|
c1c5bd6f82
|
Default to take:false, add take()
|
2023-06-22 08:32:38 +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
|
76f78eb8ec
|
Add unimplemented yield* instruction
|
2023-06-01 09:05:55 +10:00 |
|
Andrew Morris
|
56c8229d74
|
Compile yield expressions
|
2023-05-31 14:34:57 +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
|
bc89575eae
|
Replace val_to_string with to_string (via fmt::Display)
|
2023-05-26 13:17:31 +10: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
|
f2db17ef27
|
Use .effectively_const to exclude from TargetAccessor, producing const_subcall
|
2023-04-04 14:55:32 +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
|
0bc3269d66
|
Move Scope into its own file
|
2023-03-31 10:59:26 +11:00 |
|
Andrew Morris
|
a48783af81
|
Fix register release for args of new expressions
|
2023-03-30 12:16:22 +11:00 |
|
Andrew Morris
|
c8d5143bc9
|
Fix transitive captures
|
2023-03-24 17:44:50 +11:00 |
|
Andrew Morris
|
36e0b0d2cc
|
Fix capturing for function declarations
|
2023-03-24 16:25:27 +11:00 |
|
Andrew Morris
|
9efd517980
|
Only bind register captures
|
2023-03-24 14:40:31 +11:00 |
|
Andrew Morris
|
c811d0944e
|
Improve diagnostic
|
2023-03-24 14:02:20 +11:00 |
|
Andrew Morris
|
1164de3f3f
|
Include member.prop
|
2023-03-24 11:41:39 +11:00 |
|
Andrew Morris
|
6a87fbb2c2
|
Include non-mutations in assignment
|
2023-03-24 11:16:48 +11:00 |
|
Andrew Morris
|
fe2e281d0b
|
Improve diagnostic
|
2023-03-24 10:55:08 +11:00 |
|
Andrew Morris
|
026c3e1619
|
Lookup returns option, enabling diagnostics, include ref when inserting name
|
2023-03-24 10:06:19 +11:00 |
|
Andrew Morris
|
ec14f657e9
|
wiiiip
|
2023-03-24 09:24:17 +11:00 |
|
Andrew Morris
|
64e79cf13b
|
oof wip
|
2023-03-23 21:14:05 +11:00 |
|
Andrew Morris
|
1d1c4496b3
|
wip
|
2023-03-23 21:14:00 +11:00 |
|
Andrew Morris
|
7594eeeadd
|
Replace capture_finder with scope_analysis data
|
2023-03-22 14:27:06 +11:00 |
|
Andrew Morris
|
d2c437a9b6
|
BigInt
|
2023-03-20 17:59:07 +11:00 |
|
Andrew Morris
|
549e7e546a
|
NaN, Infinity
|
2023-03-20 11:34:48 +11:00 |
|
Andrew Morris
|
812b51dbba
|
Fix inputs/passing/projEuler/p15.ts
|
2023-03-06 19:38:19 +11:00 |
|
Andrew Morris
|
88cac1fbe2
|
Removed remaining inline assembly
|
2023-03-06 18:29:56 +11:00 |
|
Andrew Morris
|
508f00e95c
|
Simpler api for pushing instructions and labels
|
2023-03-06 17:16:44 +11:00 |
|
Andrew Morris
|
9dc82acebc
|
Use asm::Instruction throughout expression_compiler
|
2023-03-06 16:17:33 +11:00 |
|
Andrew Morris
|
a18d6eec65
|
Use asm::Instruction for compound assignments
|
2023-03-06 16:02:40 +11:00 |
|
Andrew Morris
|
6000440313
|
Use asm::Instruction for unary and binary operators
|
2023-03-06 15:53:50 +11:00 |
|
Andrew Morris
|
018407dabc
|
Start using asm::Instruction in compiler
|
2023-03-06 15:35:34 +11:00 |
|
Andrew Morris
|
eaf26f7a88
|
Prefer to_string
|
2023-03-06 15:05:38 +11:00 |
|
Andrew Morris
|
8c98da80be
|
Use asm::Value in CompiledExpression
|
2023-03-06 14:59:56 +11:00 |
|
Andrew Morris
|
3093016344
|
Use asm::Pointer during compilation
|
2023-03-06 14:02:27 +11:00 |
|