|Summary:||GC in the middle of JSObject::allocatePropertyStorage can cause badness|
|Product:||WebKit||Reporter:||Mark Hahnenberg <mhahnenberg>|
|Severity:||Normal||CC:||barraclough, fpizlo, ggaren, webkit.review.bot|
|Version:||528+ (Nightly build)|
Description Mark Hahnenberg 2012-04-12 18:08:25 PDT
Currently, when we're in the middle of JSObject::allocatePropertyStorage, our Structure has inconsistent information. The Structure has just had a property added to it and it thinks it is bigger in both size and capacity, but our actual property backing store is still the same size as before. This can lead the garbage collector to do bad things based on this inaccurate information. We should instead check to see if we need to allocate more space first and do so if necessary, and then add the new property to our structure.
Comment 2 Build Bot 2012-04-12 18:38:47 PDT
Comment on attachment 137007 [details] Patch Attachment 137007 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/12391710
Comment 4 Geoffrey Garen 2012-04-12 21:52:56 PDT
Comment 6 Build Bot 2012-04-13 11:24:40 PDT
Comment on attachment 137104 [details] Patch Attachment 137104 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/12400123
Comment 8 Build Bot 2012-04-13 11:55:57 PDT
Comment on attachment 137112 [details] Patch Attachment 137112 [details] did not pass win-ews (win): Output: http://queues.webkit.org/results/12403044
Comment 10 Geoffrey Garen 2012-04-13 14:47:23 PDT
Comment on attachment 137121 [details] Patch r=me Did the test cases I mentioned pan out?
Comment 11 WebKit Review Bot 2012-04-16 08:10:26 PDT
Comment on attachment 137121 [details] Patch Clearing flags on attachment: 137121 Committed r114255: <http://trac.webkit.org/changeset/114255>
Comment 12 WebKit Review Bot 2012-04-16 08:10:31 PDT
All reviewed patches have been landed. Closing bug.
Comment 13 Mark Hahnenberg 2012-04-16 15:27:42 PDT
Comment 14 Gavin Barraclough 2012-05-08 21:45:52 PDT
Reverted in r116494, this causes many failures if COLLECT_ON_EVERY_ALLOCATION is enabled.
Comment 15 Mark Hahnenberg 2012-05-09 15:56:30 PDT
Rolling this change back in since the underlying bug that it revealed should have been fixed in http://trac.webkit.org/changeset/116565.
Comment 17 Mark Hahnenberg 2012-05-16 11:48:42 PDT
Resubmitting patch to make sure everything still builds.