Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Issue 9252007: Refactored iterative map traversal. (Closed)

Created:
8 years, 11 months ago by Sven Panne
Modified:
8 years, 11 months ago
CC:
v8-dev
Visibility:
Public.

Description

Refactored iterative map traversal. The main goal is to cleanly separate between the several parts involved in the traversal: * iterating over all transitions in a descriptor array * iterating over all prototype transitions * storing the parent and the current local traversal position in a map * the iterative traversal algorithm itself The previous algorithm for iterating over prototype transitions did a little bit too much here, iterating over the whole array instead only the filled part. This has been fixed on the way, too. With this CL, it will be much easier to make the necessary changes to the descriptor array iterator to correctly handle map transitions for accessor properties. Furthermore, perhaps we represent transitions a bit different in the future, making finding them a bit easier. This would make some code in this CL (and elsewhere) quite a bit shorter and more efficient. Committed: https://code.google.com/p/v8/source/detail?r=10473

Patch Set 1 #

Patch Set 2 : Filled out the skeleton #

Total comments: 24

Patch Set 3 : Removed inheritance for descriptor/proto iterators plus some renaming #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+181 lines, -65 lines) Patch
M src/objects.cc View 1 2 1 chunk +181 lines, -65 lines 1 comment Download

Messages

Total messages: 9 (0 generated)
Sven Panne
8 years, 11 months ago (2012-01-18 10:50:30 UTC) #1
Sven Panne
Fully implemented and commented now, PTAL.
8 years, 11 months ago (2012-01-19 14:03:45 UTC) #2
Vyacheslav Egorov (Chromium)
https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc File src/objects.cc (right): https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc#newcode4947 src/objects.cc:4947: bool IsRunning() { I find the name confusing because ...
8 years, 11 months ago (2012-01-20 12:04:54 UTC) #3
Sven Panne
https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc File src/objects.cc (right): https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc#newcode4947 src/objects.cc:4947: bool IsRunning() { On 2012/01/20 12:04:54, Vyacheslav Egorov wrote: ...
8 years, 11 months ago (2012-01-20 13:15:32 UTC) #4
Vyacheslav Egorov (Chromium)
https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc File src/objects.cc (right): https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc#newcode4947 src/objects.cc:4947: bool IsRunning() { On 2012/01/20 13:15:33, Sven wrote: > ...
8 years, 11 months ago (2012-01-20 13:59:50 UTC) #5
Sven Panne
https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc File src/objects.cc (right): https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc#newcode4983 src/objects.cc:4983: class IterablePrototypeTransitions : public FixedArray { On 2012/01/20 13:59:50, ...
8 years, 11 months ago (2012-01-20 14:54:50 UTC) #6
Vyacheslav Egorov (Chromium)
https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc File src/objects.cc (right): https://chromiumcodereview.appspot.com/9252007/diff/3001/src/objects.cc#newcode4983 src/objects.cc:4983: class IterablePrototypeTransitions : public FixedArray { On 2012/01/20 14:54:50, ...
8 years, 11 months ago (2012-01-20 16:30:10 UTC) #7
Sven Panne
I've removed the most controversial point, namely the inheritance of the iterators for map/proto transitions. ...
8 years, 11 months ago (2012-01-23 10:32:58 UTC) #8
Vyacheslav Egorov (Chromium)
8 years, 11 months ago (2012-01-23 10:43:09 UTC) #9
lgtm

https://chromiumcodereview.appspot.com/9252007/diff/9001/src/objects.cc
File src/objects.cc (right):

https://chromiumcodereview.appspot.com/9252007/diff/9001/src/objects.cc#newco...
src/objects.cc:5066: class TraversableMap : public Map {
inheritance still.

Powered by Google App Engine
This is Rietveld 408576698