Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
2eab3ab
Share marshal ref table between code object and its internals
youknowone May 23, 2026
286b667
Align PYC magic number, FORMAT_VERSION, and header check with CPython…
youknowone May 23, 2026
5d1ec59
Accept CPython-tagged .pyc as read-only bytecode source
youknowone May 23, 2026
e28c037
Apply rustfmt to marshal helpers
youknowone May 23, 2026
1d5054b
Marshal PySlice from format version 4 instead of 5
youknowone May 23, 2026
0fbf849
Revert "Accept CPython-tagged .pyc as read-only bytecode source"
youknowone May 23, 2026
ce0ac61
Set marshal FORMAT_VERSION to 5 to match CPython 3.14.5
youknowone May 24, 2026
9365746
Thread marshal recursion depth through nested code objects
youknowone May 24, 2026
d4af69b
align compiler to CPython
youknowone May 25, 2026
3dc37d8
Align codegen with CPython compile.c
youknowone May 26, 2026
539f3ba
Align codegen IR with CPython CFG structures
youknowone May 27, 2026
8b57733
Match CPython CFG annotation offset arithmetic
youknowone May 27, 2026
11d9f92
Propagate CPython CFG label translation errors
youknowone May 27, 2026
b6cd398
Align CPython exception target labeling flow
youknowone May 27, 2026
cda874c
Propagate CPython CFG traversal stack allocation errors
youknowone May 27, 2026
e2fd26d
Match CPython optimize_load_fast allocation flow
youknowone May 27, 2026
9500d4e
Propagate CPython basicblock allocation errors
youknowone May 27, 2026
c45852b
Propagate CPython redundant NOP cleanup errors
youknowone May 27, 2026
a85d8f4
Propagate CPython unused const cleanup errors
youknowone May 27, 2026
71eb1d7
Propagate CPython const folding errors
youknowone May 27, 2026
13f4ef5
Propagate CPython swaptimize allocation errors
youknowone May 27, 2026
71f9bef
Match CPython list-to-tuple fold allocation
youknowone May 27, 2026
ed0ad74
Skip const folding on CPython allocation failures
youknowone May 27, 2026
1e0d4f9
Skip subscript folding on CPython allocation failures
youknowone May 27, 2026
af868ab
Propagate CPython assembler allocation errors
youknowone May 27, 2026
7571fbd
Propagate CPython localsplus allocation errors
youknowone May 27, 2026
bf31c4a
Propagate CPython localsplus setup allocation errors
youknowone May 27, 2026
df9e93f
Propagate CPython jump label map allocation errors
youknowone May 27, 2026
63cdf7e
Propagate CPython instruction sequence allocation errors
youknowone May 27, 2026
b639320
Propagate CPython instruction label allocation errors
youknowone May 27, 2026
67b6958
Guard CPython codegen block allocation
youknowone May 27, 2026
bb46442
Guard CPython label shadow allocation
youknowone May 27, 2026
9b5b6a1
Propagate CPython label shadow allocation errors
youknowone May 27, 2026
f39ff54
Align CPython c-array allocation updates
youknowone May 27, 2026
d093fa6
Align CPython ref stack growth
youknowone May 27, 2026
cc0fc01
Match CPython CFG builder debug check
youknowone May 27, 2026
3e0faec
Avoid Rust-only CFG append clone
youknowone May 27, 2026
657bc7d
Reuse CPython cleared block slots
youknowone May 27, 2026
fb20c2a
Use CPython block append in copy_basicblock
youknowone May 27, 2026
8a03dc3
Match CPython cfg builder creation order
youknowone May 27, 2026
1c3de54
Clear label map after CPython apply pass
youknowone May 27, 2026
f08bf9b
Match CPython cfg builder allocation check
youknowone May 27, 2026
a859ce8
Propagate CPython c-array size errors
youknowone May 27, 2026
fbdf356
Drop Rust-only label uniqueness check
youknowone May 27, 2026
fa41c61
Drop Rust-only label shadow debug checks
youknowone May 27, 2026
0a99332
Propagate CFG block index overflow
youknowone May 27, 2026
2076342
Propagate CFG label oparg overflow
youknowone May 27, 2026
58d4685
Model CPython basicblock instruction storage
youknowone May 27, 2026
4ee67ba
Drop Rust-only recorded CFG precheck
youknowone May 27, 2026
43aaa35
Model CPython instruction sequence storage
youknowone May 27, 2026
6e04622
Propagate instruction sequence offset overflow
youknowone May 27, 2026
a962997
Model CPython instruction sequence labels
youknowone May 27, 2026
41e0e42
Match CPython jump offset arithmetic
youknowone May 27, 2026
e66c76c
Match CPython exception table arithmetic
youknowone May 27, 2026
d1bf4df
Match CPython label index arithmetic
youknowone May 27, 2026
1599e47
Match CPython instruction offset casts
youknowone May 27, 2026
77add0d
Match CPython jump offset indexing
youknowone May 27, 2026
3efaa6f
Match CPython oparg locals casts
youknowone May 27, 2026
1b25273
Match CPython localsplus offset arithmetic
youknowone May 27, 2026
c074ef4
Match CPython cell prefix indexing
youknowone May 27, 2026
4274e1b
Match CPython C array growth arithmetic
youknowone May 27, 2026
a8be3a0
Match CPython label map allocation arithmetic
youknowone May 27, 2026
a301c3a
Match CPython label map size tracking
youknowone May 27, 2026
a3a8a9f
Use CPython label map size in sequence passes
youknowone May 27, 2026
2f97643
Assert CPython label map clearing invariants
youknowone May 27, 2026
518e447
Match CPython label oparg assignment
youknowone May 27, 2026
a63f61f
Match CPython compiler direct arithmetic
youknowone May 27, 2026
a8d4d15
Match CPython load fast local casts
youknowone May 27, 2026
c38475a
Match CPython load fast depth assert
youknowone May 27, 2026
8b3f726
Match CPython resume depth flagging
youknowone May 27, 2026
f021dfc
Match CPython stack depth arithmetic
youknowone May 27, 2026
6ab160e
Drop Rust-only stack overflow error
youknowone May 27, 2026
72ee5d8
Return CPython stack depth directly
youknowone May 27, 2026
0afe202
Match CPython C array growth errors
youknowone May 27, 2026
52e06c8
Match CPython instruction insert asserts
youknowone May 27, 2026
02d5c05
Match CPython unreachable pseudo jump
youknowone May 27, 2026
b2a5867
Match CPython CFG size guard
youknowone May 27, 2026
f86c378
Match CPython superinstruction assert
youknowone May 27, 2026
aa2be03
Match CPython redundant jump assert
youknowone May 27, 2026
6cea997
Match CPython stackdepth errors
youknowone May 27, 2026
527481e
Match CPython jump offset flow
youknowone May 27, 2026
616ae7d
Match CPython assembler buffer defaults
youknowone May 27, 2026
06ce5fe
Match CPython bytecode emit growth
youknowone May 27, 2026
ed3c754
Match CPython assembler entry growth
youknowone May 27, 2026
af7fa64
Match CPython assembler growth overflow check
youknowone May 27, 2026
4b8cfda
Match CPython remove_unreachable structure
youknowone May 27, 2026
9ec2638
Match CPython static swap flow
youknowone May 27, 2026
32c82c7
Inline CPython code unit preprocessing
youknowone May 27, 2026
3f55473
Match CPython C array growth checks
youknowone May 27, 2026
ff0e106
Match CPython label map size guard
youknowone May 27, 2026
b158977
Match CPython load-fast flow
youknowone May 27, 2026
01ad7f5
Simplify CPython CFG condition flow
youknowone May 27, 2026
6317144
Align exception fallthrough propagation
youknowone May 27, 2026
821149a
Match CPython pseudo target table
youknowone May 27, 2026
d9ab6b7
Match CPython annotations CFG assert
youknowone May 27, 2026
5afb44f
Match CPython inverted op assert
youknowone May 27, 2026
d65f063
Match CPython many-locals guard
youknowone May 27, 2026
9bb6e42
Reject deopt opcodes in CFG stack effects
youknowone May 27, 2026
bdfe523
Match CPython invalid stack effect error
youknowone May 27, 2026
cdcfac2
Test CPython deopt stack effect guard
youknowone May 27, 2026
77d971a
Match CPython load-fast extended-arg assert
youknowone May 27, 2026
d342ead
Match CPython instruction allocation asserts
youknowone May 27, 2026
bc92972
Match CPython basicblock last-instr asserts
youknowone May 27, 2026
32f01b7
Match CPython opcode range asserts
youknowone May 27, 2026
1a8c7fa
Assert CPython fallthrough line propagation invariant
youknowone May 27, 2026
41c972a
Assert CPython CFG target offset sign
youknowone May 27, 2026
2f8e23f
Assert CPython exception fallthrough invariant
youknowone May 27, 2026
eca1b1a
Assert CPython exception stack bounds
youknowone May 27, 2026
265d526
Assert CPython traversal stack allocation
youknowone May 27, 2026
9526995
Match CPython label-map allocation in shadow
youknowone May 27, 2026
72837ed
Mirror CPython label-map sentinel fill
youknowone May 27, 2026
a7aa5d8
Match CPython CFG builder allocation asserts
youknowone May 27, 2026
2012265
Match CPython exception stack structure
youknowone May 27, 2026
069d44c
Match CPython ref stack structure
youknowone May 27, 2026
45ef619
Match CPython CFG traversal stack structure
youknowone May 27, 2026
c947c05
Mirror CPython CFG traversal stack pointer
youknowone May 27, 2026
82d90b4
Use CPython fixed exception handler stack
youknowone May 27, 2026
d4130eb
Mirror CPython ref stack capacity field
youknowone May 27, 2026
c3d660c
Match CPython swap optimizer scratch stack
youknowone May 27, 2026
d88e575
Align static swap helpers with CPython blocks
youknowone May 27, 2026
9abe87b
Align swaptimize signature with CPython
youknowone May 27, 2026
5673b20
Match CPython redundant pair pass result
youknowone May 27, 2026
4cf0668
Match CPython inline pass result
youknowone May 27, 2026
84c5bd6
Match CPython redundant NOP pass results
youknowone May 27, 2026
d27e3ae
Fix bytecode metadata after upstream rebase
youknowone May 27, 2026
4d11097
Match CPython opcode stack metadata
youknowone May 27, 2026
17eb608
Add CPython identifiers to cspell dictionary
youknowone May 27, 2026
4390e6b
Fix CI failures from bytecode-parity work
youknowone May 27, 2026
b05b634
Resync generated opcode metadata
youknowone May 27, 2026
bd9c09c
Drop is_block_push has_arg invariant
youknowone May 27, 2026
6ea6985
Auto-generate has_eval_break and route AnyInstruction has_arg/has_con…
youknowone May 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .cspell.dict/cpython.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ CFWS
CLASSDEREF
classdict
cmpop
CNOTAB
codedepth
CODEUNIT
CONIN
Expand Down Expand Up @@ -98,19 +99,22 @@ HASUNION
heaptype
hexdigit
HIGHRES
ialloc
IFUNC
IMMUTABLETYPE
INCREF
inlinedepth
inplace
inpos
ioffset
isbytecode
ishidden
ismine
ISPOINTER
isoctal
iteminfo
Itertool
iused
keeped
kwnames
kwonlyarg
Expand All @@ -122,6 +126,7 @@ linearise
lineful
lineiterator
linetable
LNOTAB
loadfast
localsplus
localspluskinds
Expand All @@ -137,24 +142,30 @@ multibytecodec
nameobj
nameop
nargsf
nblocks
ncells
ncellsused
ncellvars
nconsts
newargs
newfree
NEWLOCALS
newsemlockobject
nextop
nfrees
nkwargs
nkwelts
nlocalsplus
nointerrupt
noffsets
Nondescriptor
noninteger
nops
noraise
nseen
NSIGNALS
numer
nvars
opname
opnames
orelse
Expand Down Expand Up @@ -220,6 +231,7 @@ subparams
subscr
sval
swappedbytes
swaptimize
sysdict
tbstderr
templatelib
Expand All @@ -240,6 +252,7 @@ uncollectable
Unhandle
unparse
unparser
untargeted
untracking
VARKEYWORDS
varkwarg
Expand Down
2 changes: 0 additions & 2 deletions Lib/test/test_compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -2580,15 +2580,13 @@ def test_set(self):
def test_dict(self):
self.check_stack_size("{" + "x:x, " * self.N + "x:x}")

@unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: 102 not less than or equal to 6
def test_func_args(self):
self.check_stack_size("f(" + "x, " * self.N + ")")

def test_func_kwargs(self):
kwargs = (f'a{i}=x' for i in range(self.N))
self.check_stack_size("f(" + ", ".join(kwargs) + ")")

@unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: 102 not less than or equal to 6
def test_meth_args(self):
self.check_stack_size("o.m(" + "x, " * self.N + ")")

Expand Down
2 changes: 0 additions & 2 deletions Lib/test/test_dis.py
Original file line number Diff line number Diff line change
Expand Up @@ -1211,14 +1211,12 @@ def test_disassemble_coroutine(self):
def test_disassemble_fstring(self):
self.do_disassembly_test(_fstring, dis_fstring)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_disassemble_with(self):
self.do_disassembly_test(_with, dis_with)

def test_disassemble_asyncwith(self):
self.do_disassembly_test(_asyncwith, dis_asyncwith)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_disassemble_try_finally(self):
self.do_disassembly_test(_tryfinally, dis_tryfinally)
self.do_disassembly_test(_tryfinallyconst, dis_tryfinallyconst)
Expand Down
1 change: 0 additions & 1 deletion Lib/test/test_monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -1624,7 +1624,6 @@ def whilefunc(n=0):
('branch left', 'func', 44, 50),
('branch right', 'func', 28, 70)])

@unittest.expectedFailure # TODO: RUSTPYTHON; - bytecode layout differs from CPython
def test_except_star(self):

class Foo:
Expand Down
Loading
Loading