Commit Graph

843 Commits

Author SHA1 Message Date
K. Lange
444cb28d06 Drop krk_callSimple
Replace it with two functions that won't run into issues with
trying to call bound objects, instances, etc. that weren't on
the stack. In general, if you have a callable value of unknown
type you should call `krk_callStack` with it on the stack followed
by all of its args; to make this abundantly clear, `krk_callStack`
only takes the argument count. For calling things we know to be
safe (closures and natives), there is `krk_callDirect`, which should
be used, for example, when calling core methods like __repr__.
2021-04-17 19:29:52 +09:00
K. Lange
bc27feca69 Sporadic doc improvements 2021-04-17 17:33:45 +09:00
K. Lange
a87a1a40f5 Finish up stage 2 of the compiler cleanup 2021-04-17 12:11:11 +09:00
K. Lange
8fddcb9a8f Part one of my big compiler cleanup... 2021-04-17 09:27:08 +09:00
K. Lange
e4db90d392 Update benchmark suite with fair timing and micropython support 2021-04-16 19:58:05 +09:00
K. Lange
de76ba5394 Do not disable GC in timeit module 2021-04-16 19:57:16 +09:00
K. Lange
96fa1c1f79 Fix completing members of builtins in the repl 2021-04-16 17:58:52 +09:00
K Lange
34b74eae57 See if we can make Github run the benchmark suite or if I need to install CPython... 2021-04-15 20:00:05 +09:00
K Lange
31ddabfdce Free thread state data when threads complete and when we freeVM 2021-04-15 19:37:58 +09:00
K. Lange
84765c1f4d Update test for change in dict ordering 2021-04-14 22:32:51 +09:00
K. Lange
5f766a5726 Add benchmark suite 2021-04-14 22:25:22 +09:00
K. Lange
37c3101578 Commit to power-of-two table capacities 2021-04-14 21:47:23 +09:00
K. Lange
3e165a5e11 Cleanup valueGetProperty and fix native class method binding 2021-04-14 18:31:59 +09:00
K. Lange
477a0978c0 Add a quick timeit.timeit implementation as a C module 2021-04-14 18:02:30 +09:00
K. Lange
fe30d2c0fe time.time() should include fractional seconds where possible 2021-04-14 17:58:53 +09:00
K. Lange
a29086fcc3 Record and rewind linemap counts and constant counts when backtracking 2021-04-14 14:59:17 +09:00
K. Lange
0c8f243f8e I think we can move that to the padding that was the watchdog timer... 2021-04-14 14:33:38 +09:00
K. Lange
0fe9304631 Try to be more specific about invalid assignment/delete targets in error messages? 2021-04-14 14:29:01 +09:00
K. Lange
933a3f8249 Cleanup for exprType 2021-04-14 14:28:45 +09:00
K. Lange
6b67b9b605 Clean up logic for del targets
It's effectively the same, and we still need to mark when the del
has been satisfied because of how the parsing of EOL works, but
now we can group dels with assignments and the logic chain makes
a bit more sense.
2021-04-14 14:00:10 +09:00
K. Lange
b69d4593ea Simplify creation of anonymous locals 2021-04-14 13:28:05 +09:00
K. Lange
0255debec8 Bind __class_getitem__ as a class method for list/dict/function 2021-04-13 22:21:31 +09:00
K Lange
791cdb321c Update help module with correct LICENSE text... 2021-04-12 21:00:15 +09:00
K. Lange
bdd5e3dcef DELSLICE should not push result 2021-04-12 18:25:50 +09:00
K. Lange
9098ae4f66 v1.1.0-rc1 2021-04-12 12:14:43 +09:00
K. Lange
900e8fb487 Invert debugging-related build flags 2021-04-12 12:05:35 +09:00
K. Lange
2e378eca19 Update README for removed build flags 2021-04-12 11:52:26 +09:00
HarJIT
807f3e27ba
Bit of a facepalm moment (re-add the WHATWG-specified one-way katakana (#9)
mappings for ISO-2022-JP, which went missing when I made it wrap the
EUC-JP index to save space).
2021-04-11 12:03:27 +09:00
K. Lange
1e37b94658 More cleanups 2021-04-10 21:45:07 +09:00
K. Lange
7111294f3e Build with -pthread even though I don't know if it matters 2021-04-10 20:02:34 +09:00
K. Lange
b83e9ca963 Minor cleanups from clang analysis 2021-04-10 19:22:29 +09:00
K. Lange
a9adf8236e After a long day of messing around, just build -O2 instead of -O3... 2021-04-10 16:09:07 +09:00
K Lange
828d160584 Try to clean up unlikely/likely usage 2021-04-09 23:15:11 +09:00
K Lange
f29aac816a Link against archive file so we build it, rather than against objects directly... 2021-04-09 21:58:20 +09:00
K. Lange
dc91091de4 Build static archive; build static interpreter where possible 2021-04-09 21:50:44 +09:00
K. Lange
40dcc7e4ea Ignore .lo files 2021-04-09 21:45:27 +09:00
K. Lange
20eb921c55 Add an extra flag so we can force stuff external stuff to build without direct TLS references 2021-04-09 21:45:13 +09:00
K. Lange
744946f14b Get clang to stop complaining about fallthrough attribute 2021-04-09 21:44:47 +09:00
HarJIT
0ef38bb6ee
Corrected documentation for iso-2022-jp-ext (implementation unchanged) (#8) 2021-04-09 17:59:39 +09:00
K. Lange
562b3b4122 Update license flag when building deb package 2021-04-09 17:47:32 +09:00
K. Lange
8d6561831b Accede fully to MIT for license terms
Previously Kuroko as ISC with an additional copy of the MIT
terms attributing components based on _Crafting Interpreters_.
The MIT license remains more well known, and in Berne signatory
states (anywhere I'd be okay taking a vacation), is legally
equivalent to the ISC license and other licenses I use in
other places. Before anyone else contributes to core, I am
relicensing fully under just the MIT for cleanliness.
2021-04-09 17:42:25 +09:00
K. Lange
b5f3ad3309 Compact the opcode list since we ditched the operand encoding 2021-04-09 16:43:38 +09:00
K. Lange
a932147ceb Inline better operand collectors 2021-04-09 14:41:23 +09:00
K. Lange
76264c5e35 Simplify stack push/pop for potentially better inlining? 2021-04-08 21:04:03 +09:00
K. Lange
8a289a25d8 Mark krk_runtimeError as a format string function 2021-04-08 21:02:16 +09:00
K. Lange
42fdb59321 Minor cleanup 2021-04-08 20:23:22 +09:00
K. Lange
33e0b295f1 Remove unused OP_INC 2021-04-08 08:43:03 +09:00
K. Lange
817140dac1 Reset the parser when starting a new source compilation 2021-04-07 12:15:29 +09:00
K. Lange
fa3020143b Sporadic cleanup 2021-04-06 20:41:31 +09:00
K. Lange
1f76e7a846 Minimal support for raw string literals 2021-04-06 20:41:16 +09:00