Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index c4b26ef697ae52d5fcfac2399b44edb7fc65e685..6e1bde011b7525f40e04694850e26cc0c9421a39 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -5796,6 +5796,21 @@ void CodeStubAssembler::UpdateFeedback(Node* feedback, Node* feedback_vector, |
SKIP_WRITE_BARRIER); |
} |
+void CodeStubAssembler::CheckForAssociatedProtector(Node* name, |
+ Label* if_protector) { |
+ // This list must be kept in sync with LookupIterator::UpdateProtector! |
+ // TODO(jkummerow): Would it be faster to have a bit in Symbol::flags()? |
+ GotoIf(WordEqual(name, LoadRoot(Heap::kconstructor_stringRootIndex)), |
+ if_protector); |
+ GotoIf(WordEqual(name, LoadRoot(Heap::kiterator_symbolRootIndex)), |
+ if_protector); |
+ GotoIf(WordEqual(name, LoadRoot(Heap::kspecies_symbolRootIndex)), |
+ if_protector); |
+ GotoIf(WordEqual(name, LoadRoot(Heap::kis_concat_spreadable_symbolRootIndex)), |
+ if_protector); |
+ // Fall through if no case matched. |
+} |
+ |
Node* CodeStubAssembler::LoadReceiverMap(Node* receiver) { |
return Select(TaggedIsSmi(receiver), |
[=] { return LoadRoot(Heap::kHeapNumberMapRootIndex); }, |