Index: src/compiler/js-native-context-specialization.h |
diff --git a/src/compiler/js-native-context-specialization.h b/src/compiler/js-native-context-specialization.h |
index cd1b3349adac389c346837f3d1a9c43d2b5b26e8..e82f0664c7433a195745b4892d8e2ebbebce50e7 100644 |
--- a/src/compiler/js-native-context-specialization.h |
+++ b/src/compiler/js-native-context-specialization.h |
@@ -146,6 +146,17 @@ class JSNativeContextSpecialization final : public AdvancedReducer { |
// code dependencies and might use the array protector cell. |
bool CanTreatHoleAsUndefined(std::vector<Handle<Map>> const& receiver_maps); |
+ // Checks if we know at compile time that the {receiver} either definitely |
+ // has the {prototype} in it's prototype chain, or the {receiver} definitely |
+ // doesn't have the {prototype} in it's prototype chain. |
+ enum InferHasInPrototypeChainResult { |
+ kIsInPrototypeChain, |
+ kIsNotInPrototypeChain, |
+ kMayBeInPrototypeChain |
+ }; |
+ InferHasInPrototypeChainResult InferHasInPrototypeChain( |
+ Node* receiver, Node* effect, Handle<JSReceiver> prototype); |
+ |
// Extract receiver maps from {nexus} and filter based on {receiver} if |
// possible. |
bool ExtractReceiverMaps(Node* receiver, Node* effect, |