RESOLVED FIXED 106897
Web Inspector: array grouping does not work big sparse arrays
https://bugs.webkit.org/show_bug.cgi?id=106897
Summary Web Inspector: array grouping does not work big sparse arrays
Andrey Adaikin
Reported 2013-01-15 06:00:13 PST
Patch to follow. This test takes too much time since there is a linear array index iteration: var f = []; f[4294967294] = 4294967294; console.log("%O", f) Now we will choose between array index iteration and object properties iteration for sparse arrays.
Attachments
Patch (8.23 KB, patch)
2013-01-15 06:03 PST, Andrey Adaikin
no flags
Patch (9.52 KB, patch)
2013-01-15 09:12 PST, Andrey Adaikin
no flags
Patch (11.38 KB, patch)
2013-01-16 04:04 PST, Andrey Adaikin
no flags
Rebased (11.60 KB, patch)
2013-01-17 05:47 PST, Andrey Adaikin
no flags
Andrey Adaikin
Comment 1 2013-01-15 06:03:49 PST
Andrey Adaikin
Comment 2 2013-01-15 09:12:41 PST
Pavel Feldman
Comment 3 2013-01-16 01:20:49 PST
Comment on attachment 182787 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=182787&action=review > Source/WebCore/ChangeLog:8 > + Now we will choose between array index iteration and object properties iteration for sparse arrays. It is not clear from the test case how this helps. > Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:651 > + if (toIndex - fromIndex < 250000) { Magic number > Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:749 > + var ownPropertyNames = Object.getOwnPropertyNames(this); Looks like a lot of copypaste.
Andrey Adaikin
Comment 4 2013-01-16 03:36:27 PST
Comment on attachment 182787 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=182787&action=review >> Source/WebCore/ChangeLog:8 >> + Now we will choose between array index iteration and object properties iteration for sparse arrays. > > It is not clear from the test case how this helps. otherwise it times out. >> Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:651 >> + if (toIndex - fromIndex < 250000) { > > Magic number done. >> Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:749 >> + var ownPropertyNames = Object.getOwnPropertyNames(this); > > Looks like a lot of copypaste. Yes, but I don't know how to do better... (any ideas?) These 2 functions are to be serialized to a string, thus if I extract a shared function, it should be also serialized to a string, passed as an argument to the original two, and evaluated back to the Function. I thought it's too much complicated to avoid (small) code dups.
Andrey Adaikin
Comment 5 2013-01-16 04:04:40 PST
Andrey Adaikin
Comment 6 2013-01-17 05:47:46 PST
WebKit Review Bot
Comment 7 2013-01-18 08:00:43 PST
Comment on attachment 183172 [details] Rebased Clearing flags on attachment: 183172 Committed r140150: <http://trac.webkit.org/changeset/140150>
WebKit Review Bot
Comment 8 2013-01-18 08:00:50 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.