On 2013/12/16 09:57:25, rossberg wrote:
https://codereview.chromium.org/100093004/diff/50001/src/typing.cc
File src/typing.cc (right):

https://codereview.chromium.org/100093004/diff/50001/src/typing.cc#newcode50
src/typing.cc:50: if (info_->is_osr()) ObserveTypesOnStack();
This should go into the Run method. It is not constructing the visitor, it is
part of collecting the type information.

More importantly, as discussed offline, I think the approach in this CL is not
right for two reasons:

(1) It is not sound. It assumes that the stack types can never change.

(2) It duplicates the store typing.

These two problems are related. To fix them, instead of having separate lists, you should refine the existing store with the type information from the stack values -- at the point where the code would continue after OSR (i.e., before
loop bodies with the respective OSR AST id?). The refinement should be
expressible by an Alt effect, I think.

https://codereview.chromium.org/100093004/diff/50001/src/typing.cc#newcode78
src/typing.cc:78: if (value->IsUndefined() || value->IsTheHole()) {
Why is the type None for undefined?

Addressed comments. Please take another look.

https://codereview.chromium.org/100093004/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to