RESOLVED FIXED 31198
Can cache prototype lookups on uncacheable dictionaries.
https://bugs.webkit.org/show_bug.cgi?id=31198
Summary Can cache prototype lookups on uncacheable dictionaries.
Oliver Hunt
Reported 2009-11-05 22:38:12 PST
var o = {a:5,b:6}; var a={__proto__:o}; delete o.b; function f(o) {return o.a; }; f(a); f(a);f(a); delete o.a; o.c="FAIL"; alert(f(a));
Attachments
Patch (13.68 KB, patch)
2009-11-09 17:43 PST, Oliver Hunt
no flags
Fix wrong expectation (1.12 KB, patch)
2009-11-09 19:25 PST, Shinichiro Hamaji
oliver: review+
Oliver Hunt
Comment 1 2009-11-09 17:43:35 PST
Gavin Barraclough
Comment 2 2009-11-09 18:07:43 PST
Comment on attachment 42816 [details] Patch I don't like the name sortedProperties, partly because in the first loop, it isn't yet sorted, partly because it was not immediately clear to me these were pointers into the original map (modified by the entry-> writes). I'm not sure what a good name would be, so I think a couple more comments (like, "These writes are modifying the persistent property map for the structure!". Or something.) And the variable name 'p' is kinda sucky, too. But the code all looks sensible, r+.
Oliver Hunt
Comment 3 2009-11-09 18:20:09 PST
Committed r50704
Shinichiro Hamaji
Comment 4 2009-11-09 19:25:14 PST
Created attachment 42842 [details] Fix wrong expectation
Oliver Hunt
Comment 5 2009-11-09 19:26:30 PST
Comment on attachment 42842 [details] Fix wrong expectation r=me whoops :-(
Oliver Hunt
Comment 6 2009-11-09 19:31:14 PST
Comment on attachment 42842 [details] Fix wrong expectation I guess the commit bot won't land build fixes. weee!
Note You need to log in before you can comment on or make changes to this bug.