On 2013/12/11 11:35:26, rossberg wrote:
Yes, I assumed as much. Though I still wonder why we have to change the types
to
Any at all then.

Because Type::None()->Is(Type::Receiver()) but not
Type::Any()->Is(Type::Receiver()).

In the future, I think this logic should move into the (to-be written) function that returns the definitive type for an expression based on its bounds. I think
it'll come quite naturally if we implement it roughly like:

Handle<Type> Expression::GetTypeForHydrogen(bool* want_soft_deopt) {
  // If we have optimistic type information, use it.
  if (!bounds().lower()->Is(Type::None())) return bounds().lower;
  // Otherwise fall back to pessimistic mode.
  if (Type::Any()->Is(bounds().upper)) *want_soft_deopt = true;
  return bounds().upper;
}

https://codereview.chromium.org/111573003/

--
--
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