[webkit-changes] [WebKit/WebKit] dc0795: [JSC] Use call_ignore_result when calling internal...

Yusuke Suzuki noreply at github.com
Thu Aug 3 02:22:02 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dc07956c5aaa88bb1113f3d211d50d07b24204a0
      https://github.com/WebKit/WebKit/commit/dc07956c5aaa88bb1113f3d211d50d07b24204a0
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-08-03 (Thu, 03 Aug 2023)

  Changed paths:
    M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
    M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
    M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

  Log Message:
  -----------
  [JSC] Use call_ignore_result when calling internal functions
https://bugs.webkit.org/show_bug.cgi?id=259744
rdar://113283485

Reviewed by Mark Lam.

Apply call_ignore_result to internal function calls (like, PromiseOperation related calls from async function),
to purge ValueProfile, unnecessary JIT code, and bytecode more.

* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitInstanceFieldInitializationIfNeeded):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallIgnoreResult):
* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitDirectSetPrototypeOf):
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::BaseDotNode::emitPutProperty):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitDot):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::ObjectPatternNode::bindValue const):
(JSC::ObjectSpreadExpressionNode::emitBytecode):

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




More information about the webkit-changes mailing list