Skip to content
This repository has been archived by the owner on Jan 26, 2022. It is now read-only.

Optimize constructor.resolve lookup #40

Merged
merged 3 commits into from
Apr 16, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ <h1>Runtime Semantics: PerformPromiseAllSettled ( _iteratorRecord_, _constructor
1. Let _values_ be a new empty List.
1. Let _remainingElementsCount_ be a new Record { [[Value]]: 1 }.
1. Let _index_ be 0.
1. Let _promiseResolve_ be Get(_constructor_, `"resolve"`).
gsathya marked this conversation as resolved.
Show resolved Hide resolved
1. ReturnIfAbrupt(_promiseResolve_).
1. Repeat,
1. Let _next_ be IteratorStep(_iteratorRecord_).
1. If _next_ is an abrupt completion, set _iteratorRecord_.[[Done]] to *true*.
Expand All @@ -53,7 +55,7 @@ <h1>Runtime Semantics: PerformPromiseAllSettled ( _iteratorRecord_, _constructor
1. If _nextValue_ is an abrupt completion, set _iteratorRecord_.[[Done]] to *true*.
1. ReturnIfAbrupt(_nextValue_).
1. Append *undefined* to _values_.
1. Let _nextPromise_ be ? Invoke(_constructor_, `"resolve"`, &laquo; _nextValue_ &raquo;).
1. Let _nextPromise_ be ? Call(_promiseResolve_, _constructor_, &laquo; _nextValue_ &raquo;).
1. Let _steps_ be the algorithm steps defined in <emu-xref href="#sec-promise.allsettled-resolve-element-functions" title></emu-xref>.
1. Let _resolveElement_ be ! CreateBuiltinFunction(_steps_, &laquo; [[AlreadyCalled]], [[Index]], [[Values]], [[Capability]], [[RemainingElements]] &raquo;).
1. Let _alreadyCalled_ be a new Record { [[Value]]: *false* }.
Expand Down