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