54 Commits

Author SHA1 Message Date
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
Andrew Morris
6be70c189b Replace register strings with Register throughout expression_compiler 2023-03-06 12:48:41 +11:00
Andrew Morris
9400ab1643 Add tests (and fix default expr for target-access) 2023-03-02 18:23:59 +11:00
Andrew Morris
eafe601d29 Implement expressions inside patterns 2023-03-02 18:02:10 +11:00
Andrew Morris
e77667bd7d Move patterns into expression compiler 2023-03-02 17:39:12 +11:00
Andrew Morris
42c3ce706b decl_or_param_pat -> pat 2023-03-02 17:17:02 +11:00
Andrew Morris
cae818a3c7 Enable more destructuring 2023-03-02 17:14:45 +11:00
Andrew Morris
e7c30899de Split out assign_pat_eq 2023-03-02 16:51:38 +11:00
Andrew Morris
b75d7e57c5 Improve top-level member access with assign_and_packup 2023-03-02 15:00:04 +11:00
Andrew Morris
16fed23c66 AssignTarget::from_pat_or_expr 2023-03-02 11:34:30 +11:00
Andrew Morris
5ea2903b90 Deduplicate code 2023-03-01 18:44:46 +11:00
Andrew Morris
f3118298fe Move AssignTarget to outer scope 2023-03-01 18:37:38 +11:00
Andrew Morris
5c57d24292 Fix multiCompundAssignment 2023-03-01 18:10:34 +11:00
Andrew Morris
8fdd4ca9ee Fix multiAssignment 2023-03-01 18:02:07 +11:00
Andrew Morris
ef265451f2 Fix nested compound assignment 2023-03-01 17:26:33 +11:00
Andrew Morris
266ff3a611 Fix nested assignment 2023-03-01 17:05:18 +11:00
Andrew Morris
d594aaf407 Test nested assignment (that it fails as expected) 2023-03-01 16:44:39 +11:00
Andrew Morris
b170587576 Remaining targets are invalid, not todos 2023-03-01 15:45:33 +11:00