Commit Graph

33 Commits (master)

Author SHA1 Message Date
Daniel Kolesa 72c3ecedb1 move cs thread call stack off real thread call stack 2021-05-14 23:14:48 +02:00
Daniel Kolesa 1c56ea36ff remove save_val 2021-05-07 01:13:02 +02:00
Daniel Kolesa 9437e0951b eliminate type separation between IVAR/FVAR/SVAR 2021-05-07 00:07:13 +02:00
Daniel Kolesa 6218adb78a remove public type specializations for vars 2021-05-06 23:13:48 +02:00
Daniel Kolesa a57072fb73 use any_value for var storage and return it from value() 2021-05-06 03:34:25 +02:00
Daniel Kolesa 03325af1e6 pass old and new values to var_changed 2021-05-05 00:37:12 +02:00
Daniel Kolesa 5b54c74f2a remove call() methods from state 2021-05-02 22:44:38 +02:00
Daniel Kolesa 84f6d1f0d6 make std::span user replaceable
this will allow usage on some older compilers for those who want it
2021-04-15 20:27:24 +02:00
Daniel Kolesa d358dd83e7 halve the size of any_value by removing state pointer from it
this brings more advantages too like actually being default
constructible, so it can be used more easily in data structures etc
2021-04-11 03:32:33 +02:00
Daniel Kolesa 2de2c9b46c remove get_raw_type from public interface
users of the library never need to know this
2021-04-07 00:30:39 +02:00
Daniel Kolesa a789659387 minor cleanups 2021-04-04 05:36:19 +02:00
Daniel Kolesa 529e34d268 add a variable value change trigger callback 2021-04-04 04:30:36 +02:00
Daniel Kolesa e9fc023daa implement override value saving 2021-04-04 02:44:35 +02:00
Daniel Kolesa 6777eb73d5 re-add some support for persistent/overridable flags + fix unknown 2021-04-04 01:08:30 +02:00
Daniel Kolesa b2b83a8e5b clean up some leftover cruft 2021-04-03 03:40:19 +02:00
Daniel Kolesa 95e7ae320c simplify alias_stack push/pop a bit 2021-04-02 23:50:35 +02:00
Daniel Kolesa 52b305954f per-thread alias stack (the vm should be mostly resumable now) 2021-04-02 19:13:34 +02:00
Daniel Kolesa 881ba4bce9 prepare codebase for per-thread alias stack 2021-04-02 05:47:49 +02:00
Daniel Kolesa 99ec1a8583 make push_alias/alias_stack responsible for unsetting unknown flag 2021-04-02 04:34:14 +02:00
Daniel Kolesa 9d7853a840 store cached compiled code on alias stack
this will reduce needless discards on push and simplify the code
2021-04-02 02:12:31 +02:00
Daniel Kolesa 2b0392e27e remove some more raw bcode usage 2021-04-01 05:25:21 +02:00
Daniel Kolesa d8736a059b greatly simplify internal alias stack handling
this should be more efficient too (no value moves)
2021-04-01 03:41:40 +02:00
Daniel Kolesa 970e37f318 make alias pushing separate from setting value 2021-03-30 20:24:46 +02:00
Daniel Kolesa 3dc6ad866f make command argcount unlimited, remove maxargs checks from codegen
also adjust the bytecode appropriately, now you can call commands
with an unlimited number of args and aliases with max 32 args,
extra args will be ignored
2021-03-30 02:08:25 +02:00
Daniel Kolesa c2bb8e4a3d move ident_stack out of public interface 2021-03-30 00:31:11 +02:00
Daniel Kolesa 4154944726 remove fixed-size argument stacks and reliance on argument ids 2021-03-30 00:28:06 +02:00
Daniel Kolesa 8385ab01e7 use bitset to store usedargs and increase argcount to 32 2021-03-28 23:46:08 +02:00
Daniel Kolesa a37eb25d1c move public state methods where they belong 2021-03-27 00:26:59 +01:00
Daniel Kolesa 0b2c4c7038 pass thread_state in more places 2021-03-26 02:29:54 +01:00
Daniel Kolesa 21aec59ad3 rename namespace to cubescript 2021-03-23 23:32:25 +01:00
Daniel Kolesa b9b344cba6 remove cs_ namespace in all API 2021-03-23 23:29:32 +01:00
Daniel Kolesa 2cc1b0e271 add cs_std.cc, drop cs_util.hh 2021-03-23 01:46:56 +01:00
Daniel Kolesa 702dca0809 separate ident and error impls into their own files 2021-03-22 22:33:15 +01:00