Commit Graph

135 Commits

Author SHA1 Message Date
Andrew Morris
842ad083b5 wip 2023-06-29 18:39:02 +10:00
Andrew Morris
05efdfd517 Add structural comparison 2023-06-29 11:05:12 +10:00
Andrew Morris
b2bb618c52 Simplify array methods 2023-06-29 09:21:25 +10:00
Andrew Morris
a8dbbe63a7 Prefer InternalError over panicking 2023-06-29 09:00:27 +10:00
Andrew Morris
14f7ee2cb6 Add internal error and use it for todos 2023-06-29 08:50:48 +10:00
Andrew Morris
aab67fd678 Improve error 2023-06-28 18:09:26 +10:00
Andrew Morris
0a840c0b08 Fallback to ecma spec-based comparisons 2023-06-28 17:56:56 +10:00
Andrew Morris
4642f22344 Make todos more descriptive 2023-06-28 15:59:17 +10:00
Andrew Morris
e49b1ff3da Implement yield* instruction 2023-06-27 14:38:42 +10:00
Andrew Morris
6ef2eea2c1 Subscript classes using .static_ 2023-06-23 09:51:28 +10:00
Andrew Morris
41a6a20573 Include static in class assembly and bytecode 2023-06-23 09:47:12 +10:00
Andrew Morris
290c9b0cf0 Add static_ field 2023-06-23 09:10:35 +10:00
Andrew Morris
a00a161973 instance_prototype -> prototype 2023-06-23 09:06:01 +10:00
Andrew Morris
af136fa5aa p20 2023-06-22 21:29:42 +10:00
Andrew Morris
a253ccbcea Fix rampant iterator copying 2023-06-22 19:54:30 +10:00
Andrew Morris
fdae0c5ff4 Use take on iter_res 2023-06-22 19:49:54 +10:00
Andrew Morris
7c217dd264 Fix copying on method calls 2023-06-22 18:13:01 +10:00
Andrew Morris
48433d650e Refactor - stop assuming assignment to target_register 2023-06-22 13:08:08 +10:00
Andrew Morris
703bbf9b8a Fix decoding TakeRegister 2023-06-21 21:11:29 +10:00
Andrew Morris
910f6684f5 Use take for TakeRegister 2023-06-21 17:20:45 +10:00
Andrew Morris
b33ef2b5b0 Remove Vallish, use refs and clones 2023-06-21 17:16:03 +10:00
Andrew Morris
e9dac713e0 Implement loose negated comparison against undefined and null 2023-06-21 11:32:22 +10:00
Andrew Morris
bd01c95069 Implement loose comparison against undefined and null 2023-06-21 11:22:09 +10:00
Andrew Morris
72f9fbf0f7 Represent register taking 2023-06-20 16:57:49 +10:00
Andrew Morris
4e91cf3b20 Fix SubMov copying 2023-06-20 14:58:23 +10:00
Andrew Morris
7e16156933 Use &Val for submov key 2023-06-20 14:26:36 +10:00
Andrew Morris
13d782114f Fix return copying 2023-06-20 14:08:08 +10:00
Andrew Morris
0b98f41658 Move Vallish into file 2023-06-20 13:52:20 +10:00
Andrew Morris
6340db8794 Fix subscript copying 2023-06-20 13:50:15 +10:00
Andrew Morris
72191319b2 Make unary ops to &Val 2023-06-20 13:03:16 +10:00
Andrew Morris
98d1488aff CopyCounter 2023-06-20 11:39:42 +10:00
Andrew Morris
d136593fa7 Debug.log multiple params on one line 2023-06-20 10:38:34 +10:00
Andrew Morris
c6b438d776 compile_to_rust_tests 2023-06-16 09:42:46 +10:00
Andrew Morris
1340b80bed Use range more in projEuler 2023-06-04 17:48:33 +10:00
Andrew Morris
97ac17e917 Partially implement yield* 2023-06-01 17:28:31 +10:00
Andrew Morris
9663de9384 Fix factorizeAsPowers 2023-06-01 13:32:37 +10:00
Andrew Morris
5712221cd6 Generators now work 2023-06-01 11:53:36 +10:00
Andrew Morris
95e702b85e Generators make regular calls and regular returns 2023-06-01 11:08:33 +10:00
Andrew Morris
6710d98476 Make placeholder generator finite 2023-06-01 09:44:13 +10:00
Andrew Morris
76f78eb8ec Add unimplemented yield* instruction 2023-06-01 09:05:55 +10:00
Andrew Morris
ea4571fe82 wip generators 2023-05-31 17:29:11 +10:00
Andrew Morris
12bfe5bf7f Add unimplemented yield instruction 2023-05-31 14:20:45 +10:00
Andrew Morris
7a8b388c69 Allow passing non-inline arrays as parameters 2023-05-30 16:47:17 +10:00
Andrew Morris
af6b90aed9 Fix spreadAndReturn 2023-05-30 15:35:00 +10:00
Andrew Morris
4729d006a3 Handle iterators in CatStackFrame 2023-05-30 14:00:51 +10:00
Andrew Morris
c12a27a1ff Implement cat as stack frame 2023-05-30 12:28:08 +10:00
Andrew Morris
4164f44ece Cat instruction with limited implementation 2023-05-30 11:22:50 +10:00
Andrew Morris
2a789486d6 Fix inc+dec for bigint 2023-05-30 10:43:12 +10:00
Andrew Morris
2267226d6b Implement [Symbol.iterator]() for iterators 2023-05-30 09:49:19 +10:00
Andrew Morris
c79e40a1dd Add array.entries() 2023-05-30 09:34:05 +10:00