From d484383861b44b4cf76f31ad6af9a0b413334a89 Mon Sep 17 00:00:00 2001 From: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Wed, 19 Jun 2024 17:58:54 +0100 Subject: [PATCH] gh-119786: move locations doc to InternalDocs (#120445) --- InternalDocs/README.md | 6 ++++-- {Objects => InternalDocs}/locations.md | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) rename {Objects => InternalDocs}/locations.md (88%) diff --git a/InternalDocs/README.md b/InternalDocs/README.md index 42f61257942..2918ead265d 100644 --- a/InternalDocs/README.md +++ b/InternalDocs/README.md @@ -14,6 +14,8 @@ # CPython Internals Documentation [Compiler Design](compiler.md) -[Exception Handling](exception_handling.md) - [Adaptive Instruction Families](adaptive.md) + +[The Source Code Locations Table](locations.md) + +[Exception Handling](exception_handling.md) diff --git a/Objects/locations.md b/InternalDocs/locations.md similarity index 88% rename from Objects/locations.md rename to InternalDocs/locations.md index 18a338a9597..91a7824e2a8 100644 --- a/Objects/locations.md +++ b/InternalDocs/locations.md @@ -1,10 +1,10 @@ # Locations table -For versions up to 3.10 see ./lnotab_notes.txt +The `co_linetable` bytes object of code objects contains a compact +representation of the source code positions of instructions, which are +returned by the `co_positions()` iterator. -In version 3.11 the `co_linetable` bytes object of code objects contains a compact representation of the positions returned by the `co_positions()` iterator. - -The `co_linetable` consists of a sequence of location entries. +`co_linetable` consists of a sequence of location entries. Each entry starts with a byte with the most significant bit set, followed by zero or more bytes with most significant bit unset. Each entry contains the following information: