Commit d98570a1 authored by verwaest's avatar verwaest Committed by Commit bot

Inline fast-bailout-checks for LookupIterator::UpdateProtector

BUG=

Review URL: https://codereview.chromium.org/1754023003

Cr-Commit-Position: refs/heads/master@{#34438}
parent ca5bd8d4
...@@ -171,10 +171,7 @@ bool LookupIterator::HolderIsInContextIndex(uint32_t index) const { ...@@ -171,10 +171,7 @@ bool LookupIterator::HolderIsInContextIndex(uint32_t index) const {
return false; return false;
} }
void LookupIterator::UpdateProtector() { void LookupIterator::InternalUpdateProtector() {
if (!FLAG_harmony_species) return;
if (IsElement()) return;
if (isolate_->bootstrapper()->IsActive()) return; if (isolate_->bootstrapper()->IsActive()) return;
if (!isolate_->IsArraySpeciesLookupChainIntact()) return; if (!isolate_->IsArraySpeciesLookupChainIntact()) return;
......
...@@ -257,9 +257,17 @@ class LookupIterator final BASE_EMBEDDED { ...@@ -257,9 +257,17 @@ class LookupIterator final BASE_EMBEDDED {
} }
Handle<Object> GetDataValue() const; Handle<Object> GetDataValue() const;
void WriteDataValue(Handle<Object> value); 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: private:
void InternalUpdateProtector();
enum class InterceptorState { enum class InterceptorState {
kUninitialized, kUninitialized,
kSkipNonMasking, kSkipNonMasking,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment