Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 9ecbe6a157c560f15ec91d1ae1a14e50aecd0574..7360172e5b5d6a1036cd5af55e016b2dbb8a6567 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -7511,9 +7511,11 @@ MaybeObject* CodeCache::UpdateNormalTypeCache(Name* name, Code* code) { |
Object* CodeCache::Lookup(Name* name, Code::Flags flags) { |
- flags = Code::RemoveTypeFromFlags(flags); |
- Object* result = LookupDefaultCache(name, flags); |
- if (result->IsCode()) return result; |
+ Object* result = LookupDefaultCache(name, Code::RemoveTypeFromFlags(flags)); |
+ if (result->IsCode()) { |
+ if (Code::cast(result)->flags() == flags) return result; |
+ return GetHeap()->undefined_value(); |
+ } |
return LookupNormalTypeCache(name, flags); |
} |