Commit Graph

37 Commits

Author SHA1 Message Date
K. Lange
6f95124bcd Threading
Don't be deceived by its size: this commit is mostly a bunch of
sed replacements to move thread state out of "vm" and introduce
a thread-local "KrkThreadState" object to hold stack pointers and
call frames for individual threads.

Threading support is incomplete and there's almost definitely a
bunch of really easy ways to break everything just by allocating
objects, but really simple stuff like carefully modifying a
a list of ints should work okay.

The README has been rewritten to remove code samples, which have
moved to the Wiki (as has the section on integrating with C).

Some other stuff has also moved around because the threading changes
necessitated a major API break anyway, so I also took the time to
fix some ABI issues.
2021-02-09 18:51:09 +09:00
K. Lange
20676f790e bump libc for deb to 2.29
math module built on Ubuntu 20.04 has a symbol dep for 2.29 for
log, pow, exp
2021-02-09 09:16:02 +09:00
K. Lange
b3b56c8e44 Clean up Makefile and add install target 2021-02-08 17:36:03 +09:00
K. Lange
90b219cdce Eliminate builtins.krk 2021-02-05 17:22:08 +09:00
K. Lange
8388e53235 Improve build support and prep a 1.0.1 bugfix 2021-01-31 11:00:01 +09:00
K. Lange
070a11b461 Makefile changes from building for macos 2021-01-21 21:09:01 +09:00
K. Lange
f1811fe23c Fixup Makefile after relocating files 2021-01-21 18:45:16 +09:00
K. Lange
b4344f7d21 Start reorganizing codebase 2021-01-21 09:11:55 +09:00
K Lange
d4c601ba75 Link with -lm when bundling. 2021-01-20 22:35:16 +09:00
K Lange
e5bda9df8d Use ms_printf format strings in Windows so we can print our long longs 2021-01-19 23:28:26 +09:00
K. Lange
dd22d86abe If we are going to link the modules back to libkuroko, it needs to be built first... 2021-01-19 13:58:34 +09:00
K Lange
a9b04cceb2 Experimental Windows support 2021-01-19 12:52:22 +09:00
K. Lange
9d9d5d5be7 Add math module 2021-01-16 10:18:19 +09:00
K. Lange
cc236b8da3 Add stress-test target to run valgrind 2021-01-12 07:34:42 +09:00
K. Lange
881864a5b2 'make test' should get an exit code from 'git diff' 2021-01-09 14:01:21 +09:00
K. Lange
0599ad0775 Replace Makefile.static with a complicated combination of config options 2021-01-08 20:26:29 +09:00
K. Lange
0d2e115c93 Make sure we rebuild everything on a header file change... 2021-01-08 16:53:17 +09:00
K. Lange
3735b9c16b Raise KeyboardInterrupt on ^C 2021-01-08 16:40:43 +09:00
K. Lange
80c307e12a Remove src/*.o on 'make clean' 2021-01-08 12:15:53 +09:00
K. Lange
ee518f9643 Fix two symbols missing namespacing prefixes 2021-01-08 06:49:27 +09:00
K Lange
3823270a8b Set interpreter rpath to $ORIGIN 2021-01-07 22:52:38 +09:00
K Lange
f9832be57c Typos and such 2021-01-07 20:42:25 +09:00
K. Lange
0c4c4c95f9 Add module class with nice repr 2021-01-07 12:13:47 +09:00
K. Lange
e19e45c59b Simplify builtins.c generation 2021-01-07 08:39:46 +09:00
K. Lange
3cc8e8ef79 Don't build rline into libkuroko.so 2021-01-06 10:39:27 +09:00
K. Lange
d87fd9b1bd Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
K. Lange
5ae4f135bf Build with VM as shared library, as we do in Toaru 2021-01-02 14:51:01 +09:00
K. Lange
a4ba3a3d02 don't clean builtins.c 2021-01-02 09:49:41 +09:00
K. Lange
aa3674dd32 implement shared object module support 2020-12-31 15:48:39 +09:00
K. Lange
0031048ff7 Fix missing nil terminator in _builtins_src[] 2020-12-31 13:50:17 +09:00
K. Lange
eb17af8076 Embed __builtins__ source directly 2020-12-29 18:50:18 +09:00
K. Lange
56e7f3aa02 Not actually slower to include the debug branches 2020-12-29 08:22:37 +09:00
K Lange
27f888543d let's build things for a faster vm by default 2020-12-28 16:31:53 +09:00
K. Lange
3ba8025eeb lots of fixups so we can create dicts from the vm 2020-12-28 20:38:26 +09:00
K Lange
5a5c597033 little repl improvements 2020-12-28 11:25:42 +09:00
K Lange
ac15ca117c Clean up some pedantic warning stuff 2020-12-28 11:11:50 +09:00
K. Lange
14aeea5f5b through chapter 19 of Crafting Interpreters 2020-12-26 09:32:21 +09:00