Skip to content

Fix workspace Clippy warnings without crate-wide allows - #1165

Merged
youknowone merged 8 commits into
mainfrom
ec-wiring
Aug 12, 2026
Merged

Fix workspace Clippy warnings without crate-wide allows#1165
youknowone merged 8 commits into
mainfrom
ec-wiring

Conversation

@youknowone

Copy link
Copy Markdown
Owner

Summary

  • resolve workspace Clippy warnings through code and API fixes
  • preserve RPython structural parity with narrowly scoped, reasoned expectations only where generated code or macro expansion requires them
  • avoid adding crate-level or item-level allow attributes

Validation

  • cargo clippy --workspace --all-targets --features dynasm -- -D warnings
  • cargo check --features dynasm
  • cargo test --features dynasm
  • cargo test --workspace --features dynasm
  • cargo fmt --all -- --check
  • dynasm and cranelift benchmark suites: 17/17 passed on each backend
  • LLBC artifacts re-extracted and fingerprint checks passed

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 242 files, which is 142 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b1249b3b-482c-442e-94ae-789445a2c469

📥 Commits

Reviewing files that changed from the base of the PR and between e8d0093 and d227d75.

📒 Files selected for processing (242)
  • majit/examples/braininterp/src/interp.rs
  • majit/examples/braininterp/src/main.rs
  • majit/examples/cel/src/colscalar.rs
  • majit/examples/dualtape/src/interp.rs
  • majit/examples/tiny2/src/interp.rs
  • majit/examples/tiny2/src/jit_interp.rs
  • majit/examples/tiny3/src/interp.rs
  • majit/examples/tiny3/src/jit_interp.rs
  • majit/examples/tl/src/interp.rs
  • majit/examples/tla/src/interp.rs
  • majit/examples/tlr/src/interp.rs
  • majit/majit-backend-cranelift/src/compiler.rs
  • majit/majit-backend-cranelift/src/lib.rs
  • majit/majit-backend-cranelift/tests/integration.rs
  • majit/majit-backend-dynasm/src/aarch64/assembler.rs
  • majit/majit-backend-dynasm/src/aarch64/mod.rs
  • majit/majit-backend-dynasm/src/aarch64/opassembler.rs
  • majit/majit-backend-dynasm/src/aarch64/regalloc.rs
  • majit/majit-backend-dynasm/src/codebuf.rs
  • majit/majit-backend-dynasm/src/gcmap.rs
  • majit/majit-backend-dynasm/src/j2plan.rs
  • majit/majit-backend-dynasm/src/lib.rs
  • majit/majit-backend-dynasm/src/regalloc.rs
  • majit/majit-backend-dynasm/src/runner.rs
  • majit/majit-backend-wasm/src/codegen.rs
  • majit/majit-backend-wasm/src/lib.rs
  • majit/majit-backend/src/call_stub.rs
  • majit/majit-backend/src/finish_descrs.rs
  • majit/majit-backend/src/jitframe.rs
  • majit/majit-backend/src/model.rs
  • majit/majit-gc/src/rewrite.rs
  • majit/majit-ir/src/descr.rs
  • majit/majit-ir/src/intbound.rs
  • majit/majit-ir/src/operand.rs
  • majit/majit-ir/src/value.rs
  • majit/majit-macros/src/jit_interp/jitcode_lower/api.rs
  • majit/majit-macros/src/jit_interp/jitcode_lower/mod.rs
  • majit/majit-macros/tests/macros.rs
  • majit/majit-metainterp/src/blackhole.rs
  • majit/majit-metainterp/src/call_descr.rs
  • majit/majit-metainterp/src/compile.rs
  • majit/majit-metainterp/src/executor.rs
  • majit/majit-metainterp/src/graphpage.rs
  • majit/majit-metainterp/src/history.rs
  • majit/majit-metainterp/src/jit.rs
  • majit/majit-metainterp/src/jit_state.rs
  • majit/majit-metainterp/src/jitcode/assembler.rs
  • majit/majit-metainterp/src/jitcode/mod.rs
  • majit/majit-metainterp/src/jitdriver.rs
  • majit/majit-metainterp/src/jitexc.rs
  • majit/majit-metainterp/src/opencoder.rs
  • majit/majit-metainterp/src/optimizeopt/bridgeopt.rs
  • majit/majit-metainterp/src/optimizeopt/dependency.rs
  • majit/majit-metainterp/src/optimizeopt/guard.rs
  • majit/majit-metainterp/src/optimizeopt/heap.rs
  • majit/majit-metainterp/src/optimizeopt/info.rs
  • majit/majit-metainterp/src/optimizeopt/intdiv.rs
  • majit/majit-metainterp/src/optimizeopt/intutils.rs
  • majit/majit-metainterp/src/optimizeopt/mod.rs
  • majit/majit-metainterp/src/optimizeopt/optimizer.rs
  • majit/majit-metainterp/src/optimizeopt/pure.rs
  • majit/majit-metainterp/src/optimizeopt/rewrite.rs
  • majit/majit-metainterp/src/optimizeopt/schedule.rs
  • majit/majit-metainterp/src/optimizeopt/shortpreamble.rs
  • majit/majit-metainterp/src/optimizeopt/simplify.rs
  • majit/majit-metainterp/src/optimizeopt/unroll.rs
  • majit/majit-metainterp/src/optimizeopt/util.rs
  • majit/majit-metainterp/src/optimizeopt/vector.rs
  • majit/majit-metainterp/src/optimizeopt/virtualize.rs
  • majit/majit-metainterp/src/optimizeopt/virtualstate.rs
  • majit/majit-metainterp/src/optimizeopt/vstring.rs
  • majit/majit-metainterp/src/pyjitpl/dispatch.rs
  • majit/majit-metainterp/src/pyjitpl/frame.rs
  • majit/majit-metainterp/src/resume.rs
  • majit/majit-metainterp/src/resume_box_reader.rs
  • majit/majit-metainterp/src/ruleopt/parse.rs
  • majit/majit-metainterp/src/ruleopt/proof.rs
  • majit/majit-metainterp/src/trace_ctx.rs
  • majit/majit-metainterp/src/virtualizable.rs
  • majit/majit-metainterp/src/virtualref.rs
  • majit/majit-metainterp/src/walkvirtual.rs
  • majit/majit-metainterp/src/warmstate.rs
  • majit/majit-rlib/src/lltypesystem/rlist.rs
  • majit/majit-rlib/src/rbigint.rs
  • majit/majit-rlib/src/rbigint/gc.rs
  • majit/majit-trace/src/lib.rs
  • majit/majit-translate/src/annotator/annrpython.rs
  • majit/majit-translate/src/annotator/argument.rs
  • majit/majit-translate/src/annotator/bookkeeper.rs
  • majit/majit-translate/src/annotator/builtin.rs
  • majit/majit-translate/src/annotator/classdesc.rs
  • majit/majit-translate/src/annotator/description.rs
  • majit/majit-translate/src/annotator/dictdef.rs
  • majit/majit-translate/src/annotator/listdef.rs
  • majit/majit-translate/src/annotator/model.rs
  • majit/majit-translate/src/annotator/signature.rs
  • majit/majit-translate/src/annotator/specialize.rs
  • majit/majit-translate/src/annotator/unaryop.rs
  • majit/majit-translate/src/codewriter/assembler.rs
  • majit/majit-translate/src/codewriter/codewriter.rs
  • majit/majit-translate/src/codewriter/flatten.rs
  • majit/majit-translate/src/codewriter/format.rs
  • majit/majit-translate/src/codewriter/insns.rs
  • majit/majit-translate/src/codewriter/jitcode.rs
  • majit/majit-translate/src/codewriter/jtransform.rs
  • majit/majit-translate/src/codewriter/jtransform_opname.rs
  • majit/majit-translate/src/codewriter/liveness.rs
  • majit/majit-translate/src/codewriter/longlong.rs
  • majit/majit-translate/src/codewriter/mod.rs
  • majit/majit-translate/src/codewriter/support.rs
  • majit/majit-translate/src/codewriter/transform_profile.rs
  • majit/majit-translate/src/codewriter/type_state.rs
  • majit/majit-translate/src/config/config.rs
  • majit/majit-translate/src/config/mod.rs
  • majit/majit-translate/src/config/translationoption.rs
  • majit/majit-translate/src/flowspace/flowcontext.rs
  • majit/majit-translate/src/flowspace/generator.rs
  • majit/majit-translate/src/flowspace/model.rs
  • majit/majit-translate/src/flowspace/operation.rs
  • majit/majit-translate/src/flowspace/pygraph.rs
  • majit/majit-translate/src/flowspace/specialcase.rs
  • majit/majit-translate/src/front/checked_arith.rs
  • majit/majit-translate/src/front/from_size_align.rs
  • majit/majit-translate/src/front/mir.rs
  • majit/majit-translate/src/front/option_try.rs
  • majit/majit-translate/src/front/range_contains.rs
  • majit/majit-translate/src/front/range_iter.rs
  • majit/majit-translate/src/front/result_exc.rs
  • majit/majit-translate/src/front/slice_index.rs
  • majit/majit-translate/src/inline.rs
  • majit/majit-translate/src/lib.rs
  • majit/majit-translate/src/model.rs
  • majit/majit-translate/src/model_ssa.rs
  • majit/majit-translate/src/tool/algo/graphlib.rs
  • majit/majit-translate/src/tool/algo/regalloc.rs
  • majit/majit-translate/src/tool/sourcetools.rs
  • majit/majit-translate/src/tool/udir.rs
  • majit/majit-translate/src/translator/backend/dlltool.rs
  • majit/majit-translate/src/translator/backend/genc.rs
  • majit/majit-translate/src/translator/backendopt/all.rs
  • majit/majit-translate/src/translator/backendopt/constfold.rs
  • majit/majit-translate/src/translator/backendopt/inline.rs
  • majit/majit-translate/src/translator/backendopt/innerloop.rs
  • majit/majit-translate/src/translator/backendopt/merge_if_blocks.rs
  • majit/majit-translate/src/translator/backendopt/removenoops.rs
  • majit/majit-translate/src/translator/backendopt/ssa.rs
  • majit/majit-translate/src/translator/backendopt/stat.rs
  • majit/majit-translate/src/translator/backendopt/storesink.rs
  • majit/majit-translate/src/translator/driver.rs
  • majit/majit-translate/src/translator/goal/query.rs
  • majit/majit-translate/src/translator/mod.rs
  • majit/majit-translate/src/translator/rtyper/annlowlevel.rs
  • majit/majit-translate/src/translator/rtyper/callparse.rs
  • majit/majit-translate/src/translator/rtyper/cutover.rs
  • majit/majit-translate/src/translator/rtyper/extfuncregistry.rs
  • majit/majit-translate/src/translator/rtyper/flowspace_adapter.rs
  • majit/majit-translate/src/translator/rtyper/legacy_annotator.rs
  • majit/majit-translate/src/translator/rtyper/legacy_resolve.rs
  • majit/majit-translate/src/translator/rtyper/llinterp.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/llmemory.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/lltype.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/module/ll_math.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/opimpl.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/rgcref.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/rordereddict.rs
  • majit/majit-translate/src/translator/rtyper/lltypesystem/rstr.rs
  • majit/majit-translate/src/translator/rtyper/mod.rs
  • majit/majit-translate/src/translator/rtyper/normalizecalls.rs
  • majit/majit-translate/src/translator/rtyper/rbuiltin.rs
  • majit/majit-translate/src/translator/rtyper/rclass.rs
  • majit/majit-translate/src/translator/rtyper/rdict.rs
  • majit/majit-translate/src/translator/rtyper/rfloat.rs
  • majit/majit-translate/src/translator/rtyper/rlist.rs
  • majit/majit-translate/src/translator/rtyper/rmodel.rs
  • majit/majit-translate/src/translator/rtyper/rpbc.rs
  • majit/majit-translate/src/translator/rtyper/rstr.rs
  • majit/majit-translate/src/translator/rtyper/rtuple.rs
  • majit/majit-translate/src/translator/rtyper/rtyper.rs
  • majit/majit-translate/src/translator/rtyper/rvirtualizable.rs
  • majit/majit-translate/src/translator/rtyper/rweakref.rs
  • majit/majit-translate/src/translator/simplify.rs
  • majit/majit-translate/src/translator/transform.rs
  • majit/majit-translate/src/translator/unsimplify.rs
  • majit/majit-translate/tests/test_model.rs
  • pyre/pyre-interpreter/src/baseobjspace.rs
  • pyre/pyre-interpreter/src/builtins.rs
  • pyre/pyre-interpreter/src/display.rs
  • pyre/pyre-interpreter/src/eval.rs
  • pyre/pyre-interpreter/src/function.rs
  • pyre/pyre-interpreter/src/gateway.rs
  • pyre/pyre-interpreter/src/module/_sre/interp_sre.rs
  • pyre/pyre-interpreter/src/objspace/descroperation.rs
  • pyre/pyre-interpreter/src/objspace/std/mapdict.rs
  • pyre/pyre-interpreter/src/pycode.rs
  • pyre/pyre-interpreter/src/pyframe.rs
  • pyre/pyre-jit-trace/src/descr.rs
  • pyre/pyre-jit-trace/src/jitcode_dispatch/mod.rs
  • pyre/pyre-jit-trace/src/jitcode_dispatch/tests.rs
  • pyre/pyre-jit-trace/src/jitcode_runtime.rs
  • pyre/pyre-jit-trace/src/state.rs
  • pyre/pyre-jit-trace/src/trace.rs
  • pyre/pyre-jit/src/eval.rs
  • pyre/pyre-jit/src/jit/assembler.rs
  • pyre/pyre-macros/src/lib.rs
  • pyre/pyre-native/src/hash.rs
  • pyre/pyre-object/src/_pypy_generic_alias.rs
  • pyre/pyre-object/src/boolobject.rs
  • pyre/pyre-object/src/buffer.rs
  • pyre/pyre-object/src/bufferview.rs
  • pyre/pyre-object/src/bytearrayobject.rs
  • pyre/pyre-object/src/bytesobject.rs
  • pyre/pyre-object/src/celldict.rs
  • pyre/pyre-object/src/complexobject.rs
  • pyre/pyre-object/src/descriptor.rs
  • pyre/pyre-object/src/dict_eq_hook.rs
  • pyre/pyre-object/src/dictmultiobject.rs
  • pyre/pyre-object/src/float_array.rs
  • pyre/pyre-object/src/floatobject.rs
  • pyre/pyre-object/src/function.rs
  • pyre/pyre-object/src/functional.rs
  • pyre/pyre-object/src/gc_hook.rs
  • pyre/pyre-object/src/generator.rs
  • pyre/pyre-object/src/int_array.rs
  • pyre/pyre-object/src/interp_array.rs
  • pyre/pyre-object/src/interp_exceptions.rs
  • pyre/pyre-object/src/interp_itertools.rs
  • pyre/pyre-object/src/iterobject.rs
  • pyre/pyre-object/src/listobject.rs
  • pyre/pyre-object/src/longobject.rs
  • pyre/pyre-object/src/memoryview.rs
  • pyre/pyre-object/src/object_array.rs
  • pyre/pyre-object/src/objectobject.rs
  • pyre/pyre-object/src/pyobject.rs
  • pyre/pyre-object/src/setobject.rs
  • pyre/pyre-object/src/sliceobject.rs
  • pyre/pyre-object/src/specialisedtupleobject.rs
  • pyre/pyre-object/src/tagged_int.rs
  • pyre/pyre-object/src/tupleobject.rs
  • pyre/pyre-object/src/typedef.rs
  • pyre/pyre-object/src/typeobject.rs
  • pyre/pyre-object/src/unicodeobject.rs
  • pyre/pyre-object/src/weakref.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

🤖 Codex parity review

Static analysis of this diff vs the local RPython/PyPy sources (commit d227d75).
Updated: 2026-08-13T00:25:18.105Z

Files in the reviewed diff
majit/examples/braininterp/src/interp.rs
majit/examples/braininterp/src/main.rs
majit/examples/cel/src/colscalar.rs
majit/examples/dualtape/src/interp.rs
majit/examples/tiny2/src/interp.rs
majit/examples/tiny2/src/jit_interp.rs
majit/examples/tiny3/src/interp.rs
majit/examples/tiny3/src/jit_interp.rs
majit/examples/tl/src/interp.rs
majit/examples/tla/src/interp.rs
majit/examples/tlr/src/interp.rs
majit/majit-backend-cranelift/src/compiler.rs
majit/majit-backend-cranelift/src/lib.rs
majit/majit-backend-cranelift/tests/integration.rs
majit/majit-backend-dynasm/src/aarch64/assembler.rs
majit/majit-backend-dynasm/src/aarch64/mod.rs
majit/majit-backend-dynasm/src/aarch64/opassembler.rs
majit/majit-backend-dynasm/src/aarch64/regalloc.rs
majit/majit-backend-dynasm/src/codebuf.rs
majit/majit-backend-dynasm/src/gcmap.rs
majit/majit-backend-dynasm/src/j2plan.rs
majit/majit-backend-dynasm/src/lib.rs
majit/majit-backend-dynasm/src/regalloc.rs
majit/majit-backend-dynasm/src/runner.rs
majit/majit-backend-wasm/src/codegen.rs
majit/majit-backend-wasm/src/lib.rs
majit/majit-backend/src/call_stub.rs
majit/majit-backend/src/finish_descrs.rs
majit/majit-backend/src/jitframe.rs
majit/majit-backend/src/model.rs
majit/majit-gc/src/rewrite.rs
majit/majit-ir/src/descr.rs
majit/majit-ir/src/intbound.rs
majit/majit-ir/src/operand.rs
majit/majit-ir/src/value.rs
majit/majit-macros/src/jit_interp/jitcode_lower/api.rs
majit/majit-macros/src/jit_interp/jitcode_lower/mod.rs
majit/majit-macros/tests/macros.rs
majit/majit-metainterp/src/blackhole.rs
majit/majit-metainterp/src/call_descr.rs
majit/majit-metainterp/src/compile.rs
majit/majit-metainterp/src/executor.rs
majit/majit-metainterp/src/graphpage.rs
majit/majit-metainterp/src/history.rs
majit/majit-metainterp/src/jit.rs
majit/majit-metainterp/src/jit_state.rs
majit/majit-metainterp/src/jitcode/assembler.rs
majit/majit-metainterp/src/jitcode/mod.rs
majit/majit-metainterp/src/jitdriver.rs
majit/majit-metainterp/src/jitexc.rs
majit/majit-metainterp/src/opencoder.rs
majit/majit-metainterp/src/optimizeopt/bridgeopt.rs
majit/majit-metainterp/src/optimizeopt/dependency.rs
majit/majit-metainterp/src/optimizeopt/guard.rs
majit/majit-metainterp/src/optimizeopt/heap.rs
majit/majit-metainterp/src/optimizeopt/info.rs
majit/majit-metainterp/src/optimizeopt/intdiv.rs
majit/majit-metainterp/src/optimizeopt/intutils.rs
majit/majit-metainterp/src/optimizeopt/mod.rs
majit/majit-metainterp/src/optimizeopt/optimizer.rs
majit/majit-metainterp/src/optimizeopt/pure.rs
majit/majit-metainterp/src/optimizeopt/rewrite.rs
majit/majit-metainterp/src/optimizeopt/schedule.rs
majit/majit-metainterp/src/optimizeopt/shortpreamble.rs
majit/majit-metainterp/src/optimizeopt/simplify.rs
majit/majit-metainterp/src/optimizeopt/unroll.rs
majit/majit-metainterp/src/optimizeopt/util.rs
majit/majit-metainterp/src/optimizeopt/vector.rs
majit/majit-metainterp/src/optimizeopt/virtualize.rs
majit/majit-metainterp/src/optimizeopt/virtualstate.rs
majit/majit-metainterp/src/optimizeopt/vstring.rs
majit/majit-metainterp/src/pyjitpl/dispatch.rs
majit/majit-metainterp/src/pyjitpl/frame.rs
majit/majit-metainterp/src/resume.rs
majit/majit-metainterp/src/resume_box_reader.rs
majit/majit-metainterp/src/ruleopt/parse.rs
majit/majit-metainterp/src/ruleopt/proof.rs
majit/majit-metainterp/src/trace_ctx.rs
majit/majit-metainterp/src/virtualizable.rs
majit/majit-metainterp/src/virtualref.rs
majit/majit-metainterp/src/walkvirtual.rs
majit/majit-metainterp/src/warmstate.rs
majit/majit-rlib/src/lltypesystem/rlist.rs
majit/majit-rlib/src/rbigint.rs
majit/majit-rlib/src/rbigint/gc.rs
majit/majit-trace/src/lib.rs
majit/majit-translate/src/annotator/annrpython.rs
majit/majit-translate/src/annotator/argument.rs
majit/majit-translate/src/annotator/bookkeeper.rs
majit/majit-translate/src/annotator/builtin.rs
majit/majit-translate/src/annotator/classdesc.rs
majit/majit-translate/src/annotator/description.rs
majit/majit-translate/src/annotator/dictdef.rs
majit/majit-translate/src/annotator/listdef.rs
majit/majit-translate/src/annotator/model.rs
majit/majit-translate/src/annotator/signature.rs
majit/majit-translate/src/annotator/specialize.rs
majit/majit-translate/src/annotator/unaryop.rs
majit/majit-translate/src/codewriter/assembler.rs
majit/majit-translate/src/codewriter/codewriter.rs
majit/majit-translate/src/codewriter/flatten.rs
majit/majit-translate/src/codewriter/format.rs
majit/majit-translate/src/codewriter/insns.rs
majit/majit-translate/src/codewriter/jitcode.rs
majit/majit-translate/src/codewriter/jtransform.rs
majit/majit-translate/src/codewriter/jtransform_opname.rs
majit/majit-translate/src/codewriter/liveness.rs
majit/majit-translate/src/codewriter/longlong.rs
majit/majit-translate/src/codewriter/mod.rs
majit/majit-translate/src/codewriter/support.rs
majit/majit-translate/src/codewriter/transform_profile.rs
majit/majit-translate/src/codewriter/type_state.rs
majit/majit-translate/src/config/config.rs
majit/majit-translate/src/config/mod.rs
majit/majit-translate/src/config/translationoption.rs
majit/majit-translate/src/flowspace/flowcontext.rs
majit/majit-translate/src/flowspace/generator.rs
majit/majit-translate/src/flowspace/model.rs
majit/majit-translate/src/flowspace/operation.rs
majit/majit-translate/src/flowspace/pygraph.rs
majit/majit-translate/src/flowspace/specialcase.rs
majit/majit-translate/src/front/checked_arith.rs
majit/majit-translate/src/front/from_size_align.rs
majit/majit-translate/src/front/mir.rs
majit/majit-translate/src/front/option_try.rs
majit/majit-translate/src/front/range_contains.rs
majit/majit-translate/src/front/range_iter.rs
majit/majit-translate/src/front/result_exc.rs
majit/majit-translate/src/front/slice_index.rs
majit/majit-translate/src/inline.rs
majit/majit-translate/src/lib.rs
majit/majit-translate/src/model.rs
majit/majit-translate/src/model_ssa.rs
majit/majit-translate/src/tool/algo/graphlib.rs
majit/majit-translate/src/tool/algo/regalloc.rs
majit/majit-translate/src/tool/sourcetools.rs
majit/majit-translate/src/tool/udir.rs
majit/majit-translate/src/translator/backend/dlltool.rs
majit/majit-translate/src/translator/backend/genc.rs
majit/majit-translate/src/translator/backendopt/all.rs
majit/majit-translate/src/translator/backendopt/constfold.rs
majit/majit-translate/src/translator/backendopt/inline.rs
majit/majit-translate/src/translator/backendopt/innerloop.rs
majit/majit-translate/src/translator/backendopt/merge_if_blocks.rs
majit/majit-translate/src/translator/backendopt/removenoops.rs
majit/majit-translate/src/translator/backendopt/ssa.rs
majit/majit-translate/src/translator/backendopt/stat.rs
majit/majit-translate/src/translator/backendopt/storesink.rs
majit/majit-translate/src/translator/driver.rs
majit/majit-translate/src/translator/goal/query.rs
majit/majit-translate/src/translator/mod.rs
majit/majit-translate/src/translator/rtyper/annlowlevel.rs
majit/majit-translate/src/translator/rtyper/callparse.rs
majit/majit-translate/src/translator/rtyper/cutover.rs
majit/majit-translate/src/translator/rtyper/extfuncregistry.rs
majit/majit-translate/src/translator/rtyper/flowspace_adapter.rs
majit/majit-translate/src/translator/rtyper/legacy_annotator.rs
majit/majit-translate/src/translator/rtyper/legacy_resolve.rs
majit/majit-translate/src/translator/rtyper/llinterp.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/llmemory.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/lltype.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/module/ll_math.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/opimpl.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/rgcref.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/rordereddict.rs
majit/majit-translate/src/translator/rtyper/lltypesystem/rstr.rs
majit/majit-translate/src/translator/rtyper/mod.rs
majit/majit-translate/src/translator/rtyper/normalizecalls.rs
majit/majit-translate/src/translator/rtyper/rbuiltin.rs
majit/majit-translate/src/translator/rtyper/rclass.rs
majit/majit-translate/src/translator/rtyper/rdict.rs
majit/majit-translate/src/translator/rtyper/rfloat.rs
majit/majit-translate/src/translator/rtyper/rlist.rs
majit/majit-translate/src/translator/rtyper/rmodel.rs
majit/majit-translate/src/translator/rtyper/rpbc.rs
majit/majit-translate/src/translator/rtyper/rstr.rs
majit/majit-translate/src/translator/rtyper/rtuple.rs
majit/majit-translate/src/translator/rtyper/rtyper.rs
majit/majit-translate/src/translator/rtyper/rvirtualizable.rs
majit/majit-translate/src/translator/rtyper/rweakref.rs
majit/majit-translate/src/translator/simplify.rs
majit/majit-translate/src/translator/transform.rs
majit/majit-translate/src/translator/unsimplify.rs
majit/majit-translate/tests/test_model.rs
pyre/pyre-interpreter/src/baseobjspace.rs
pyre/pyre-interpreter/src/builtins.rs
pyre/pyre-interpreter/src/display.rs
pyre/pyre-interpreter/src/eval.rs
pyre/pyre-interpreter/src/function.rs
pyre/pyre-interpreter/src/gateway.rs
pyre/pyre-interpreter/src/module/_sre/interp_sre.rs
pyre/pyre-interpreter/src/objspace/descroperation.rs
pyre/pyre-interpreter/src/objspace/std/mapdict.rs
pyre/pyre-interpreter/src/pycode.rs
pyre/pyre-interpreter/src/pyframe.rs
pyre/pyre-jit-trace/src/descr.rs
pyre/pyre-jit-trace/src/jitcode_dispatch/mod.rs
pyre/pyre-jit-trace/src/jitcode_dispatch/tests.rs
pyre/pyre-jit-trace/src/jitcode_runtime.rs
pyre/pyre-jit-trace/src/state.rs
pyre/pyre-jit-trace/src/trace.rs
pyre/pyre-jit/src/eval.rs
pyre/pyre-jit/src/jit/assembler.rs
pyre/pyre-macros/src/lib.rs
pyre/pyre-native/src/hash.rs
pyre/pyre-object/src/_pypy_generic_alias.rs
pyre/pyre-object/src/boolobject.rs
pyre/pyre-object/src/buffer.rs
pyre/pyre-object/src/bufferview.rs
pyre/pyre-object/src/bytearrayobject.rs
pyre/pyre-object/src/bytesobject.rs
pyre/pyre-object/src/celldict.rs
pyre/pyre-object/src/complexobject.rs
pyre/pyre-object/src/descriptor.rs
pyre/pyre-object/src/dict_eq_hook.rs
pyre/pyre-object/src/dictmultiobject.rs
pyre/pyre-object/src/float_array.rs
pyre/pyre-object/src/floatobject.rs
pyre/pyre-object/src/function.rs
pyre/pyre-object/src/functional.rs
pyre/pyre-object/src/gc_hook.rs
pyre/pyre-object/src/generator.rs
pyre/pyre-object/src/int_array.rs
pyre/pyre-object/src/interp_array.rs
pyre/pyre-object/src/interp_exceptions.rs
pyre/pyre-object/src/interp_itertools.rs
pyre/pyre-object/src/iterobject.rs
pyre/pyre-object/src/listobject.rs
pyre/pyre-object/src/longobject.rs
pyre/pyre-object/src/memoryview.rs
pyre/pyre-object/src/object_array.rs
pyre/pyre-object/src/objectobject.rs
pyre/pyre-object/src/pyobject.rs
pyre/pyre-object/src/setobject.rs
pyre/pyre-object/src/sliceobject.rs
pyre/pyre-object/src/specialisedtupleobject.rs
pyre/pyre-object/src/tagged_int.rs
pyre/pyre-object/src/tupleobject.rs
pyre/pyre-object/src/typedef.rs
pyre/pyre-object/src/typeobject.rs
pyre/pyre-object/src/unicodeobject.rs
pyre/pyre-object/src/weakref.rs

