WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED CONFIGURATION CHANGED
208337
Fix semantic bugs in put inline caching
https://bugs.webkit.org/show_bug.cgi?id=208337
Summary
Fix semantic bugs in put inline caching
Justin Michaud
Reported
2020-02-27 13:32:11 PST
Put inline caching is semantically incorrect in some cases with poly proto. See
https://bugs.webkit.org/show_bug.cgi?id=208261
. We sometimes continue to cache a setter, even though it has changed the prototype chain. Additional cases to consider are puts involving prototype chains that have static property accessors. This is exposed as a result of 206430 since DefineOwnProperty used to transition to uncacheable dictionary. A - setter for x defines a new setter for x on B | B | C We set (new C).x We first call the setter, then try to figure out what the state of things were before it was called. We see that A's setter still exists, so we cache it without ever checking that B has a setter now too. In the code, A = target, C = base. Get is correct because it collects caching information before any calls.
Attachments
Add attachment
proposed patch, testcase, etc.
Justin Michaud
Comment 1
2024-04-08 13:37:16 PDT
Closing old bugs assigned to me
Justin Michaud
Comment 2
2024-04-08 13:37:36 PDT
Closing old bugs assigned to me
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug