Daniel Kolesa
4588ae2373
separate cs_state, cs_std
2021-03-23 01:11:21 +01:00
Daniel Kolesa
702dca0809
separate ident and error impls into their own files
2021-03-22 22:33:15 +01:00
Daniel Kolesa
f9a49ffba7
get rid of emptyblock
2021-03-22 22:01:49 +01:00
Daniel Kolesa
63251f0eac
add cs_callable to replace std::function
...
now function data can be allocated with our own allocator as
well, plus we get guarantees on small storage; this type is
move-only, and it's also more memory efficient than std::function,
at least the libstdc++ implementation
2021-03-22 01:01:51 +01:00
Daniel Kolesa
45bf6ed7ef
fix crash on quit where interfaces are destroyed instead of impls
2021-03-21 06:20:56 +01:00
Daniel Kolesa
436098cc38
drop the whole cs_alias_internal nonsense
2021-03-21 02:59:37 +01:00
Daniel Kolesa
f8eb07ee2b
hide implementation details of idents
2021-03-21 02:47:02 +01:00
Daniel Kolesa
be71d3a4b9
rework allocator errors and error message storage buffer
2021-03-20 21:06:26 +01:00
Daniel Kolesa
82d366366e
drop libostd requirement entirely
2021-03-20 08:23:51 +01:00
Daniel Kolesa
cb926a5750
get rid of ostd requirements inside library entirely
2021-03-20 07:24:25 +01:00
Daniel Kolesa
320fdbaefd
use c++20 std::span
2021-03-20 05:41:25 +01:00
Daniel Kolesa
4068c96ec2
remove the auxiliary run_<type> APIs, they are fairly useless now
2021-03-20 05:14:14 +01:00
Daniel Kolesa
5648c1a757
use string_view everywhere that returns or takes a string
2021-03-20 04:10:27 +01:00
Daniel Kolesa
70d7e15ed5
eliminate cs_vector/cs_map, use our allocator for all state
2021-03-19 23:05:19 +01:00
Daniel Kolesa
2e725771e4
eliminate remaining cs_string
2021-03-19 22:35:39 +01:00
Daniel Kolesa
4e5e0f5de8
get rid of cs_string in codegen
2021-03-19 22:25:38 +01:00
Daniel Kolesa
64d9c0e749
make intstr/floatstr internal to cs_value
2021-03-19 00:12:47 +01:00
Daniel Kolesa
704f9217f7
unify enum style
2021-03-18 20:55:14 +01:00
Daniel Kolesa
6ed9ae1235
get rid of standard i/o inside vm
2021-03-18 00:03:30 +01:00
Daniel Kolesa
fb8668a508
use more stringrefs
2021-03-17 23:32:38 +01:00
Daniel Kolesa
7eaf3679a4
get rid of cs_value::get_strr
2021-03-17 21:59:37 +01:00
Daniel Kolesa
2f5bb697eb
use string refs more instead of allocated strings
2021-03-17 21:46:37 +01:00
Daniel Kolesa
e3cff816c7
reduce copying strings around (ensure refs are not erased)
2021-03-17 21:00:19 +01:00
Daniel Kolesa
64130a12bf
remove handling of constants from codegen, bytecode and cs_value
...
also drop move semantics on cs_value
2021-03-17 20:41:08 +01:00
Daniel Kolesa
c004db42c6
refactor cs_value and related structures to contain state
...
this will allow us to intern strings inside cs_value
2021-03-17 01:26:30 +01:00
Daniel Kolesa
dcae5b30b2
initial implementation of unique/interned string manager
2021-03-16 00:45:09 +01:00
Daniel Kolesa
8805594bc2
style fixes
2018-04-27 23:53:55 +02:00
Daniel Kolesa
fb78b4acdd
initial support for "threads"
2018-04-26 19:23:11 +02:00
Daniel Kolesa
efdc82324e
fix includes
2017-06-20 21:21:39 +02:00
Daniel Kolesa
f0f6dc437f
fix build
2017-04-17 17:13:14 +02:00
Daniel Kolesa
6b17c4594f
remove slice_until
2017-03-31 03:18:26 +02:00
Daniel Kolesa
70ef1ff486
stuff
2017-03-31 03:10:36 +02:00
Daniel Kolesa
73699bd1cf
use std::min, max, clamp
2017-02-18 17:49:01 +01:00
Daniel Kolesa
e87b1b566c
use appender_range directly
2017-02-18 17:28:43 +01:00
Daniel Kolesa
8343979e03
fix build after style update
2017-02-16 19:07:22 +01:00
Daniel Kolesa
41eb8b211f
begin naming scheme rework
2017-02-13 18:11:19 +01:00
Daniel Kolesa
140ccf08c6
add cs_internal_error exception and use it for unrecoverable unlikely errors
2017-02-12 22:52:43 +01:00
Daniel Kolesa
6e67ce8574
clean up pointerrange constructor
2017-02-09 22:54:09 +01:00
Daniel Kolesa
d88e9de11a
use unordered_map
2017-01-31 19:28:34 +01:00
Daniel Kolesa
58bf658409
update according to ostd
2017-01-30 19:38:11 +01:00
Daniel Kolesa
8dc423dcaa
update according to ostd
2017-01-30 01:18:55 +01:00
Daniel Kolesa
1c5c0939e1
use size_t
2017-01-25 02:09:50 +01:00
Daniel Kolesa
d14c8f8593
update to latest ostd
2017-01-25 01:57:33 +01:00
Daniel Kolesa
57478f6866
move to std::vector
2017-01-25 01:18:29 +01:00
Daniel Kolesa
c4471b71bf
unexpose allocator related stuff from public API
2016-10-03 19:23:15 +02:00
Daniel Kolesa
4353bb7904
move allocator into shared state
2016-10-02 13:56:55 +02:00
Daniel Kolesa
62d4afccd2
remove set_mstr
2016-09-15 23:09:52 +02:00
Daniel Kolesa
845232605d
remove the out stream and re-do the var printing system
2016-09-15 21:59:11 +02:00
Daniel Kolesa
192ce615d8
remove get_err/set_err
2016-09-15 21:27:14 +02:00
Daniel Kolesa
f12197bbe5
throw CsErrorException where appropriate (robust error handling everywhere)
2016-09-15 21:15:54 +02:00