Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(944)

Unified Diff: src/crankshaft/hydrogen-types.cc

Issue 1722193002: [compiler] Drop the CompareNilIC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/crankshaft/hydrogen-types.cc
diff --git a/src/crankshaft/hydrogen-types.cc b/src/crankshaft/hydrogen-types.cc
index 8c8562581a1d1cc5d38241764e86e9ff1a25b4bc..ab27f01257ede2d20e39f6191295119acfc2244d 100644
--- a/src/crankshaft/hydrogen-types.cc
+++ b/src/crankshaft/hydrogen-types.cc
@@ -22,7 +22,7 @@ HType HType::FromType(Type* type) {
if (type->Is(Type::Boolean())) return HType::Boolean();
if (type->Is(Type::Undefined())) return HType::Undefined();
if (type->Is(Type::Object())) return HType::JSObject();
- if (type->Is(Type::Receiver())) return HType::JSReceiver();
+ if (type->Is(Type::DetectableReceiver())) return HType::JSReceiver();
return HType::Tagged();
}
@@ -43,8 +43,12 @@ HType HType::FromValue(Handle<Object> value) {
if (value->IsString()) return HType::String();
if (value->IsBoolean()) return HType::Boolean();
if (value->IsUndefined()) return HType::Undefined();
- if (value->IsJSArray()) return HType::JSArray();
- if (value->IsJSObject()) return HType::JSObject();
+ if (value->IsJSArray() && !value->IsUndetectableObject()) {
Toon Verwaest 2016/02/23 20:03:19 JSArrays cannot be undetectable I think. It's only
Benedikt Meurer 2016/02/24 05:39:18 Done.
+ return HType::JSArray();
+ }
+ if (value->IsJSObject() && !value->IsUndetectableObject()) {
+ return HType::JSObject();
+ }
DCHECK(value->IsHeapObject());
return HType::HeapObject();
}

Powered by Google App Engine
This is Rietveld 408576698