[webkit-changes] [WebKit/WebKit] e7b74b: [JSC] ResolveNode can't always skip the extra move

Tadeu Zagallo noreply at github.com
Wed Mar 1 07:23:50 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e7b74be2715f8582938a0ad66c0b7841256a3f41
      https://github.com/WebKit/WebKit/commit/e7b74be2715f8582938a0ad66c0b7841256a3f41
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    A JSTests/stress/tdz-check-catch-read.js
    M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

  Log Message:
  -----------
  [JSC] ResolveNode can't always skip the extra move
https://bugs.webkit.org/show_bug.cgi?id=253142
rdar://106076478

Reviewed by Keith Miller.

In http://commits.webkit.org/260555@main I landed an optimization avoid the extra
move in ResolveNode. However, that's not valid when we actually need the TDZ check.
If the check fails, we throw an exception, but we already wrote to the destination.
As a compromise, we still avoid the move unless we actually need the TDZ check.

* JSTests/stress/tdz-check-catch-read.js: Added.
(f):
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::emitBytecode):

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




More information about the webkit-changes mailing list