GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — A few README tweaks by nedbat · Pull Request #73 · python/cpython

Conversation

@nedbat

@nedbat nedbat commented Feb 13, 2017

Copy link
Copy Markdown
Member
  • Add a paragraph at the top for users, not builders, of Python.

  • No need to list every year individually. Use a range of years in the copyright.

  • Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@the-knights-who-say-ni

the-knights-who-say-ni commented Feb 13, 2017

Copy link
Copy Markdown

Hello, and thanks for your contribution!

I'm a bot set up to make sure that the project can legally accept your contribution by verifying you have signed the PSF contributor agreement (CLA).

Unfortunately we couldn't find an account corresponding to your GitHub username on bugs.python.org (b.p.o) to verify you have signed the CLA. This is necessary for legal reasons before we can look at your contribution. Please follow these steps to help rectify the issue:

  1. If you don't have an account on b.p.o, please create one
  2. Make sure your GitHub username is listed in "Your Details" at b.p.o
  3. If you have not already done so, please sign the PSF contributor agreement
  4. If you just signed the CLA, please wait at least a day and then check "Your Details" on bugs.python.org to see if your account has been marked as having signed the CLA (the delay is due to a person having to manually check your signed CLA)
  5. Reply here saying you have completed the above steps

Thanks again to your contribution and we look forward to looking at it!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@the-knights-who-say-ni the-knights-who-say-ni added the CLA not signed label Feb 13, 2017
berkerpeksag
berkerpeksag reviewed Feb 13, 2017
View reviewed changes

@berkerpeksag berkerpeksag left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

The copyright part of the PR is being discussed in #4. Rest of the PR looks good to me, thanks!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nedbat

nedbat commented Feb 13, 2017

Copy link
Copy Markdown
Member Author

I just added my GitHub username in my bpo details.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

willingc
willingc approved these changes Feb 13, 2017
View reviewed changes
@nedbat
A few README tweaks
e6a6600
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.
@the-knights-who-say-ni the-knights-who-say-ni added CLA signed and removed CLA not signed labels Feb 13, 2017
@nedbat

nedbat commented Feb 13, 2017

Copy link
Copy Markdown
Member Author

OK, removed the date changes.

willingc reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

berkerpeksag
berkerpeksag approved these changes Feb 13, 2017
View reviewed changes
@codecov

codecov Bot commented Feb 13, 2017

Copy link
Copy Markdown

Codecov Report

Merging #73 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
+ Coverage   82.37%   82.37%   +<.01%     
==========================================
  Files        1427     1427              
  Lines      350948   350948              
