[webkit-changes] [WebKit/WebKit] c8834a: Super Sampler bytecodes should be exposable to use...

Keith Miller noreply at github.com
Sun Feb 12 07:13:37 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c8834a59f73cd2537496e05d411444e75c0b9407
      https://github.com/WebKit/WebKit/commit/c8834a59f73cd2537496e05d411444e75c0b9407
  Author: Keith Miller <keith_miller at apple.com>
  Date:   2023-02-12 (Sun, 12 Feb 2023)

  Changed paths:
    A JSTests/stress/super-sampler-intrinsic-exposed-to-user-scripts.js
    M Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
    M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
    M Source/JavaScriptCore/parser/Lexer.cpp
    M Source/JavaScriptCore/runtime/OptionsList.h

  Log Message:
  -----------
  Super Sampler bytecodes should be exposable to user scripts
https://bugs.webkit.org/show_bug.cgi?id=252118

Reviewed by Yusuke Suzuki.

Right now there's not a good way to start or stop the super sampler from user code inside benchmarks. This patch adds a new bytecode intrinsic function begin/end the sampler. Additionally, to expose those intrinsics this patch adds a new option "exposePrivateIdentifiers" that exposes all private identifiers to user code by lexing all user code as if it was built-in.

* JSTests/stress/super-sampler-intrinsic-exposed-to-user-scripts.js: Added.
(foo):
* Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h:
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_superSamplerBegin):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_superSamplerEnd):
* Source/JavaScriptCore/parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
* Source/JavaScriptCore/runtime/OptionsList.h:

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




More information about the webkit-changes mailing list