[Webkit-unassigned] [Bug 186694] [ESNExt] String.prototype.matchAll
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jun 13 18:12:14 PDT 2019
https://bugs.webkit.org/show_bug.cgi?id=186694
--- Comment #29 from Alexey Shvayka <shvaikalesh at gmail.com> ---
(In reply to Yusuke Suzuki from comment #27)
> Comment on attachment 372055 [details]
> Patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=372055&action=review
>
> The logic looks nice.
>
> > Source/JavaScriptCore/CMakeLists.txt:934
> > + runtime/RegExpStringIteratorPrototype.h
>
> Let’s add these files (added h, cpp, and generated code from js file etc.
> maybe js file too.) to Xcode project file too?
> At that time, be careful that Xcode should not build the added cpp files
> directly. We are using unified builds.
> So we need to set “target” configuration in Xcode property.
> See the similar files and align these files to them.
Thank you for detailed tips, I've fixed the build via Xcode UI.
>
> > Source/JavaScriptCore/builtins/RegExpPrototype.js:28
> > +function RegExpStringIteratorConstructor(R, S, global, fullUnicode)
>
> Rename this to createRegExpStringIterator.
>
Using `new` with `create*` function looks kinda weird.
Idiomatic JS is `new` with title-cased constructor, just like we already have with AsyncFromSyncIterator:
```
return new @AsyncFromSyncIteratorConstructor(syncIterator, nextMethod);
```
AsyncFromSyncIterator does indeed expose `createAsyncFromSyncIterator` helper for BytecodeGenerator,
but I not sure it is something we need for RegExpStringIterator.
===
On performance: we can't use any of already defined fast RegExp methods.
We can avoid extra sets and property lookups in two places:
1. After @speciesConstructor in RegExp.prototype[@@matchAll]
2. After last @getByIdDirectPrivate in %RegExpStringIteratorPrototype%.next.
Given that we will have to call @hasObservableSideEffects in `next` every time, does it worth it?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190614/d247d428/attachment.html>
More information about the webkit-unassigned
mailing list