◐ Shell
clean mode source ↗

Added 2017 to copyright years at the bottom by Pilskalns · Pull Request #76 · python/cpython

@Pilskalns

asottile added a commit to asottile/cpython that referenced this pull request

Jun 7, 2019

warsaw pushed a commit that referenced this pull request

Jun 7, 2019

DinoV pushed a commit to DinoV/cpython that referenced this pull request

Jan 14, 2020

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

jaraco added a commit to jaraco/cpython that referenced this pull request

Feb 17, 2023
Drop support for Python 3.4

Closes python#76

See merge request python-devs/importlib_resources!82

oraluben pushed a commit to oraluben/cpython that referenced this pull request

Jul 15, 2023

lysnikolaou referenced this pull request in lysnikolaou/cpython

May 1, 2024
Fix paste mode when there are empty line in the middle

This was referenced

Feb 11, 2025

SonicField added a commit to SonicField/cpython that referenced this pull request

Apr 22, 2026
Per pythia python#76 [chat 16:45Z] + supervisor revision [chat 16:45Z python#3]:
filed-not-owned workstreams accrue weed-debt ('a field marked for
fallow grows weeds named next year'). W27 was filed at bf8982b
without ownership, falsification test, or revisit-trigger.

Added §1 frontmatter:
  - Owner: theologian (design), generalist (implementation)
  - Schedule: entry-trigger = Tier 5 ZERO C++ complete + no active
    push-class blocker; exit by start of cinderx Tier 6 cleanup
  - Falsification test reference: §8

Added §8 falsification test sketch:
  Lib/test/test_phoenix_w27_module_unload_uaf.py
  - SKIPPED until W27 work begins
  - Reproducer: register cache entry → del sys.modules → gc.collect →
    fire builtins event → expect SEGV pre-W27 / clean post-W27
  - Acceptance: reproduces SEGV pre-W27 + passes post-W27, OR W27
    scope re-opens if reproducer is harder to trigger than predicted
  - Discipline: 'falsification-first' — test lands before fix code

Added §7 cross-references:
  - Push 58 ARM64-pydebug coredump finding from testkeeper [chat
    16:45Z]: 8b7b935 baseline ALSO produces shutdown coredump
    on the same falsifier workload (just non-deterministic vs push
    59's deterministic SEGV) — independent confirmation that this
    is pre-existing latent (pythia python#75 b1 outcome) not push-59-port-
    shape-specific
  - W27 ownership update authority chain

This commit IS supervisor's pythia python#76 python#3 corrective action — turning
'filed' into 'owned, scheduled, testable'. Pattern reusable: same
audit will be applied to W23 (verifier hardening), W25 (typed bridges),
W26 (build-state hardening) per supervisor [chat 16:45Z python#3] deferral.

SonicField added a commit to SonicField/cpython that referenced this pull request

Apr 22, 2026
Sibling of emitInlineExceptionMatch (~95% shared per theologian PTE
pre-audit chat 2026-04-22 16:53Z). Shared-helper design (option a) —
D-1774910012 PA invariant lives in EXACTLY ONE C body across both
callers, eliminating invariant-drift surface.

  Python/jit/hir/builder.cpp:
    emitCallExceptionHandler C++ body (160 lines) → C++ stub (~75 lines):
      D1 pre-amble: setSuppressExceptionDeopt(true) + pop result
      Build OpcodeArrayEntry_CXX vector (same shape as inline-match)
      Call new C body via hir_builder_emit_call_exception_handler_c
    Net: -167 (replaces inline body with stub call)

  Python/jit/hir/builder_emit_c.c:
    NEW static helper emit_except_match_body_c (~140 lines):
      P2: exc_tc setup + depth-trim
      P2 inv 8-13: exc_type_reg + JITRT_MatchAndClearException CallStatic + CondBranch
      P3: match_tc setup + (PA D-1774910012) Py_None push + dispatch loop (10 cases + default→deopt)
      P4: deopt_tc setup (origin = tc.frame per PB.b) + optional left/right re-push + Snapshot + Deopt
      PE: phx_frame_state_destroy on EXACTLY 3 TCs (exc_tc, match_tc, deopt_tc)
    REFACTORED hir_builder_emit_inline_exception_match_c (~30 lines):
      P1 (getitem CallStatic) + ok_block alloc + CondBranch + helper-call + P5 RefineType
      Passes left/right as deopt_repush args (BINARY_SUBSCR offset expects them).
    NEW hir_builder_emit_call_exception_handler_c (~30 lines):
      ok_block alloc + CondBranch on result + helper-call + D3 P5 RefineType + push result
      Passes NULL/NULL deopt_repush args (call-result already popped on C++ side).
    Net: +85 (helper extraction + new C function)

PTE-trial invariant inventory verification per theologian [chat L1899]:
  29 invariants total = 26 SHARED (in helper, single-source) + 3 UNIQUE (D1/D2/D3).
  PA D-1774910012: helper guarantees Py_None push + POP_EXCEPT pop, no callsite
    can violate. Mutation-test sensitivity preserved (same code path as push 59).
  PB pitfalls: helper enforces deopt_origin = tc (not exc_tc).
  PE: helper destroys all 3 TCs unconditionally before return.

ZERO new bridges per theologian [chat L1899] gate verdict:
  Reuses hir_c_create_call_static_reg, hir_c_create_load_const,
    hir_c_create_cond_branch_cpp, hir_c_create_branch_cpp,
    hir_c_create_snapshot, hir_c_create_deopt, hir_c_create_refine_type_reg,
    hir_c_create_return, hir_builder_emit_swap_c/load_fast_c/store_fast_c/binary_op_c.

Bundled W25 metadata update per supervisor [chat L1894] decision (a):
  docs/w25-typed-bridges.md §7 PARKED — Owner+Schedule+Falsification+Closure
  criteria fields added per pythia python#76 python#3 fallow-workstream discipline. Theologian-
  authored, gen-staged + bundled into this commit (gate-cycle efficiency).

testkeeper x86_64 compile-only PASS verified pre-commit at binary timestamp
1776877216 (chat L1900). Awaiting ARM64 pydebug --clean + 8-test gate +
push 58 baseline regression check before push.

Authorization chain:
  - theologian PTE pre-audit + STRONG (a) lean: chat L1899
  - emitCallExceptionHandler queue unblocked: supervisor chat L1894 (b1 outcome)
  - W25 metadata bundle option (a): supervisor chat L1894