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

Further general optimizations. #389

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Dec 16, 2015

  1. Avoid accessing arguments array without length check.

    Accessing elements after the end of the arguments array triggers
    deoptimization of the entire function on v8, so avoid doing so.  Also
    tweak all the checks into the same standard form for consistency.
    cscott committed Dec 16, 2015
    Configuration menu
    Copy the full SHA
    859f415 View commit details
    Browse the repository at this point in the history
  2. Ensure that ES.* abstract operations are able to be inlined.

    Add a bogus assignment to a function prototype, which appears to be the
    magic hint to treat function assignments as constant (until proven
    otherwise).  Also get rid of the after-the-fact mutation of the ES
    object by making IsPromise an ordinary function.  (We could also
    call `Object.freeze(ES)` but it doesn't actually improve performance
    further.)
    cscott committed Dec 16, 2015
    Configuration menu
    Copy the full SHA
    b9c8385 View commit details
    Browse the repository at this point in the history