K. Lange
1ac8f296b2
Invalidate caches of subclass method pointers when they change in a superclass
2022-05-27 00:05:27 +09:00
K. Lange
1c5fc954ed
Update copyright years, it's been 2022 for a while now
2022-05-26 20:46:06 +09:00
K. Lange
3601411f54
Support step value in range()
2022-05-26 20:41:39 +09:00
K. Lange
1acd0243e4
Workaround horrible thread-local performance on macOS (aarch64)
2022-05-24 21:01:42 +09:00
K. Lange
74e064c82c
Test case for preceding fix
2022-05-24 13:33:34 +09:00
K. Lange
b9776aec1e
Revert loop on 'for ... if ...'
2022-05-24 13:27:01 +09:00
K. Lange
341fd877d5
New optimized loop and jump instructions
2022-05-23 22:14:22 +09:00
K. Lange
657a02af29
Reduce recursion overhead when calling objects
2022-05-23 22:14:01 +09:00
K. Lange
c4b83396df
More efficient bool, int comparisons, sometimes
2022-05-23 21:10:09 +09:00
K. Lange
c38e78e21c
Fast-case listiterator.__call__ instanceof check
...
It's highly unlikely this class is subclassed, and it can
be called a lot of times in a loop.
2022-05-23 21:09:03 +09:00
K. Lange
d0c2f8cec2
Cleanup memory size debugger, no need for external hashmap
2022-05-23 13:25:33 +09:00
K. Lange
cb14875406
Catch exceptions early in timeit.timeit
2022-05-23 10:16:07 +09:00
K. Lange
4a052191de
Support 'else' blocks on for and while loops
2022-05-23 09:41:12 +09:00
K. Lange
ece7da299a
Support = to print f-string expression alongside value
2022-05-23 08:42:40 +09:00
K. Lange
78e85ce873
Support an extensive memory debugging process, if you provide some extra files
2022-05-21 21:10:57 +09:00
K. Lange
27278cfa68
Fixup allocation size for bytes literals
2022-05-21 20:39:47 +09:00
K. Lange
953e57fa0d
Fix two more instances of bad alloc/dealloc pairings
2022-05-21 20:05:16 +09:00
K. Lange
73c82e0868
Fixup display of gc debug info on 32-bit platforms
2022-05-21 19:18:30 +09:00
K. Lange
a50cfc63a7
Fix tracking of memory from instances of objects with allocSize != sizeof(Instance)
2022-05-21 19:18:13 +09:00
K. Lange
9b1875d8ce
Fix incorrect memory usage tracking of taken strings
2022-05-21 19:15:04 +09:00
K. Lange
b6e591601b
Fix incorrect memory usage tracking of code object line mappings
2022-05-21 19:14:50 +09:00
K. Lange
81f78b9199
fixup potential leaks when os.exec*() family fails
2022-05-21 19:14:24 +09:00
K. Lange
7c4b129b7c
Dict unpacking should only happen on dicts, or we're going to have a bad time
2022-05-19 11:05:55 +09:00
K. Lange
396b8c0ae3
Inline string equality check to save overhead of object.__eq__ call
2022-05-05 16:14:15 +09:00
K. Lange
5df1469ba1
Optimized method invoke
2022-05-05 11:41:05 +09:00
K. Lange
d947e1aba3
Add bound method call test to benchmark suite
2022-05-05 08:23:49 +09:00
K. Lange
f8139f9352
Add versions, local Kuroko to benchmark
2022-05-05 08:23:40 +09:00
K. Lange
246316ad59
v1.2.5
2022-05-03 16:49:58 +09:00
K. Lange
6613db6cd4
Implement slice objects, slice stepping
...
This is an initial implementation of slice stepping and slice objects.
The __getslice__, __setslice__, and __delslice__ methods have been removed.
Slice expressions are now turned into slice objects with the OP_SLICE instruction.
Slice objects have a start, end, and step, all of which default to None.
Slice objects are passed to __getitem__, et al., as a normal parameter.
Support for slices in list.__getitem__, str.__getitem__, and bytes.__getitem__ has
been implemented.
2022-05-03 16:49:58 +09:00
K. Lange
c750f76a57
Assign non-None REPL results to __builtins__._
2022-04-13 22:34:45 -04:00
K. Lange
c5b95645a7
Support KUROKOPATH similar to PYTHONPATH
2022-03-31 18:01:12 +09:00
K. Lange
dbd1071bc1
Internalize random's rng, seed it with more bits
2022-03-29 10:17:36 +09:00
K. Lange
e815497555
Fixup bad recursive locks in list functions?
2022-03-29 09:42:56 +09:00
K. Lange
73bfd17364
Improve some common string manipulation functions
2022-03-27 20:50:16 +09:00
K. Lange
b651f96094
Add random.seed
2022-03-27 16:32:12 +09:00
K. Lange
4c96839d1b
Add os.get_terminal_size
2022-03-27 16:25:30 +09:00
K. Lange
799952c298
Fix str.replace when replacement string contains nil bytes
2022-03-24 10:23:52 +09:00
K. Lange
e24ea3d32c
Fix incorrect handling of blank and comment lines before 'else', 'except', etc.
2022-02-17 09:49:24 +09:00
K. Lange
c1f2c7d9f3
Improve GC debug output and switch to a more aggressive strategy beyond 128MiB
2021-12-31 21:58:08 +09:00
K. Lange
38f3b6fa22
Allow 'del' on locals, upvalues as a shorthand for 'None' assignment
2021-12-31 21:57:25 +09:00
K. Lange
7c879c9675
Raise an exception on invalid sequence element lengths
2021-12-22 08:28:23 +09:00
K. Lange
7a7bb5662c
Support sequence unpack for dict.__init__, fixes #23
2021-12-22 08:23:07 +09:00
K. Lange
e01ce6d93d
Support {{ / }} in f-strings properly
2021-12-22 08:22:49 +09:00
K. Lange
c70cfb0533
Remove erroneously committed binaries?
2021-12-21 22:24:28 +09:00
K. Lange
836612fb75
Windows fixes
2021-12-20 16:49:44 +09:00
K. Lange
3f84dcbd86
Why am I even doing this
2021-12-20 16:44:02 +09:00
K. Lange
0cac488fae
1.2.4
2021-12-20 16:19:41 +09:00
K. Lange
773206680e
add dict.values, dictvalues iterator
2021-12-20 16:16:11 +09:00
K. Lange
c4fced350e
dict should be iterable; make __iter__() an alias to keys()
2021-12-20 16:09:28 +09:00
K. Lange
a81aa80420
os.exit
2021-12-20 16:06:15 +09:00