[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