Skip to content

[JSC] Implement DeleteById and DeleteByVal handlers#30015

Merged
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
Constellation:eng/JSC-Implement-DeleteById-and-DeleteByVal-handlers
Jun 20, 2024
Merged

[JSC] Implement DeleteById and DeleteByVal handlers#30015
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
Constellation:eng/JSC-Implement-DeleteById-and-DeleteByVal-handlers

Conversation

@Constellation
Copy link
Copy Markdown
Member

@Constellation Constellation commented Jun 20, 2024

a9771d4

[JSC] Implement DeleteById and DeleteByVal handlers
https://bugs.webkit.org/show_bug.cgi?id=275705
rdar://130224209

Reviewed by Yijia Huang.

This patch adds DeleteById and DeleteByVal handlers for Handler IC.
The implementation is quite simple, and it is just following to what we did for PutByVal etc.
We also make handler code generator function names consistent. Name them as Handler, not HandlerCodeGenerator.

* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheHandler::createPreCompiled):
(JSC::getByIdLoadHandlerImpl):
(JSC::getByIdLoadOwnPropertyHandler):
(JSC::getByIdLoadPrototypePropertyHandler):
(JSC::getByIdMissHandler):
(JSC::putByIdReplaceHandler):
(JSC::putByIdTransitionHandlerImpl):
(JSC::putByIdTransitionNonAllocatingHandler):
(JSC::putByIdTransitionNewlyAllocatingHandler):
(JSC::putByIdTransitionReallocatingHandler):
(JSC::deleteByIdDeleteHandler):
(JSC::deleteByIdIgnoreHandlerImpl):
(JSC::deleteByIdDeleteNonConfigurableHandler):
(JSC::deleteByIdDeleteMissHandler):
(JSC::getByValLoadHandlerImpl):
(JSC::getByValWithStringLoadOwnPropertyHandler):
(JSC::getByValWithStringLoadPrototypePropertyHandler):
(JSC::getByValWithSymbolLoadOwnPropertyHandler):
(JSC::getByValWithSymbolLoadPrototypePropertyHandler):
(JSC::getByValMissHandlerImpl):
(JSC::getByValWithStringMissHandler):
(JSC::getByValWithSymbolMissHandler):
(JSC::putByValReplaceHandlerImpl):
(JSC::putByValWithStringReplaceHandler):
(JSC::putByValWithSymbolReplaceHandler):
(JSC::putByValTransitionHandlerImpl):
(JSC::putByValWithStringTransitionNonAllocatingHandler):
(JSC::putByValWithSymbolTransitionNonAllocatingHandler):
(JSC::putByValWithStringTransitionNewlyAllocatingHandler):
(JSC::putByValWithSymbolTransitionNewlyAllocatingHandler):
(JSC::putByValWithStringTransitionReallocatingHandler):
(JSC::putByValWithSymbolTransitionReallocatingHandler):
(JSC::deleteByValDeleteHandlerImpl):
(JSC::deleteByValIgnoreHandlerImpl):
(JSC::deleteByValWithStringDeleteHandler):
(JSC::deleteByValWithStringDeleteNonConfigurableHandler):
(JSC::deleteByValWithStringDeleteMissHandler):
(JSC::deleteByValWithSymbolDeleteHandler):
(JSC::deleteByValWithSymbolDeleteNonConfigurableHandler):
(JSC::deleteByValWithSymbolDeleteMissHandler):
(JSC::InlineCacheCompiler::compileOneAccessCaseHandler):
(JSC::getByIdLoadHandlerCodeGeneratorImpl): Deleted.
(JSC::getByIdLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByIdLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByIdMissHandlerCodeGenerator): Deleted.
(JSC::putByIdReplaceHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionHandlerCodeGeneratorImpl): Deleted.
(JSC::putByIdTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionReallocatingHandlerCodeGenerator): Deleted.
(JSC::getByValLoadHandlerCodeGeneratorImpl): Deleted.
(JSC::getByValWithStringLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithStringLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByValMissHandlerCodeGeneratorImpl): Deleted.
(JSC::getByValWithStringMissHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolMissHandlerCodeGenerator): Deleted.
(JSC::putByValReplaceHandlerCodeGeneratorImpl): Deleted.
(JSC::putByValWithStringReplaceHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolReplaceHandlerCodeGenerator): Deleted.
(JSC::putByValTransitionHandlerCodeGeneratorImpl): Deleted.
(JSC::putByValWithStringTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithStringTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithStringTransitionReallocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionReallocatingHandlerCodeGenerator): Deleted.
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.h:
* Source/JavaScriptCore/jit/BaselineJITRegisters.h:
* Source/JavaScriptCore/jit/JITThunks.h:

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

17feec9

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 wincairo
✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug 🧪 wpe-wk2 ✅ 🧪 wincairo-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🛠 🧪 jsc 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 🧪 jsc-arm64 ⏳ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 🧪 gtk-wk2
⏳ 🛠 vision-sim ✅ 🧪 mac-wk2-stress 🧪 api-gtk
⏳ 🧪 vision-wk2 🛠 jsc-armv7
✅ 🛠 🧪 unsafe-merge ✅ 🛠 tv 🧪 jsc-armv7-tests
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@Constellation Constellation requested a review from a team as a code owner June 20, 2024 19:41
@Constellation Constellation self-assigned this Jun 20, 2024
@Constellation Constellation added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Jun 20, 2024
Copy link
Copy Markdown
Contributor

