Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LibJS: Emit bytecode for function declaration instantiation #24272

Merged
merged 5 commits into from
May 11, 2024

Commits on May 11, 2024

  1. LibJS: Move BindingPattern bytecode generation into a method

    Preparation for upcoming function where binding pattern will have to be
    used outside of ASTCodegen.cpp
    kalenikaliaksandr committed May 11, 2024
    Configuration menu
    Copy the full SHA
    a71b3ec View commit details
    Browse the repository at this point in the history
  2. LibJS: Change NewFunction instruction to accept FunctionNode

    Preparation for upcoming changes where NewFunction will have to be used
    with FunctionDeclaration node.
    kalenikaliaksandr committed May 11, 2024
    Configuration menu
    Copy the full SHA
    34773d1 View commit details
    Browse the repository at this point in the history
  3. LibJS: Emit bytecode for function declaration instantiation

    By doing that all instructions required for instantiation are emitted
    once in compilation and then reused for subsequent calls, instead of
    running generic instantiation process for each call.
    kalenikaliaksandr committed May 11, 2024
    Configuration menu
    Copy the full SHA
    99f8379 View commit details
    Browse the repository at this point in the history
  4. LibJS: Ensure capacity for created lexical and variable environments

    If the minimal amount of required bindings is known in advance, it could
    be used to ensure capacity to avoid resizing the internal vector that
    holds bindings.
    kalenikaliaksandr committed May 11, 2024
    Configuration menu
    Copy the full SHA
    1ed99b9 View commit details
    Browse the repository at this point in the history
  5. LibJS: Remove VM::binding_initialization()

    This function was used for function params initialization but no longer
    used after it got replaced by emitting bytecode.
    kalenikaliaksandr committed May 11, 2024
    Configuration menu
    Copy the full SHA
    7aa8514 View commit details
    Browse the repository at this point in the history