1. Regressions to PyPy parity introduced by this patch

None.

2. Other mismatches introduced by this patch

None.

3. Pre-existing mismatches (already present before this patch)

  • majit/majit-metainterp/src/optimizeopt/rewrite.rs:80 ↔ rpython/jit/metainterp/optimizeopt/rewrite.py:56: Pyre retains a per-OptRewrite bool_result_cache: IndexMap<(OpCode, OpRef, OpRef), OpRef>; upstream constructs a synthetic ResOperation and queries the shared pure-operation table through get_pure_result. This is a pre-existing side-table divergence (confirmed present in upstream/main).

4. Structural adaptations

  • majit/examples/tiny2/src/jit_interp.rs:3 ↔ rpython/jit/tl/tiny2_hotpath.py:90: Pyre represents the operand stack as a contiguous virtualizable array; upstream uses linked Stack(value, next) cons cells. This is an explicitly documented macro/state-model limitation.

  • majit/examples/tiny3/src/jit_interp.rs:3 ↔ rpython/jit/tl/tiny3_hotpath.py:96: same contiguous-array versus linked-cons-stack adaptation as tiny2.

  • majit/majit-translate/src/flowspace/flowcontext.rs:1545 ↔ rpython/flowspace/flowcontext.py:733: Pyre recognizes print in generic call handling because CPython 3.14 lowers it as LOAD_GLOBAL + CALL; upstream has a dedicated PRINT_ITEM opcode handler. This is a Python-version/opcode adaptation.

  • majit/majit-translate/src/codewriter/assembler.rs:374 ↔ rpython/jit/codewriter/assembler.py:199: Pyre stores ready descriptors as Box<BhDescr>; upstream stores Python descriptor objects directly in self.descrs. Boxing preserves descriptor identity while accommodating Rust’s recursive-size/ownership constraints.

  • majit/majit-backend-dynasm/src/lib.rs:638 ↔ rpython/jit/metainterp/compile.py:701: Pyre’s CALL_ASSEMBLER slow path may attach a bridge and then continue through blackhole, whereas upstream chooses either bridge tracing or resume_in_blackhole and uses a non-local exception to re-enter compiled code. The code documents this as a Rust control-flow adaptation; it already existed in upstream/main.

