Remove the JIT-fuzzing subsystem (superseded by lafleur)#140
Merged
Conversation
lafleur now owns JIT fuzzing end-to-end: it re-implemented the reusable core natively (lafleur/jit_seeds.py + lafleur/jit_bug_patterns.py: the uop-recipe seed table, the curated bug patterns, and a synthesize grammar) and no longer shells out to fusil for seeds. The fusil JIT subsystem was therefore dead weight (~4,800 LOC of unmaintained code, 14 --jit-* options, a broken test, a soft dependency on lafleur.mutator). Removed: - fusil/python/jit/ (write_jit_code.py, ast_pattern_generator.py, bug_patterns.py) - the "JIT Fuzzing" option group (14 --jit-* options) in fusil/python/__init__.py - the WriteJITCode import + construction + --jit-fuzz-gated call sites and the dead jit_harness/no_jit_harness generated-code helpers in write_python_code.py - README_JIT.md and the already-broken tests/python/test_write_jit_code.py Preserved (general options that were misfiled under the JIT group): moved --source-output-path and --stdout-path to the Fuzzing group, and renamed --no-jit-external-references -> --no-external-references (dest external_references, a general ArgumentGenerator knob). jit_config.py stays (a standalone build helper for the threshold-patched JIT CPython lafleur targets, unrelated to the subsystem). Full suite green (314 tests); ruff check + format clean. Analysis/decision: doc/jit-seed-generation.md + doc/jit-decision-memo.md. Closes #139 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lafleur/jit_seeds.py+lafleur/jit_bug_patterns.pyand no longer shells out to fusil for seeds), so fusil's JIT subsystem was dead weight — ~4,800 LOC, 14--jit-*options, a broken test, and a soft dependency onlafleur.mutator.fusil/python/jit/(write_jit_code.py,ast_pattern_generator.py,bug_patterns.py); the "JIT Fuzzing" option group; theWriteJITCodewiring +--jit-fuzz-gated call sites + deadjit_harness/no_jit_harnessgenerated-code helpers inwrite_python_code.py;README_JIT.md; the already-brokentests/python/test_write_jit_code.py.--source-output-pathand--stdout-pathmoved to the Fuzzing group;--no-jit-external-references→--no-external-references(destexternal_references, a general ArgumentGenerator knob).jit_config.pystays (standalone build helper for lafleur's threshold-patched JIT CPython).Test plan
314 tests OK(the brokentest_write_jit_codeis gone;test_oom_fuzzupdated for the renamed option).ruff check+ruff format --checkclean on changed files.--helpsmoke: no--jit*options remain;--no-external-referencespresent; parser builds cleanly.Closes #139