Skip to content

Add INSTRUCTION_SIZE macro to code generator. #118423

Description

@markshannon

In bytecodes.c we use both next_instr - this_instr and 1 + INLINE_CACHE_ENTRIES_... to mean "instruction length".
We should add a macro for the purpose that is understood by the code generator.

Examples

The somewhat confusing LOAD_IP(1 + INLINE_CACHE_ENTRIES_SEND); would become LOAD_IP(INSTRUCTION_LENGTH)

frame->return_offset = (uint16_t)(next_instr - this_instr); would become frame->return_offset = INSTRUCTION_LENGTH; which is both easier to understand and wouldn't be rejected as tier 2 code.

Linked PRs

Activity

  1. added a commit that references this issue on Oct 29, 2024
  2. added a commit that references this issue on Dec 8, 2024
  3. Fidget-Spinner commented on Dec 23, 2024

    @Fidget-Spinner
    Member

    I think this is done. So I'll close the issue.

  4. added a commit that references this issue on Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    interpreter-core(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions