| 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);
|
| }
|
|
|
|
|