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