• gsathya's avatar
    Object · 30b564c7
    gsathya authored
    -- New JSObject for promises: JSPromise
    
    Builtins
    -- PromiseThen TFJ
    -- PromiseCreateAndSet TFJ for internal use
    -- PerformPromiseThen TFJ for internal use
    -- PromiseInit for initial promise setup
    -- SpeciesConstructor for use in PromiseThen
    -- ThrowIfNotJSReceiver for use in SpeciesConstructor
    -- AppendPromiseCallback to update FixedArray with new callback
    -- InternalPerformPromiseThen
    
    Promises.js
    -- Cleanup unused symbols
    -- Remove PerformPromiseThen
    -- Remove PromiseThen
    -- Remove PromiseSet
    -- Remove PromiseAttachCallbacks
    
    Runtime
    -- PromiseSet to set promise inobject values
    -- Refactor functions to use FixedArrays for callbacks instead of
       JSArray
    -- Runtime_PromiseStatus to return promise status
    -- Runtime_PromiseResult to return promise result
    -- Runtime_PromiseDeferred to return deferred attached to promise
    -- Runtime_PromiseRejectReactions to return reject reactions attached
       to promise
    
    This CL results in a 13.07% improvement in the promises benchmark
    (over 5 runs).
    
    BUG=v8:5343
    
    Review-Url: https://codereview.chromium.org/2536463002
    Cr-Commit-Position: refs/heads/master@{#41503}
    30b564c7
test-inobject-slack-tracking.cc 33.2 KB