Commit Graph

150 Commits

Author SHA1 Message Date
Stephen Chung
bfe39a9c7c Faster processing of this pointer. 2023-05-07 22:25:01 +08:00
Stephen Chung
72cfd42ab7 Code refactor. 2023-04-28 15:05:31 +08:00
Stephen Chung
1a61ed167c Fix optimizer constants propagation bug. 2023-04-24 12:17:23 +08:00
Stephen Chung
e28bdd5b17 Rewrite combo chains in parser. 2023-04-23 00:00:55 +08:00
Stephen Chung
a0869004a3 Optimize chain structure. 2023-04-22 12:42:50 +08:00
Stephen Chung
f49ce33a88 Use .take instead of mem::take(). 2023-04-21 10:20:19 +08:00
Stephen Chung
26ad454cb1 Streamline data types. 2023-04-10 18:47:53 +08:00
Stephen Chung
465fdeec21 Optimize curry with constant arguments. 2023-04-10 13:11:33 +08:00
Stephen Chung
120ff91074 Fix bug in optimize_ast skipping Stmt::FnCall. 2023-04-10 13:11:24 +08:00
Stephen Chung
a82bb7b2ef Fix build 2023-04-09 16:38:19 +08:00
Stephen Chung
8369a9bf63 Fix optimizer bug for closures. 2023-04-09 16:31:06 +08:00
Stephen Chung
2e724b804e Remove indirection. 2023-03-23 13:37:10 +08:00
Stephen Chung
e60d0fc0bc Add typed methods definition. 2023-03-22 16:05:25 +08:00
Stephen Chung
fa4096e91e Fine tune Engine size. 2023-03-07 16:52:37 +08:00
Stephen Chung
14e205cabc Satisfy msrv by removing then_some. 2023-02-21 18:16:03 +08:00
Stephen Chung
129a5c6e86 Use then/then_some to simplify. 2023-02-21 16:36:57 +08:00
Stephen Chung
10089c5cb0 Support switch range cases for floating-point values. 2023-02-12 23:20:14 +08:00
Stephen Chung
d0a47d7f66 Refactor to do more pre-calculation work. 2023-02-12 21:50:32 +08:00
Stephen Chung
4fe80a2026 Use &Token for op. 2023-02-10 23:42:13 +08:00
Stephen Chung
ca02d46a49 Use iterators. 2023-01-31 19:44:46 +08:00
Stephen Chung
ea3efe654c Avoid unnecessarily creating Scope. 2023-01-11 11:42:46 +08:00
Stephen Chung
00c434eb71 Use Option<Token> instead of Token::NONE. 2022-12-27 22:51:38 +08:00
Stephen Chung
7c00b74916 Allow string interpolation to work with no packages. 2022-12-27 10:09:40 +08:00
Stephen Chung
ffa1f5fb4a Fix builds. 2022-12-23 18:54:55 +08:00
Stephen Chung
cb09393dba Encapsulate into FlowControl type. 2022-12-23 14:26:06 +08:00
Stephen Chung
80ccd75514 Satisfy clippy. 2022-12-22 17:34:58 +08:00
Stephen Chung
babc0b5466 Remove Dynamic::NULL, use .as_deref_mut() for this_ptr. 2022-12-20 16:52:55 +08:00
Stephen Chung
67a7ab4069 Move encapsulated environment out of ScriptFnDef. 2022-12-12 16:06:24 +08:00
Stephen Chung
55922b5c20 Hard code constant checking. 2022-12-03 16:20:13 +08:00
Stephen Chung
ffc8a7f85c Fix builds. 2022-12-03 12:08:35 +08:00
Stephen Chung
acadb58f4f Add short-cut to !. 2022-11-30 14:11:57 +08:00
Stephen Chung
0c85f0c796 Code cleanup and refactor. 2022-11-28 23:24:22 +08:00
Stephen Chung
e8e1706d98 Use as_deref(). 2022-11-25 23:03:20 +08:00
Stephen Chung
d645d8271c More code refactor. 2022-11-25 20:42:16 +08:00
Stephen Chung
2bf8e610a3 Reduce size of Engine. 2022-11-24 22:58:42 +08:00
Stephen Chung
4e27039521 Use bitflags. 2022-11-23 11:36:30 +08:00
Stephen Chung
3feff3618a Optimize .type_of() and .is_shared(). 2022-11-21 16:27:12 +08:00
Stephen Chung
7f84a9f42b Fix premature promotion in optimizer. 2022-11-13 21:05:14 +08:00
Stephen Chung
54353c6676 Fix no_function build. 2022-11-10 12:16:23 +08:00
Stephen Chung
3a028f2642 Move lib into global. 2022-11-10 11:49:10 +08:00
Stephen Chung
ce046422f0 Add Dynamic::is_XXX API. 2022-11-09 12:44:57 +08:00
Stephen Chung
e93923b3b6 Move level into GlobalRuntimeState. 2022-11-08 21:28:20 +08:00
Stephen Chung
8f128f37f0 Add Dynamic::NULL to simplify this pointer binding. 2022-11-08 16:16:42 +08:00
Stephen Chung
6053aa1641 Clean up types. 2022-11-08 15:01:40 +08:00
Stephen Chung
0c79471fd3 Change lib to &[Shared<Module>] and remove dummy lifetimes. 2022-11-07 16:18:59 +08:00
Stephen Chung
470af6af71 Using hashing for full hash instead of xor. 2022-11-04 21:59:49 +08:00
Stephen Chung
35b02ce9b7 Make parameters order uniform. 2022-11-04 21:47:09 +08:00
Stephen Chung
79ba80eeb3 Fix full optimization. 2022-10-30 23:33:44 +08:00
Stephen Chung
32493524ed Code cleanup. 2022-10-30 22:16:09 +08:00
Stephen Chung
22ee12531c Code cleanup. 2022-10-30 18:43:18 +08:00