Skip to content

Conversation

Constellation
Copy link
Member

@Constellation Constellation commented Jul 26, 2025

d9744ee

[JSC] Cacheable Dictionary hit in prototype should be allowed
https://bugs.webkit.org/show_bug.cgi?id=296517
rdar://156762120

Reviewed by Yijia Huang.

If the *hitting* (not miss case) Structure is CacheableDictionary,
we do not need to give up IC. This patch fixes prepareChainForCaching
so that we can return found = true when we are hitting the cacheable
dictionary.

* Source/JavaScriptCore/bytecode/ObjectPropertyConditionSet.cpp:
(JSC::prepareChainForCaching):

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

1dc0caa

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win ❌ 🛠 ios-apple
✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 🧪 win-tests ❌ 🛠 mac-apple
✅ 🧪 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 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 🧪 unsafe-merge ✅ 🛠 tv ✅ 🛠 mac-safer-cpp ✅ 🛠 jsc-armv7
✅ 🛠 tv-sim ❌ 🧪 jsc-armv7-tests
✅ 🛠 watch
✅ 🛠 watch-sim

@Constellation Constellation requested a review from a team as a code owner July 26, 2025 02:34
@Constellation Constellation self-assigned this Jul 26, 2025
@Constellation Constellation added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Jul 26, 2025
@Constellation Constellation force-pushed the eng/JSC-Cacheable-Dictionary-hit-in-prototype-should-be-allowed branch from 32da2ea to aa15413 Compare July 27, 2025 02:24
@Constellation Constellation force-pushed the eng/JSC-Cacheable-Dictionary-hit-in-prototype-should-be-allowed branch from aa15413 to 1dc0caa Compare July 27, 2025 20:05
Copy link
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 Jul 28, 2025
https://bugs.webkit.org/show_bug.cgi?id=296517
rdar://156762120

Reviewed by Yijia Huang.

If the *hitting* (not miss case) Structure is CacheableDictionary,
we do not need to give up IC. This patch fixes prepareChainForCaching
so that we can return found = true when we are hitting the cacheable
dictionary.

* Source/JavaScriptCore/bytecode/ObjectPropertyConditionSet.cpp:
(JSC::prepareChainForCaching):

Canonical link: https://commits.webkit.org/297943@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/JSC-Cacheable-Dictionary-hit-in-prototype-should-be-allowed branch from 1dc0caa to d9744ee Compare July 28, 2025 17:34
@webkit-commit-queue
Copy link
Collaborator

Committed 297943@main (d9744ee): https://commits.webkit.org/297943@main

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

@webkit-commit-queue webkit-commit-queue merged commit d9744ee into WebKit:main Jul 28, 2025
@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 Jul 28, 2025
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