Index: src/lookup.h |
diff --git a/src/lookup.h b/src/lookup.h |
index 026a575f66b03c81b8d2e48265b355205b8569b7..9a053198cbc8378c07c0806964ff0b320b43e06e 100644 |
--- a/src/lookup.h |
+++ b/src/lookup.h |
@@ -257,9 +257,17 @@ class LookupIterator final BASE_EMBEDDED { |
} |
Handle<Object> GetDataValue() const; |
void WriteDataValue(Handle<Object> value); |
- void UpdateProtector(); |
+ inline void UpdateProtector() { |
+ if (FLAG_harmony_species && !IsElement() && |
+ (*name_ == heap()->constructor_string() || |
+ *name_ == heap()->species_symbol())) { |
+ InternalUpdateProtector(); |
+ } |
+ } |
private: |
+ void InternalUpdateProtector(); |
+ |
enum class InterceptorState { |
kUninitialized, |
kSkipNonMasking, |