mirror of
https://github.com/python/cpython.git
synced 2025-08-22 01:35:16 +00:00
GH-93249: relax overly strict assertion on bounds->ar_start (GH-93961) (GH-94032)
(cherry picked from commit 1603a1029f
)
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
This commit is contained in:
parent
e6ad59934e
commit
26329e49ca
2 changed files with 33 additions and 2 deletions
|
@ -768,6 +768,11 @@ next_code_delta(PyCodeAddressRange *bounds)
|
|||
static int
|
||||
previous_code_delta(PyCodeAddressRange *bounds)
|
||||
{
|
||||
if (bounds->ar_start == 0) {
|
||||
// If we looking at the first entry, the
|
||||
// "previous" entry has an implicit length of 1.
|
||||
return 1;
|
||||
}
|
||||
const uint8_t *ptr = bounds->opaque.lo_next-1;
|
||||
while (((*ptr) & 128) == 0) {
|
||||
ptr--;
|
||||
|
@ -811,7 +816,7 @@ static void
|
|||
retreat(PyCodeAddressRange *bounds)
|
||||
{
|
||||
ASSERT_VALID_BOUNDS(bounds);
|
||||
assert(bounds->ar_start > 0);
|
||||
assert(bounds->ar_start >= 0);
|
||||
do {
|
||||
bounds->opaque.lo_next--;
|
||||
} while (((*bounds->opaque.lo_next) & 128) == 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue