[webkit-reviews] review granted: [Bug 232479] [JSC] Public Class Field initialization is slow : [Attachment 445163] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 29 09:23:38 PST 2021


Alexey Shvayka <ashvayka at apple.com> has granted Yusuke Suzuki
<ysuzuki at apple.com>'s request for review:
Bug 232479: [JSC] Public Class Field initialization is slow
https://bugs.webkit.org/show_bug.cgi?id=232479

Attachment 445163: Patch

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




--- Comment #12 from Alexey Shvayka <ashvayka at apple.com> ---
Comment on attachment 445163
  --> https://bugs.webkit.org/attachment.cgi?id=445163
Patch

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

r=me with a tiny nit on FIXME.

So nice to see generator.emitCallDefineProperty() gone! I've evaluated pretty
much the same approach to replace them in ClassExprNode::emitBytecode() but
that didn't result in microbenchmark progression.

Also, really cool to have JSObject::putDirectInternal() return an error
message, improving developer experience with JSC.

> Source/JavaScriptCore/runtime/CommonSlowPaths.h:202
> +    if (LIKELY(propertyName != vm.propertyNames->underscoreProto &&
!structure->hasReadOnlyOrGetterSetterPropertiesExcludingProto() &&
(isJSFunction || structure->classInfo()->methodTable.defineOwnProperty ==
&JSObject::defineOwnProperty))) {

This handle non-reified accessors, great!

> Source/JavaScriptCore/runtime/JSObjectInlines.h:285
>      // FIXME: For a failure due to non-extensible structure, the error
message is misleading

We can remove this FIXME now.


More information about the webkit-reviews mailing list