[webkit-changes] [WebKit/WebKit] 7c2bd9: [JSC] Use bit flags for ArrayProfile additional in...

Yusuke Suzuki noreply at github.com
Thu Nov 3 22:09:42 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7c2bd95e02c47fa0677a58a9afc2d4548cf5b719
      https://github.com/WebKit/WebKit/commit/7c2bd95e02c47fa0677a58a9afc2d4548cf5b719
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/JavaScriptCore/bytecode/AccessCase.cpp
    M Source/JavaScriptCore/bytecode/ArrayProfile.cpp
    M Source/JavaScriptCore/bytecode/ArrayProfile.h
    M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
    M Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
    M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

  Log Message:
  -----------
  [JSC] Use bit flags for ArrayProfile additional information to easily extend them
https://bugs.webkit.org/show_bug.cgi?id=247466
rdar://101938457

Reviewed by Justin Michaud.

This patch refactors ArrayProfile so that we can easily extend bit flags.
This paves the way to add more flags related to resizable ArrayBuffer.

* Source/JavaScriptCore/bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
* Source/JavaScriptCore/bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescriptionWithoutUpdating):
* Source/JavaScriptCore/bytecode/ArrayProfile.h:
(JSC::ArrayProfile::setMayBeLargeTypedArray):
(JSC::ArrayProfile::mayBeLargeTypedArray const):
(JSC::ArrayProfile::addressOfArrayModes):
(JSC::ArrayProfile::offsetOfArrayProfileFlags):
(JSC::ArrayProfile::setOutOfBounds):
(JSC::ArrayProfile::mayInterceptIndexedAccesses const):
(JSC::ArrayProfile::mayStoreToHole const):
(JSC::ArrayProfile::outOfBounds const):
(JSC::ArrayProfile::usesOriginalArrayStructures const):
(JSC::UnlinkedArrayProfile::update):
(JSC::ArrayProfile::addressOfMayStoreToHole): Deleted.
(JSC::ArrayProfile::offsetOfMayStoreToHole): Deleted.
(JSC::ArrayProfile::addressOfOutOfBounds): Deleted.
(JSC::UnlinkedArrayProfile::UnlinkedArrayProfile): Deleted.
* Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:

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




More information about the webkit-changes mailing list