Commit Graph

62 Commits

Author SHA1 Message Date
Andrew Morris
fdae0c5ff4 Use take on iter_res 2023-06-22 19:49:54 +10:00
Andrew Morris
62aaa57b7d Fix unnecessary binds 2023-06-22 17:46:05 +10:00
Andrew Morris
f12e3ea11b Fix redundant mov in preincrements 2023-06-22 16:14:46 +10:00
Andrew Morris
6e1be5a929 Add Empty and Comment options to FnLine 2023-06-22 15:54:00 +10:00
Andrew Morris
48433d650e Refactor - stop assuming assignment to target_register 2023-06-22 13:08:08 +10:00
Andrew Morris
70c695016e Tweaks 2023-06-22 10:50:27 +10:00
Andrew Morris
0f3b02c2c5 Fix nested register for mov 2023-06-22 09:30:40 +10:00
Andrew Morris
1917bb51c6 When a value is just a nested register, take it 2023-06-22 08:55:52 +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
38b1bcfba2 Represent generators in assembly 2023-05-31 14:49:08 +10:00
Andrew Morris
4729d006a3 Handle iterators in CatStackFrame 2023-05-30 14:00:51 +10:00
Andrew Morris
87dfda4855 Compile for-of using iteration instead of indexing 2023-05-29 16:07: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
dc685f5892 require_mutable_this 2023-04-05 10:15:19 +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
0bc3269d66 Move Scope into its own file 2023-03-31 10:59:26 +11:00
Andrew Morris
81f944355a Snapshot variables mutated by method calls 2023-03-30 11:45:40 +11:00
Andrew Morris
7b5f1de302 Revert variables on catch 2023-03-24 18:31:38 +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
a7ced2eb76 Fix nested function declarations 2023-03-24 15:31:24 +11:00
Andrew Morris
5f5398b566 Ignore non-register captures, set self.owner_id correctly 2023-03-24 12:32:21 +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
e86b2b6127 More tests and fixes 2023-03-23 17:17:27 +11:00
Andrew Morris
2e500692bf Compile try-catch 2023-03-23 14:12:35 +11:00
Andrew Morris
7594eeeadd Replace capture_finder with scope_analysis data 2023-03-22 14:27:06 +11:00
Andrew Morris
f43e83cffe Compile throw expressions 2023-03-21 14:29:38 +11:00
Andrew Morris
549e7e546a NaN, Infinity 2023-03-20 11:34:48 +11:00
Andrew Morris
e5232e933c For-of loops 2023-03-12 20:38:43 +11:00
Andrew Morris
cec98637ea Move control cases into functions 2023-03-12 18:51:00 +11:00
Andrew Morris
b4e450abcd Simplifiy todo diagnostics 2023-03-07 10:54:12 +11:00
Andrew Morris
eae0f1090e Use numbering for tmp registers 2023-03-06 19:39:34 +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
0e9682592e Use asm::Instruction in function_compiler 2023-03-06 16:39:59 +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
082591da5c Replace register strings with Register throughout function_compiler 2023-03-06 13:21:54 +11:00
Andrew Morris
6be70c189b Replace register strings with Register throughout expression_compiler 2023-03-06 12:48:41 +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
16fed23c66 AssignTarget::from_pat_or_expr 2023-03-02 11:34:30 +11:00