Commit Graph
34 Commits
Author SHA1 Message Date
Anton MedvedevandGitHub 205e24128e Add better error message for OpFetchField on missing field (#276) 2022-11-05 22:00:11 +01:00
Anton MedvedevandGitHub 1c69d7a8ef Add OpCallTyped (#269) 2022-11-05 13:44:15 +01:00
Anton MedvedevandGitHub e0b6b22aeb Save AST in compiled program (#268) 2022-11-03 07:53:17 +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 aa5c5f09e1 Split arguments 2022-10-25 23:13:20 +02:00
Anton Medvedev cfc9843ccb Simplify vm and opcodes 2022-10-24 23:26:22 +02:00
Anton Medvedev 0b523f347e Sort imports 2022-10-22 13:39:04 +02:00
Anton Medvedev dd65a0fc2d Add compiler member fetch optimizations 2022-10-20 22:54:36 +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 da68511d23 Add vm/runtime package 2022-10-12 15:22:14 +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 44eb8c179b Improve location storage in program 2020-03-04 16:12:02 +03:00
Anton Medvedev bb54a08b53 Sort imports 2020-02-25 09:33:17 +03:00
Anton Medvedev de5d4adc5d Lexer first commit 2020-02-25 09:33:17 +03:00
Anton Medvedev 13c0a78fa4 Add fast call opcode for special case functions 2019-10-15 14:43:03 +03:00
Anton Medvedev e2f2207d81 goimports 2019-07-02 14:34:48 +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
Anton Medvedev 50f83299ac Move back to github host 2019-06-22 14:25:58 +03:00
Anton Medvedev 43a6054d04 Add new opcode OpRot 2019-06-21 14:18:54 +03:00
Anton Medvedev 1cb2656067 Use gopkg.in for v2 imports 2019-06-21 14:18:54 +03:00
Anton Medvedev 1448755b5c Refactor OpPush and rename OpConst to OpPush
Somehow path from uint16 -> int -> interface{} via OpPush causing +17% slowdown.
After migrating to all constants everything seems to work even faster.
2019-06-14 14:11:11 +03:00
Anton Medvedev 02af4668fd Remove redundant opcodes 2019-06-14 14:11:11 +03:00
Anton Medvedev fad76b558b Separate opcode for int equal 2019-06-14 14:11:11 +03:00
Anton Medvedev 3c77457b43 Better inc opcode 2019-06-14 14:11:11 +03:00
Anton Medvedev 19aa27c407 Add disassemble program tests 2019-06-14 14:11:11 +03:00
Anton Medvedev fb30511dd7 Refactor helper package to file package 2019-06-07 16:47:22 +03:00
Anton MedvedevandGitHub ef410b0f3f expr v2 2019-05-28 00:09:22 +07:00