Commit Graph

63 Commits (82d366366e1c9dedf2d1401cc7d603546ed55a3a)

Author SHA1 Message Date
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
Daniel Kolesa 38c17d1911 implement break/continue in bytecode 2016-09-15 02:12:22 +02:00
Daniel Kolesa b0917ade03 use type inference for shorter command funcs 2016-09-15 00:42:19 +02:00
Daniel Kolesa c5772f0720 add loop control (break and continue) 2016-09-14 23:24:13 +02:00
Daniel Kolesa b20eb94a9e alloc error stack using CsState 2016-09-14 21:46:47 +02:00
Daniel Kolesa e7f3213588 custom allocf support 2016-09-14 21:33:32 +02:00
Daniel Kolesa e41c3c03a1 use exceptions to throw errors 2016-09-14 00:14:21 +02:00
Daniel Kolesa 4510e53916 use normal exception handling to handle errors C++-side, also guarantee valid pointer from alloc 2016-09-13 23:47:06 +02:00
Daniel Kolesa f97f896017 throwing errors now does not allocate (besides the stack) 2016-09-12 21:47:29 +02:00