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 {
return false;
}
void LookupIterator::UpdateProtector() {
if (!FLAG_harmony_species) return;
if (IsElement()) return;
void LookupIterator::InternalUpdateProtector() {
if (isolate_->bootstrapper()->IsActive()) return;
if (!isolate_->IsArraySpeciesLookupChainIntact()) return;
......
......@@ -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,
......
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