Don't build Python for documentation only changes#74
Merged
berkerpeksag merged 2 commits intopython:masterfrom Feb 14, 2017
Merged
Don't build Python for documentation only changes#74berkerpeksag merged 2 commits intopython:masterfrom
berkerpeksag merged 2 commits intopython:masterfrom
Conversation
ecee2fd to
01a639c
Compare
auvipy
approved these changes
Feb 13, 2017
brettcannon
approved these changes
Feb 13, 2017
Member
|
Should also close python/core-workflow#14 when this gets merged. |
Member
|
FYI GH-74 has some changes to |
This was referenced Feb 13, 2017
methane
referenced
this pull request
in methane/cpython
Feb 14, 2017
methane
referenced
this pull request
in methane/cpython
Feb 14, 2017
ncoghlan
pushed a commit
that referenced
this pull request
Feb 19, 2017
* Add .travis.yml to 3.6 branch * Travis CI: run rstlint.py in the docs job (#68) Currently, http://buildbot.python.org/all/buildslaves/ware-docs buildbot is only run as post-commit. For example, bpo-29521 (PR#41) introduced two warnings, unnotified by the Travis CI docs job. Modify the docs job to run toosl/rstlint.py. Fix also the two minor warnings which causes the buildbot slave to fail. * Only run CI checks when appropriate files have changed (#74) Closes python/core-workflow#14 * Use 'make check' instead of 'python3 tools/rstlint.py' (#96)
ncoghlan
pushed a commit
that referenced
this pull request
Feb 19, 2017
* Add .travis.yml to 3.5 branch * Only run CI checks when appropriate files have changed (#74) Closes python/core-workflow#14 * Travis CI: run rstlint.py in the docs job (#68) Currently, http://buildbot.python.org/all/buildslaves/ware-docs buildbot is only run as post-commit. For example, bpo-29521 (PR#41) introduced two warnings, unnotified by the Travis CI docs job. Modify the docs job to run toosl/rstlint.py. Fix also the two minor warnings which causes the buildbot slave to fail. * Use 'make check' instead of 'python3 tools/rstlint.py' (#96)
jaraco
pushed a commit
that referenced
this pull request
Dec 2, 2022
jaraco
added a commit
to jaraco/cpython
that referenced
this pull request
Feb 17, 2023
oraluben
pushed a commit
to oraluben/cpython
that referenced
this pull request
Jul 15, 2023
* feat: execute jitted code in backward jumps * nit: fix typos
lysnikolaou
referenced
this pull request
in lysnikolaou/cpython
Apr 30, 2024
This was referenced Feb 11, 2025
sobolevn
pushed a commit
to sobolevn/cpython
that referenced
this pull request
Apr 23, 2025
SonicField
added a commit
to SonicField/cpython
that referenced
this pull request
Apr 22, 2026
Convert HIRBuilder::emitInlineExceptionMatch — the largest, most complex method in the original 7-method remaining set (185-line C++ source with inline bytecode dispatch + 5-block + D-1774910012 invariant). Mirrors C++ HIRBuilder::emitInlineExceptionMatch @ builder.cpp:1329 (pre-conversion). Tier 5 milestone: 70.1%. emitInlineExceptionMatch is the FIRST method shipping with both encoding-clean AND invariant-preserved validation per pythia python#73 (chat 14:39:something) gap closure: D-1774910012 falsifier (3 tests, 595734c) landed pre-port and preserved post-port per testkeeper 8-test gate at chat 15:31:50Z. W25-defer-aware A1 stub-heavy bytecode-parse design (theologian chat 14:48:10Z pre-audit): ZERO new bridges. Pre-audit bridge-count gate per supervisor 14:16:55Z policy (>1 → HALT for Option B reconsideration); this method passed at 0 ≤ 1. 5 phases per pre-audit: P1: getitem CallStatic dispatch (pointer pre-resolved by C++ stub via JITRT_DictGetItem vs PyObject_GetItem) P2: exc_tc setup with depth-trim + LoadConst exc_type + JITRT_MatchAndClearException CallStatic + match_block / deopt_block CondBranch P3: match_tc setup + Py_None placeholder push (D-1774910012 PA) + bytecode dispatch loop (10 cases + default) P4: deopt_tc setup with re-push left/right + Snapshot + Deopt P5: ok block — RefineType in-place SSA-rename 3 separate PhxTranslationContext objects (PB): exc_tc copies from tc.frame match_tc copies from EXC_TC.FRAME (depth-trimmed) deopt_tc copies from TC.FRAME (original, NOT exc_tc) Approach: C++ stub iterates info.except_body bytecodes via BytecodeInstruction.nextInstr() and builds an opcode array with pre-resolved const_obj (LOAD_CONST/RETURN_CONST) and jump_target_block (JUMP_BACKWARD*). C body switches on the array. Sibling C emit functions (hir_builder_emit_swap_c / load_fast_c / store_fast_c / binary_op_c) called directly with extern decls. OpcodeArrayEntry struct mirrored on C++ + C side (5 fields per entry: opcode, oparg, base_offset, const_obj, jump_target_block). C++ static_assert on size sanity check. D-1774910012 invariant (PA pitfall): Py_None placeholder pushed on match_tc.frame.stack BEFORE dispatch loop; POP_EXCEPT case pops the placeholder. Mirrors the inline exception handler deopt fix at 28b4ee1 from 2026-04-01. Failure mode: closure LOAD_DEREF in except blocks → deopt stack mismatch → exc_info chain corruption post-threshold (only triggers post-1000 calls). Preserved via the falsifier in test_phoenix_jit_inline_except_closure.py (push 595734c). Bytecode dispatch loop opcodes (10 handled + default): POP_EXCEPT (pops placeholder per PA), POP_TOP (pops TOS), SWAP, LOAD_FAST/_CHECK/_AND_CLEAR (3 cases), LOAD_CONST, STORE_FAST, BINARY_OP, RETURN_CONST, RETURN_VALUE, JUMP_BACKWARD/_NO_INTERRUPT (2 cases), default → deopt Pitfalls addressed inline (theologian chat 14:48:10Z 8 pitfalls): PA: D-1774910012 Py_None placeholder + POP_EXCEPT pops PB: 3-TC frame-copy origins (each from correct source frame) PC: handler.depth depth-trim while-loop in P2 PD: dispatch loop default → deopt (silent path; supervisor chat 15:30:08Z (b) JIT_DCHECK addition deferred to follow-up commit pending design clarification) PE: emitted_terminator semantics replaced by `goto match_loop_done` pattern in C PF: phx_frame_state_destroy on ALL 3 TCs at function end PG: sibling C emit functions take match_tc explicitly PH: stub-built opcode array with 5 fields per entry JITRT_MatchAndClearException pointer passed from C++ stub via void* (vs C-side direct reference) — avoids C-vs-C++ name mangling at link time. Same pattern as getitem_fn. testkeeper iter cycle: iter 1: 5 errors (extern decl signature mismatches on sibling emit functions + arg counts on LOAD_FAST/STORE_FAST) iter 2: 2 errors (binary_op_c PhxTranslationContext* sig + BCOffset→int conversion) iter 3: 1 link error (JITRT_MatchAndClearException name mangling) iter 4: PASS — JIT_BUILD_EXIT=0, full --clean BUILD_EXIT=0, 8-test gate including D-1774910012 falsifier 8/8 PASS W26 gate-hardening not triggered (clean build path). ZERO new bridges held. Per pythia python#74 (chat 15:29:something): PA invariant validated by falsifier; PB-PH rely on theologian's spec + reviewer inspection. Mutation test per supervisor chat 15:30:08Z (a) is gating push 59 PUSH AUTHORIZED — testkeeper to execute before dual-arch.
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.
No description provided.