Daniel Kolesa
f8eb07ee2b
hide implementation details of idents
2021-03-21 02:47:02 +01:00
Daniel Kolesa
3905ff0e9d
fix/clean up compileblockstr
2021-03-21 00:00:20 +01:00
Daniel Kolesa
be71d3a4b9
rework allocator errors and error message storage buffer
2021-03-20 21:06:26 +01:00
Daniel Kolesa
d7c93fa8b9
make format errors internal errors
2021-03-20 19:54:46 +01:00
Daniel Kolesa
2f3d5ea938
further clean up list parser api
2021-03-20 19:34:51 +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
68669413cc
get rid of most remaining ostd usage
2021-03-20 06:52:10 +01:00
Daniel Kolesa
10b2a81cec
redo (un)escape_string around output iterators
2021-03-20 06:18:31 +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
d626fba537
remove file exec api
...
this is something each thing will want to do on its own...
but add a new set of calls that take code source for debug info
2021-03-20 05:10:19 +01:00
Daniel Kolesa
55d5397f4f
implement move behavior for cs_value
...
this prevents things from going horribly wrong when people
do move the values (since the implicit implementations don't
take care of handling the refcounts)
2021-03-20 04:49:47 +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
ac1af69d96
move cs_valbuf/charbuf before cs_shared_state
2021-03-19 22:54:22 +01:00
Daniel Kolesa
f41462deaf
move cs_allocator out of cs_shared_state
2021-03-19 22:53:42 +01:00
Daniel Kolesa
b81e419db6
get rid of cs_vector in most places
2021-03-19 22:49:52 +01:00
Daniel Kolesa
0ca8561d5d
add cs_valbuf
2021-03-19 22:40:11 +01:00
Daniel Kolesa
2e725771e4
eliminate remaining cs_string
2021-03-19 22:35:39 +01:00
Daniel Kolesa
fece7ce769
get rid of most remaining cs_string
2021-03-19 22:32:28 +01:00
Daniel Kolesa
4e5e0f5de8
get rid of cs_string in codegen
2021-03-19 22:25:38 +01:00
Daniel Kolesa
b27f8dee91
use state's allocator to manage cs_strman resources
2021-03-19 03:10:02 +01:00
Daniel Kolesa
47b87ab936
get rid of cs_string in lib_list
2021-03-19 02:55:59 +01:00
Daniel Kolesa
e74d8b5bef
get rid of cs_string in lib_str
2021-03-19 02:50:48 +01:00
Daniel Kolesa
5ee7e27839
add cs_charbuf (mutable buffer controlled by our allocator)
...
also use it in a few places
2021-03-19 02:44:29 +01:00
Daniel Kolesa
5a4cccf194
move strref impl to cs_util
2021-03-19 02:28:30 +01:00
Daniel Kolesa
08212df80f
move shared state into cs_util
2021-03-19 02:27:36 +01:00
Daniel Kolesa
126d6ab2b6
use a stolen buffer for strupper/lower
2021-03-19 01:31:34 +01:00
Daniel Kolesa
b42da1e56f
add custom buffer allocation into string manager
2021-03-19 01:00:11 +01:00
Daniel Kolesa
af1a85fb91
get rid of public format_int/float (use cs_value)
2021-03-19 00:34:12 +01:00
Daniel Kolesa
26bcc43578
get rid of tvals_concat in favor of simpler api
2021-03-19 00:31:18 +01:00
Daniel Kolesa
64d9c0e749
make intstr/floatstr internal to cs_value
2021-03-19 00:12:47 +01:00
Daniel Kolesa
b534a6d9af
get rid of some unnecessary string allocs
2021-03-19 00:01:57 +01:00
Daniel Kolesa
d3ec4a47dd
ditch cs_string from public headers + style fix
2021-03-18 23:56:25 +01:00
Daniel Kolesa
9d0494a9da
replace list_parser with a simpler api
2021-03-18 23:53:16 +01:00
Daniel Kolesa
704f9217f7
unify enum style
2021-03-18 20:55:14 +01:00
Daniel Kolesa
7023e09049
don't use memcpy for non-trivial structures
2021-03-18 01:37:38 +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
8b7f36319d
eliminate length field in cs_value
2021-03-17 21:16:25 +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
8def7ce85c
intern all strings in cs_value
2021-03-17 02:47:34 +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
8c77724f88
return alias value by value
2021-03-17 00:32:25 +01:00
Daniel Kolesa
9a1b47196a
require meson 0.50
2021-03-16 00:56:19 +01:00
Daniel Kolesa
5b104da85b
more generic handling of warning args and default to debugoptimized
2021-03-16 00:52:23 +01:00