Skip to content

Conversation

@markshannon
Copy link
Member

@markshannonmarkshannon commented Nov 1, 2023

Replace frame->return_offset = 1 + INLINE_CACHE_ with frame->return_offset = next_instr - this_instr
As we now specify this_instr in terms of next_instr, we can rely on the C compiler to replace next_instr - this_instr with a constant

new_frame->localsplus[1] = sub;
assert(1 + INLINE_CACHE_ENTRIES_BINARY_SUBSCR == next_instr - this_instr);
frame->return_offset = 1 + INLINE_CACHE_ENTRIES_BINARY_SUBSCR;
frame->return_offset = next_instr - this_instr;
Copy link
Member

Choose a reason for hiding this comment

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

This probably needs a cast to uint16_t

Copy link
MemberAuthor

Choose a reason for hiding this comment

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

It's guaranteed to be small. So, I think it should be OK. Let's see if MSVC complains.

Copy link
MemberAuthor

Choose a reason for hiding this comment

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

It does, indeed, complain

@markshannonmarkshannon merged commit 5697fc2 into python:mainNov 1, 2023
FullteaR pushed a commit to FullteaR/cpython that referenced this pull request Nov 3, 2023
aisk pushed a commit to aisk/cpython that referenced this pull request Feb 11, 2024
@markshannonmarkshannon deleted the dont-use-cache-entries-sizes branch August 6, 2024 10:17
Glyphack pushed a commit to Glyphack/cpython that referenced this pull request Sep 2, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@markshannon@iritkatriel