@hyjorc1 hyjorc1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me

@Constellation Constellation added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 20, 2024
@webkit-commit-queue webkit-commit-queue force-pushed the eng/JSC-Implement-DeleteById-and-DeleteByVal-handlers branch from 17feec9 to 765de01 Compare June 20, 2024 22:16
https://bugs.webkit.org/show_bug.cgi?id=275705
rdar://130224209

Reviewed by Yijia Huang.

This patch adds DeleteById and DeleteByVal handlers for Handler IC.
The implementation is quite simple, and it is just following to what we did for PutByVal etc.
We also make handler code generator function names consistent. Name them as Handler, not HandlerCodeGenerator.

* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheHandler::createPreCompiled):
(JSC::getByIdLoadHandlerImpl):
(JSC::getByIdLoadOwnPropertyHandler):
(JSC::getByIdLoadPrototypePropertyHandler):
(JSC::getByIdMissHandler):
(JSC::putByIdReplaceHandler):
(JSC::putByIdTransitionHandlerImpl):
(JSC::putByIdTransitionNonAllocatingHandler):
(JSC::putByIdTransitionNewlyAllocatingHandler):
(JSC::putByIdTransitionReallocatingHandler):
(JSC::deleteByIdDeleteHandler):
(JSC::deleteByIdIgnoreHandlerImpl):
(JSC::deleteByIdDeleteNonConfigurableHandler):
(JSC::deleteByIdDeleteMissHandler):
(JSC::getByValLoadHandlerImpl):
(JSC::getByValWithStringLoadOwnPropertyHandler):
(JSC::getByValWithStringLoadPrototypePropertyHandler):
(JSC::getByValWithSymbolLoadOwnPropertyHandler):
(JSC::getByValWithSymbolLoadPrototypePropertyHandler):
(JSC::getByValMissHandlerImpl):
(JSC::getByValWithStringMissHandler):
(JSC::getByValWithSymbolMissHandler):
(JSC::putByValReplaceHandlerImpl):
(JSC::putByValWithStringReplaceHandler):
(JSC::putByValWithSymbolReplaceHandler):
(JSC::putByValTransitionHandlerImpl):
(JSC::putByValWithStringTransitionNonAllocatingHandler):
(JSC::putByValWithSymbolTransitionNonAllocatingHandler):
(JSC::putByValWithStringTransitionNewlyAllocatingHandler):
(JSC::putByValWithSymbolTransitionNewlyAllocatingHandler):
(JSC::putByValWithStringTransitionReallocatingHandler):
(JSC::putByValWithSymbolTransitionReallocatingHandler):
(JSC::deleteByValDeleteHandlerImpl):
(JSC::deleteByValIgnoreHandlerImpl):
(JSC::deleteByValWithStringDeleteHandler):
(JSC::deleteByValWithStringDeleteNonConfigurableHandler):
(JSC::deleteByValWithStringDeleteMissHandler):
(JSC::deleteByValWithSymbolDeleteHandler):
(JSC::deleteByValWithSymbolDeleteNonConfigurableHandler):
(JSC::deleteByValWithSymbolDeleteMissHandler):
(JSC::InlineCacheCompiler::compileOneAccessCaseHandler):
(JSC::getByIdLoadHandlerCodeGeneratorImpl): Deleted.
(JSC::getByIdLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByIdLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByIdMissHandlerCodeGenerator): Deleted.
(JSC::putByIdReplaceHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionHandlerCodeGeneratorImpl): Deleted.
(JSC::putByIdTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByIdTransitionReallocatingHandlerCodeGenerator): Deleted.
(JSC::getByValLoadHandlerCodeGeneratorImpl): Deleted.
(JSC::getByValWithStringLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithStringLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolLoadOwnPropertyHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolLoadPrototypePropertyHandlerCodeGenerator): Deleted.
(JSC::getByValMissHandlerCodeGeneratorImpl): Deleted.
(JSC::getByValWithStringMissHandlerCodeGenerator): Deleted.
(JSC::getByValWithSymbolMissHandlerCodeGenerator): Deleted.
(JSC::putByValReplaceHandlerCodeGeneratorImpl): Deleted.
(JSC::putByValWithStringReplaceHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolReplaceHandlerCodeGenerator): Deleted.
(JSC::putByValTransitionHandlerCodeGeneratorImpl): Deleted.
(JSC::putByValWithStringTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionNonAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithStringTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionNewlyAllocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithStringTransitionReallocatingHandlerCodeGenerator): Deleted.
(JSC::putByValWithSymbolTransitionReallocatingHandlerCodeGenerator): Deleted.
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.h:
* Source/JavaScriptCore/jit/BaselineJITRegisters.h:
* Source/JavaScriptCore/jit/JITThunks.h:

Canonical link: https://commits.webkit.org/280223@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/JSC-Implement-DeleteById-and-DeleteByVal-handlers branch from 765de01 to a9771d4 Compare June 20, 2024 22:18
@webkit-commit-queue
Copy link
Copy Markdown
Collaborator

Committed 280223@main (a9771d4): https://commits.webkit.org/280223@main

Reviewed commits have been landed. Closing PR #30015 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit a9771d4 into WebKit:main Jun 20, 2024
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 20, 2024
@Constellation Constellation deleted the eng/JSC-Implement-DeleteById-and-DeleteByVal-handlers branch June 20, 2024 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants