Commit 1d51b7a7 authored by rossberg@chromium.org's avatar rossberg@chromium.org

Unrevert "Derive synthetic type bounds for expressions"

Reenables https://codereview.chromium.org/17842004

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/18847002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 2461d2a5
...@@ -15850,7 +15850,7 @@ MaybeObject* PropertyCell::SetValueInferType(Object* value, ...@@ -15850,7 +15850,7 @@ MaybeObject* PropertyCell::SetValueInferType(Object* value,
&PropertyCell::UpdateType, &PropertyCell::UpdateType,
Handle<PropertyCell>(this), Handle<PropertyCell>(this),
Handle<Object>(value, GetIsolate())); Handle<Object>(value, GetIsolate()));
Type* new_type; Type* new_type = NULL;
if (maybe_type->To(&new_type)) return maybe_type; if (maybe_type->To(&new_type)) return maybe_type;
set_type(new_type); set_type(new_type);
} }
......
This diff is collapsed.
...@@ -68,6 +68,12 @@ class AstTyper: public AstVisitor { ...@@ -68,6 +68,12 @@ class AstTyper: public AstVisitor {
void MergeUpperType(Expression* e, Handle<Type> t) { void MergeUpperType(Expression* e, Handle<Type> t) {
e->set_upper_type(handle(Type::Intersect(e->upper_type(), t), isolate_)); e->set_upper_type(handle(Type::Intersect(e->upper_type(), t), isolate_));
} }
void MergeLowerType(Expression* e, Type* t) {
MergeLowerType(e, handle(t, isolate_));
}
void MergeUpperType(Expression* e, Type* t) {
MergeUpperType(e, handle(t, isolate_));
}
void VisitDeclarations(ZoneList<Declaration*>* declarations); void VisitDeclarations(ZoneList<Declaration*>* declarations);
void VisitStatements(ZoneList<Statement*>* statements); void VisitStatements(ZoneList<Statement*>* statements);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment