| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index f524bb6bfbddb5d95db67d7af157ef216440639e..d27a458fa41313e26e806f11c3c350269f7c0535 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -480,20 +480,21 @@ Handle<Type> CompareNilICStub::GetType(
|
| Isolate* isolate,
|
| Handle<Map> map) {
|
| if (state_.Contains(CompareNilICStub::GENERIC)) {
|
| - return Type::Any(isolate);
|
| + return handle(Type::Any(), isolate);
|
| }
|
|
|
| - Handle<Type> result = Type::None(isolate);
|
| + Handle<Type> result(Type::None(), isolate);
|
| if (state_.Contains(CompareNilICStub::UNDEFINED)) {
|
| - result = Type::Union(result, Type::Undefined(isolate), isolate);
|
| + result = handle(Type::Union(result, handle(Type::Undefined(), isolate)),
|
| + isolate);
|
| }
|
| if (state_.Contains(CompareNilICStub::NULL_TYPE)) {
|
| - result = Type::Union(result, Type::Null(isolate), isolate);
|
| + result = handle(Type::Union(result, handle(Type::Null(), isolate)),
|
| + isolate);
|
| }
|
| if (state_.Contains(CompareNilICStub::MONOMORPHIC_MAP)) {
|
| - Handle<Type> type = map.is_null()
|
| - ? Type::Detectable(isolate) : Type::Class(map, isolate);
|
| - result = Type::Union(result, type, isolate);
|
| + Type* type = map.is_null() ? Type::Detectable() : Type::Class(map);
|
| + result = handle(Type::Union(result, handle(type, isolate)), isolate);
|
| }
|
|
|
| return result;
|
| @@ -504,9 +505,9 @@ Handle<Type> CompareNilICStub::GetInputType(
|
| Isolate* isolate,
|
| Handle<Map> map) {
|
| Handle<Type> output_type = GetType(isolate, map);
|
| - Handle<Type> nil_type = nil_value_ == kNullValue
|
| - ? Type::Null(isolate) : Type::Undefined(isolate);
|
| - return Type::Union(output_type, nil_type, isolate);
|
| + Handle<Type> nil_type = handle(nil_value_ == kNullValue
|
| + ? Type::Null() : Type::Undefined(), isolate);
|
| + return handle(Type::Union(output_type, nil_type), isolate);
|
| }
|
|
|
|
|
|
|