• gsathya's avatar
    [async-await] Don't create resolving callbacks for throwaway promises · 764548e2
    gsathya authored
    This patch also cleans up NewPromiseCapability.
    
    This patch results in a 20% improvement over 4 runs with the following micro
    benchmark -
    
    var x = Promise.resolve();
    
    async function bar() {
        return x;
    }
    
    async function foo() {
        await bar();
    }
    
    var start = performance.now();
    var count = 0;
    var max = 10000;
    for(var i = 0; i <= max; i++) {
        foo().then(() => {
            count++;
            if(count === max) print( performance.now() - start );
        })
    }
    
    BUG=v8:5639
    
    Review-Url: https://codereview.chromium.org/2512103002
    Cr-Commit-Position: refs/heads/master@{#41116}
    764548e2
promise.js 22.7 KB