Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0a95f7ae67392ec73a6cb351f1054b3b9395bf0a
      
https://github.com/WebKit/WebKit/commit/0a95f7ae67392ec73a6cb351f1054b3b9395bf0a
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
    M Source/JavaScriptCore/runtime/JSObject.h
    M Source/JavaScriptCore/runtime/JSObjectInlines.h
    M Source/JavaScriptCore/runtime/ObjectConstructor.h

  Log Message:
  -----------
  [JSC] Simplify constructEmptyObject
https://bugs.webkit.org/show_bug.cgi?id=256478
rdar://109049306

Reviewed by Alexey Shvayka and Keith Miller.

This patch simplifies constructEmptyObject because this is super hot code in 
JSON.parse.

1. gcSafeZeroMemory is not necessary in JSFinalObject's constructor. memset is 
OK since
   this object is not exposed to GC yet.
2. We use constant defaultInlineCapacity in constructEmptyObject's fast path to 
make
   the above constant assignment instead of loop.

* Source/JavaScriptCore/runtime/JSObject.h:
(JSC::JSFinalObject::createWithButterfly):
* Source/JavaScriptCore/runtime/JSObjectInlines.h:
(JSC::JSFinalObject::createDefaultEmptyObject):
* Source/JavaScriptCore/runtime/ObjectConstructor.h:
(JSC::constructEmptyObject):

Canonical link: https://commits.webkit.org/263815@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to