39 Commits
Author SHA1 Message Date
Anton MedvedevandGitHub 46d295876f Add spans 2024-02-29 20:51:34 +01:00
Anton MedvedevandGitHub b1e82de54a Refactor groupBy and sortBy (#562)
* Rearrange opcodes

* Refactor groupBy

* Fix tests

* Super opcodes for GroupBy

* Refactor sortBy builtin

* Fix sortBy bench
2024-02-15 19:53:35 +01:00
Anton Medvedev fdae534aa9 Add OpCallSafe 2024-02-12 22:15:17 +01:00
Anton MedvedevandGitHub d903980830 Add mem grow to builtin (#505)
* Add mem grow to builtin

* Add OpValidateArgs opcode
2023-12-30 12:49:43 +01:00
Anton Medvedev 6d8d2390cf Remove countBy 2023-08-30 14:55:05 +02:00
Anton Medvedev 5023b3005d Add reduce() 2023-08-30 13:33:16 +02:00
Anton Medvedev 7f85c0551f Add countBy() 2023-08-30 12:07:16 +02:00
Anton Medvedev 3f57b885d4 Add groupBy 2023-08-30 11:14:54 +02:00
Anton Medvedev 166d8b8ce9 Add filter()[-1] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 8c52bd6d8b Add filter()[0] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 2c139ca36a Add find() and findIndex() 2023-08-24 11:15:43 +02:00
Anton Medvedev ed5f9bfbcb Add variables 2023-08-22 22:30:07 +02:00
Anton Medvedev 719f30d3ad Add builtin functions 2023-08-14 15:37:06 +02:00
Anton Medvedev 8177d8bd9f Add OpCallBuiltin opcode to avoid an extra allocation 2023-08-14 11:50:42 +02:00
Anton Medvedev 8d959ea2fe Refactor builtin.Function and move builtin funcs to builtin package 2023-08-14 11:50:42 +02:00
Anton Medvedev 756bf2f9b1 Add OpInvalid 2023-07-19 17:19:59 +04:00
mdmcconnellandGitHub 4e57a43464 env[] keyword implemented in parser (#382) 2023-07-12 11:01:19 +02:00
Anton Medvedev 95f8b7ff17 Add nil coalescing operator 2023-02-03 15:53:43 +01:00
Anton Medvedev 3e919ad53f Unflatten builtins opcodes 2023-01-30 22:24:35 +01:00
Anton Medvedev 12a40c72cb Flatten builtin opcodes in vm 2023-01-30 22:24:35 +01:00
Anton Medvedev b737180582 Improve builtin performance 2023-01-29 20:34:15 +01:00
Anton Medvedev 4b7c89eff1 Add expr.Function feature 2023-01-29 20:34:15 +01:00
Anton Medvedev 247fc09c06 Rename opcodes 2022-11-12 14:40:05 +01:00
Anton Medvedev 6829eb018b Rename opcodes 2022-11-12 14:38:35 +01:00
Anton MedvedevandGitHub 1c69d7a8ef Add OpCallTyped (#269) 2022-11-05 13:44:15 +01:00
Anton Medvedev b8346f98f1 Optimize method calls and builtins opcodes 2022-10-27 21:23:04 +02:00
Anton Medvedev fa60189e66 Cleanup 2022-10-26 18:48:27 +02:00
Anton Medvedev fb3a5e74a0 Cleanup compiler 2022-10-25 01:43:47 +02:00
Anton Medvedev cfc9843ccb Simplify vm and opcodes 2022-10-24 23:26:22 +02:00
Anton Medvedev 2a34731b5a Add FieldByIndex optimization 2022-10-19 00:55:01 +02:00
Anton Medvedev b0705d7de2 Add OpDeref opcode 2022-10-18 00:08:53 +02:00
Anton Medvedev 370551eb7e Remove obsolete opcode 2022-10-16 22:20:55 +02:00
Anton Medvedev ab621bec0e Optional chaining 2022-10-15 15:59:39 +02:00
Anton Medvedev 2a88e4a52a Refactor type checker 2022-10-13 10:01:35 +02:00
Anton Medvedev b24419bf76 Remove wrong nil safe implementation 2022-10-09 12:53:30 +02:00
Zach BadgettandGitHub 3eb822d35a Add nil safe operator (#173) 2021-06-07 22:53:12 +03:00
Anton Medvedev 13c0a78fa4 Add fast call opcode for special case functions 2019-10-15 14:43:03 +03:00
Anton Medvedev b79ca26ff0 Add slice operator 2019-06-25 14:49:03 +03:00
Anton Medvedev 08ac84ad03 Add cast feature 2019-06-22 15:15:58 +03:00