==========================================
+ Hits       289081   289089       +8     
+ Misses      61867    61859       -8

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c9b62b4...e6a6600. Read the comment docs.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@berkerpeksag berkerpeksag added backport to 3.5 labels Feb 13, 2017
@berkerpeksag
berkerpeksag merged commit 3cdbd68 into python:master Feb 13, 2017
Mariatta referenced this pull request in Mariatta/cpython Feb 13, 2017
@nedbat @Mariatta
A few README tweaks (#73)
77dd1a7
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Contributed by Ned Batchelder @nedbat

(cherry picked from commit 3cdbd68)
@Mariatta Mariatta removed the backport to 3.6 label Feb 13, 2017
Mariatta referenced this pull request in Mariatta/cpython Feb 13, 2017
@nedbat @Mariatta
A few README tweaks (#73)
0fd80c6
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Contributed by Ned Batchelder @nedbat

(cherry picked from commit 3cdbd68)
@Mariatta Mariatta removed the backport to 3.5 label Feb 13, 2017
Mariatta added a commit that referenced this pull request Feb 13, 2017
@Mariatta
A few README tweaks (#73) (#79)
2d0c228
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Contributed by Ned Batchelder @nedbat

(cherry picked from commit 3cdbd68)
Mariatta added a commit that referenced this pull request Feb 13, 2017
@Mariatta
A few README tweaks (#73) (#80)
3ae8fd4
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Contributed by Ned Batchelder @nedbat

(cherry picked from commit 3cdbd68)
zware added a commit to zware/cpython that referenced this pull request Feb 14, 2017
@zware
Backport master's README.rst to 3.6
37c0cb7
Includes GH-2, pythonGH-70, pythonGH-73, and pythonGH-21.
@zware zware mentioned this pull request Feb 14, 2017
Backport master's README.rst to 3.6 #86
Merged
zware added a commit that referenced this pull request Feb 15, 2017
@zware
Backport master's README.rst to 3.6 (GH-86)
1e8cc88
Includes GH-2, GH-70, GH-73 (GH-79), and GH-21.
@vstinner vstinner mentioned this pull request Feb 15, 2017
Rename Doc/README.txt to Doc/README.rst and add formatting #104
Merged
@nedbat
nedbat deleted the readme-tweaks branch January 1, 2020 03:21
@tecki tecki mannequin mentioned this pull request May 31, 2022
wait_for(gather(...)) logs weird error message #73618
Closed
jaraco added a commit to jaraco/cpython that referenced this pull request Feb 17, 2023
@jaraco
Remove setup_requires. Fixes python#73.
6d86ad9
@gvanrossum gvanrossum mentioned this pull request Aug 22, 2023
heap-use-after-free in _PyFunction_LookupByVersion #108253
Closed
lysnikolaou referenced this pull request in lysnikolaou/cpython Apr 30, 2024
@pablogsal
Merge pull request #73 from lysnikolaou/pyrepl-double-width-char-cursor
e9be872
Fix cursor position for double-width characters
@ngoldbaum ngoldbaum mentioned this pull request Sep 23, 2024
Crash running PyO3 tests with --test-threads=1000 #124375
Closed
This was referenced Feb 11, 2025
segmentfault when pip installing setuptools #129992
Closed
segmentfault when pip installing setuptools #129993
Closed
AA-Turner added a commit to AA-Turner/cpython that referenced this pull request Apr 22, 2025
@AA-Turner
Add assertTStringEqual() helper (python#73)
fb68d60
@sergey-miryanov sergey-miryanov mentioned this pull request Dec 18, 2025
Observed memory leak in ssl library: Python 3.14 GC issue #142516
Closed
@ngoldbaum ngoldbaum mentioned this pull request Mar 6, 2026
Remove deprecated and undocumented function ctypes.SetPointerType #133866
Closed
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 16, 2026
@SonicField
Add hir_c_init_end_inlined() for inline_depth=-1 enforcement
a924c85
EndInlinedFunction::inline_depth_ defaults to -1 in C++ but calloc
gives 0. This was identified as the sole remaining unprotected non-zero
default (Pythia python#73, calloc-zero audit D-1776289329).

Add hir_c_init_end_inlined() following the same pattern as
hir_c_init_deopt (nonce=-1) and hir_c_alloc_instr (bytecode_offset=-1).
Any future C factory for EndInlinedFunction must use this init function.
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 22, 2026
@SonicField
test: D-1774910012 falsifier — closure LOAD_DEREF in except blocks
595734c
Adds Lib/test/test_phoenix_jit_inline_except_closure.py as the regression
detector for D-1774910012 (28b4ee1, inline exception handler deopt fix).
Original C++ fix shipped without a regression test; project memory notes
'only triggers if closure reaches threshold=1000 (currently doesn't in test
suite)'. The C port (push 59 emitInlineExceptionMatch) preserves the same
invariant. This test pre-exists the port so push 59's dual-arch gate
naturally exercises the falsifier.

3 tests covering theologian's 4-step spec + 2 extensions:
  - test_load_deref_in_except_basic: closure + LOAD_DEREF in except, WARMUP=1100
  - test_load_deref_with_pop_except_chain: nested try/except + exc_info chain
    integrity (sys.exc_info() must be clean between calls)
  - test_load_deref_after_pop_except: LOAD_DEREF after POP_EXCEPT verifies
    Py_None placeholder pop semantics + closure cell mutation correctness

Baseline: 3/3 PASS on push 58 binary (8b7b935, pre-port C++ implementation).
Test now becomes the regression gate for the C port.

scripts/gate_phoenix.sh updated to include the new test in PHOENIX_MODULES
gate (was 15 tests, now 16).

Per pythia python#73 + theologian + supervisor 14:55:41Z: closes the validation
gap before push 59 emitInlineExceptionMatch lands.
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 22, 2026
@SonicField
builder: emitInlineExceptionMatch → C (100/144 → 101/144 = 70.1%)
b44f075
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@berkerpeksag berkerpeksag berkerpeksag approved these changes
@willingc willingc willingc approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

5 participants

@nedbat @the-knights-who-say-ni @berkerpeksag @willingc @Mariatta
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.