@youknowone
youknowone force-pushed the ec-wiring branch 2 times, most recently from bfaedba to 7087ad2 Compare August 12, 2026 07:04

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7087ad2f7b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// Overflow fallthrough: return x29 as jf_ptr.
; mov x0, x29
; ldp x19, x20, [sp, #16]
; ldp x21, x22, [sp, #32]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Do not restore unsaved x21/x22 registers

When an AArch64 compiled trace takes the stack-overflow early-return path, this instruction loads arbitrary scratch contents from [sp, #32] into the caller's callee-saved x21/x22 registers. The prologue saves only x19/x20, matching this backend's CALLEE_SAVED_REGISTERS, so there is no corresponding x21/x22 value at that offset; returning after this load can silently corrupt caller state. Remove this restore rather than diverging from the normal footer/upstream register set.

AGENTS.md reference: AGENTS.md:L231-L233

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 291f69f8b4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let nlocals = code.varnames.len() + pyre_interpreter::pyframe::ncells(code);
let call = decode_op_at(&pjc.jitcode.code, call_jit_pc)?;
let result_bank = call.argcodes.chars().last()?;
let result_slot = (result_bank != 'v' && depth != 0).then_some(nlocals + depth - 1);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Detect void calls before synthesizing a result slot

When this root-stack capture handles a void JitCode call with kept caller operands, argcodes does not end in 'v'; void instructions omit the > result marker entirely (for example, inline_call_r_v/dR). This condition therefore mistakes the final input-bank code for a result and replaces the caller's real top stack value with PY_NULL, corrupting the frame resumed by the blackhole. Detect a result from the >i/>r/>f suffix instead of comparing the final character with 'v'.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a89aba046c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let ptr = buf.as_mut_ptr() as usize;

let frame = backend.execute_token(&token, &[Value::Ref(GcRef(ptr)), Value::Float(3.14159)]);
let frame = backend.execute_token(&token, &[Value::Ref(GcRef(ptr)), Value::Float(3.25)]);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep a non-exact value in the float round-trip test

Using 3.25 weakens this f64 round-trip test because the value is represented exactly in both f64 and f32. If both RawStore and RawLoadF were accidentally lowered as 32-bit operations, the test could now pass despite losing double precision, whereas the previous 3.14159 input would expose that regression under the 1e-10 tolerance. Use a non-exact value that does not trigger the approximate-constant lint, or std::f64::consts::PI, so this continues to verify f64 precision.

Useful? React with 👍 / 👎.

@youknowone
youknowone merged commit 53f0866 into main Aug 12, 2026
3 of 4 checks passed
@youknowone
youknowone deleted the ec-wiring branch August 12, 2026 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant