[webkit-reviews] review granted: [Bug 187836] Conservatively make Object.assign's fast path do a two phase protocol of loading everything then storing everything to try to prevent a crash : [Attachment 345414] patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jul 19 18:34:18 PDT 2018


Mark Lam <mark.lam at apple.com> has granted Saam Barati <sbarati at apple.com>'s
request for review:
Bug 187836: Conservatively make Object.assign's fast path do a two phase
protocol of loading everything then storing everything to try to prevent a
crash
https://bugs.webkit.org/show_bug.cgi?id=187836

Attachment 345414: patch

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




--- Comment #5 from Mark Lam <mark.lam at apple.com> ---
Comment on attachment 345414
  --> https://bugs.webkit.org/attachment.cgi?id=345414
patch

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

r=me

> Source/JavaScriptCore/ChangeLog:14
> +	   - We end up firing a watchpoint when assining to the target (this
can happen

/assining/assigning/

> Source/JavaScriptCore/runtime/ObjectConstructor.cpp:340
> -	       Structure* structure = source->structure(vm);
> -	       if (canPerformFastPropertyEnumerationForObjectAssign(structure))
{
> +	       if
(canPerformFastPropertyEnumerationForObjectAssign(source->structure(vm))) {

I think you should still cache the structure above.

> Source/JavaScriptCore/runtime/ObjectConstructor.cpp:354
> +		   source->structure(vm)->forEachProperty(vm, [&] (const
PropertyMapEntry& entry) -> bool {

Use the cached structure here.


More information about the webkit-reviews mailing list