Commit Graph

155 Commits

Author SHA1 Message Date
Andrew Morris
3ffafda8d2 FnMeta 2023-08-14 17:35:24 +10:00
Andrew Morris
cf14a21fe9 hash -> srcHash 2023-08-14 12:17:41 +10:00
Andrew Morris
31a00cba19 Put source_hash in function hash 2023-08-14 10:59:32 +10:00
Andrew Morris
4c6b249c10 VsFunctionMetadata 2023-08-14 09:13:11 +10:00
Andrew Morris
9c21f0ee9c Implement instanceof 2023-07-27 11:42:49 +10:00
Andrew Morris
69663190ee Add fake hash and use it to compare functions and class instances 2023-07-26 17:27:03 +10:00
Andrew Morris
296f24e6af Add const_apply instruction 2023-07-25 17:46:41 +10:00
Andrew Morris
ed0d2665fd Add Value::Class, Kal::Class 2023-07-25 10:20:48 +10:00
Andrew Morris
e81eb6d1e2 Fix clippy issues 2023-07-24 10:38:46 +10:00
Andrew Morris
581965e01b Make clippy a happy chappy 2023-07-07 16:08:28 +10:00
Andrew Morris
6615ea79d2 Support more static expressions 2023-07-06 21:52:08 +10:00
Andrew Morris
5a6d11c980 Implement string indexing for Kal 2023-07-06 17:38:08 +10:00
Andrew Morris
34d6a21aab Rc<String> -> Rc<str> 2023-07-06 17:25:24 +10:00
Andrew Morris
814fb09159 Implement in operator 2023-07-06 15:56:04 +10:00
Andrew Morris
fcc140c46c Fix throw %!e 2023-07-06 14:27:01 +10:00
Andrew Morris
d217f60967 Add jmpif_not instruction 2023-07-03 09:33:47 +10:00
Andrew Morris
dada0cb779 Extract constants later so that simplify has more information 2023-07-01 17:12:41 +10:00
Andrew Morris
530c025864 Basic subscripting for Kal 2023-07-01 16:33:11 +10:00
Andrew Morris
7ad17b73b6 Reduce exception copying 2023-07-01 09:21:47 +10:00
Andrew Morris
f20cbc9a36 Use register for this argument of Apply, SubCall, ThisSubCall 2023-06-30 11:47:18 +10:00
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