[webkit-reviews] review canceled: [Bug 200898] [JSC] Make Promise implementation faster : [Attachment 377482] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 3 13:43:40 PDT 2019


Yusuke Suzuki <ysuzuki at apple.com> has canceled Yusuke Suzuki
<ysuzuki at apple.com>'s request for review:
Bug 200898: [JSC] Make Promise implementation faster
https://bugs.webkit.org/show_bug.cgi?id=200898

Attachment 377482: Patch

https://bugs.webkit.org/attachment.cgi?id=377482&action=review




--- Comment #67 from Yusuke Suzuki <ysuzuki at apple.com> ---
Comment on attachment 377482
  --> https://bugs.webkit.org/attachment.cgi?id=377482
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=377482&action=review

Thanks, I'll quickly update the patch.

>> Source/JavaScriptCore/ChangeLog:57
>> +		takes `onFulfilled` and `onRejected` handlers and they do not
need an intermediate promise for resolving. This removes internal promise
allocations
> 
> Nit: They takes => they take

Fixed.

>> Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js:37
>> +	var syncIterator = @getByIdDirectPrivate(this, "syncIterator");
> 
> Is there a reason you made these all vars?

const/let emits JSEmpty initialization mov bytecode, and I do not want to emit
unnecessary bytecode especially for builtin JS.
Since builtin-js is shared and standard library, I think it is worth doing
micro-optimization.

>> Source/JavaScriptCore/builtins/PromiseOperations.js:86
>> +	    return { @promise: promise, @resolve: resolvingFunctions. at resolve,
@reject: resolvingFunctions. at reject };
> 
> Why not do:
> 
> @putDirectPrivate(resolvingFunctions, “promise”, promise);
> return resolvingFunctions;

No specific reasons. We can just put here. Fixed.


More information about the webkit-reviews mailing list