[webkit-changes] [WebKit/WebKit] 0eef1c: [JSC] FunctionBind should fill BoundThis

Tadeu Zagallo noreply at github.com
Mon Apr 24 08:51:59 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0eef1c81db08bffe7c238a8fbf0de7b59ddbe981
      https://github.com/WebKit/WebKit/commit/0eef1c81db08bffe7c238a8fbf0de7b59ddbe981
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-04-24 (Mon, 24 Apr 2023)

  Changed paths:
    A JSTests/stress/bind-tothis-no-args.js
    M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

  Log Message:
  -----------
  [JSC] FunctionBind should fill BoundThis
https://bugs.webkit.org/show_bug.cgi?id=255582
rdar://108199593

Reviewed by Yusuke Suzuki.

Since https://commits.webkit.org/262385@main we no longer pass the number of
arguments to function#bind around explicitly in DFG/FTL, and in order to infer
the number of arguments we need to account for when undefined is explicitly passed
as an argument, so we started filling all the empty slots with the empty JSValue
instead of undefined. However, we also stopped filling the BoundThis slot. This
patch keeps the behavior filling the arguments with the empty JSValue, but ensures
that BoundThis will be undefined by default.

* JSTests/stress/bind-tothis-no-args.js: Added.
(f0):
(catch):
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

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




More information about the webkit-changes mailing list