Chromium Code Reviews
DescriptionExperimental: this is a substantial change to allow the virtual frame
to flow correctly to deferred code.
The same mechanism is used for all labeled blocks (potential merge
points), not just deferred ones: all live mergable values are held on
the frame. At a jump or branch, local results are allowed to be
passed as arguments to the target block, with the semantics of being
pushed on the frame before performing the jump or branch. At a bind,
the arguments to the block are named, with the semantics of performing
the bind and then popping the arguments from the frame.
"Returns" from deferred code are handled the same way (the return
value is an argument to the block labeled with the deferred code exit
label).
There is obviously still some things to clean up here.
Committed: http://code.google.com/p/v8/source/detail?r=1016
Patch Set 1 #Patch Set 2 : '' #
Total comments: 7
Messages
Total messages: 3 (0 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||