[cleanup] Use AllocationSite::ShouldTrack instead of GetMode
Change-Id: Ie91d29f2e2ec7dc6dc4f824212c17d70a57d8b08 Reviewed-on: https://chromium-review.googlesource.com/541316 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46048}
This commit is contained in:
parent
b2b38f00c0
commit
f38f9dcd7e
@ -61,8 +61,7 @@ void AllocationSiteCreationContext::ExitScope(
|
||||
bool AllocationSiteUsageContext::ShouldCreateMemento(Handle<JSObject> object) {
|
||||
if (activated_ && AllocationSite::CanTrack(object->map()->instance_type())) {
|
||||
if (FLAG_allocation_site_pretenuring ||
|
||||
AllocationSite::GetMode(object->GetElementsKind()) ==
|
||||
TRACK_ALLOCATION_SITE) {
|
||||
AllocationSite::ShouldTrack(object->GetElementsKind())) {
|
||||
if (FLAG_trace_creation_allocation_sites) {
|
||||
PrintF("*** Creating Memento for %s %p\n",
|
||||
object->IsJSArray() ? "JSArray" : "JSObject",
|
||||
|
@ -2442,7 +2442,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -2625,7 +2625,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -6671,7 +6671,7 @@ void CodeStubAssembler::TransitionElementsKind(Node* object, Node* map,
|
||||
Label* bailout) {
|
||||
DCHECK(!IsFastHoleyElementsKind(from_kind) ||
|
||||
IsFastHoleyElementsKind(to_kind));
|
||||
if (AllocationSite::GetMode(from_kind, to_kind) == TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(from_kind, to_kind)) {
|
||||
TrapAllocationMemento(object, bailout);
|
||||
}
|
||||
|
||||
|
@ -336,7 +336,7 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() {
|
||||
DCHECK_IMPLIES(IsFastHoleyElementsKind(from_kind),
|
||||
IsFastHoleyElementsKind(to_kind));
|
||||
|
||||
if (AllocationSite::GetMode(from_kind, to_kind) == TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(from_kind, to_kind)) {
|
||||
Add<HTrapAllocationMemento>(object);
|
||||
}
|
||||
|
||||
|
@ -1020,7 +1020,7 @@ TF_STUB(ArrayNoArgumentConstructorStub, CodeStubAssembler) {
|
||||
Node* native_context = LoadObjectField(Parameter(Descriptor::kFunction),
|
||||
JSFunction::kContextOffset);
|
||||
bool track_allocation_site =
|
||||
AllocationSite::GetMode(elements_kind) == TRACK_ALLOCATION_SITE &&
|
||||
AllocationSite::ShouldTrack(elements_kind) &&
|
||||
stub->override_mode() != DISABLE_ALLOCATION_SITES;
|
||||
Node* allocation_site =
|
||||
track_allocation_site ? Parameter(Descriptor::kAllocationSite) : nullptr;
|
||||
@ -1109,9 +1109,13 @@ TF_STUB(ArraySingleArgumentConstructorStub, ArrayConstructorAssembler) {
|
||||
Node* function = Parameter(Descriptor::kFunction);
|
||||
Node* native_context = LoadObjectField(function, JSFunction::kContextOffset);
|
||||
Node* array_map = LoadJSArrayElementsMap(elements_kind, native_context);
|
||||
AllocationSiteMode mode = stub->override_mode() == DISABLE_ALLOCATION_SITES
|
||||
? DONT_TRACK_ALLOCATION_SITE
|
||||
: AllocationSite::GetMode(elements_kind);
|
||||
AllocationSiteMode mode = DONT_TRACK_ALLOCATION_SITE;
|
||||
if (stub->override_mode() == DONT_OVERRIDE) {
|
||||
mode = AllocationSite::ShouldTrack(elements_kind)
|
||||
? TRACK_ALLOCATION_SITE
|
||||
: DONT_TRACK_ALLOCATION_SITE;
|
||||
}
|
||||
|
||||
Node* array_size = Parameter(Descriptor::kArraySizeSmiParameter);
|
||||
Node* allocation_site = Parameter(Descriptor::kAllocationSite);
|
||||
|
||||
|
@ -1402,7 +1402,7 @@ class CommonArrayConstructorStub : public TurboFanCodeStub {
|
||||
// if there is a difference between the global allocation site policy
|
||||
// for an ElementsKind and the desired usage of the stub.
|
||||
DCHECK(override_mode != DISABLE_ALLOCATION_SITES ||
|
||||
AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE);
|
||||
AllocationSite::ShouldTrack(kind));
|
||||
set_sub_minor_key(ElementsKindBits::encode(kind) |
|
||||
AllocationSiteOverrideModeBits::encode(override_mode));
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ void CompilationDependencies::AssumeTransitionStable(
|
||||
site->SitePointsToLiteral()
|
||||
? JSObject::cast(site->transition_info())->GetElementsKind()
|
||||
: site->GetElementsKind();
|
||||
if (AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
Insert(DependentCode::kAllocationSiteTransitionChangedGroup, site);
|
||||
}
|
||||
}
|
||||
|
@ -733,9 +733,8 @@ Reduction JSCreateLowering::ReduceNewArrayToStubCall(
|
||||
|
||||
ElementsKind elements_kind = site->GetElementsKind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(elements_kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSite::ShouldTrack(elements_kind) ? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
// The Array constructor can only trigger an observable side-effect
|
||||
// if the new.target may be a proxy.
|
||||
@ -758,9 +757,8 @@ Reduction JSCreateLowering::ReduceNewArrayToStubCall(
|
||||
return Changed(node);
|
||||
} else if (arity == 1) {
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(elements_kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSite::ShouldTrack(elements_kind) ? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (IsHoleyElementsKind(elements_kind)) {
|
||||
ArraySingleArgumentConstructorStub stub(isolate(), elements_kind,
|
||||
|
@ -3591,10 +3591,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ Move(r2, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -392,10 +392,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ Mov(x2, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3427,10 +3427,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ mov(ebx, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3544,10 +3544,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ li(a2, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3747,10 +3747,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ li(a2, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3845,10 +3845,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ Move(r5, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3752,10 +3752,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ Move(r4, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3594,10 +3594,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ Move(rbx, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -3708,10 +3708,9 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) {
|
||||
__ mov(ebx, instr->hydrogen()->site());
|
||||
|
||||
ElementsKind kind = instr->hydrogen()->elements_kind();
|
||||
AllocationSiteOverrideMode override_mode =
|
||||
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
AllocationSiteOverrideMode override_mode = AllocationSite::ShouldTrack(kind)
|
||||
? DISABLE_ALLOCATION_SITES
|
||||
: DONT_OVERRIDE;
|
||||
|
||||
if (instr->arity() == 0) {
|
||||
ArrayNoArgumentConstructorStub stub(isolate(), kind, override_mode);
|
||||
|
@ -2364,7 +2364,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ void KeyedStoreGenericAssembler::TryRewriteElements(
|
||||
DCHECK(IsFastPackedElementsKind(from_kind));
|
||||
ElementsKind holey_from_kind = GetHoleyElementsKind(from_kind);
|
||||
ElementsKind holey_to_kind = GetHoleyElementsKind(to_kind);
|
||||
if (AllocationSite::GetMode(from_kind, to_kind) == TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(from_kind, to_kind)) {
|
||||
TrapAllocationMemento(receiver, bailout);
|
||||
}
|
||||
Label perform_transition(this), check_holey_map(this);
|
||||
@ -178,8 +178,7 @@ void KeyedStoreGenericAssembler::TryChangeToHoleyMapHelper(
|
||||
Node* packed_map =
|
||||
LoadContextElement(native_context, Context::ArrayMapIndex(packed_kind));
|
||||
GotoIf(WordNotEqual(receiver_map, packed_map), map_mismatch);
|
||||
if (AllocationSite::GetMode(packed_kind, holey_kind) ==
|
||||
TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(packed_kind, holey_kind)) {
|
||||
TrapAllocationMemento(receiver, bailout);
|
||||
}
|
||||
Node* holey_map =
|
||||
|
@ -2623,7 +2623,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -2625,7 +2625,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -1170,13 +1170,8 @@ bool AllocationSite::SitePointsToLiteral() {
|
||||
|
||||
// Heuristic: We only need to create allocation site info if the boilerplate
|
||||
// elements kind is the initial elements kind.
|
||||
AllocationSiteMode AllocationSite::GetMode(
|
||||
ElementsKind boilerplate_elements_kind) {
|
||||
if (IsFastSmiElementsKind(boilerplate_elements_kind)) {
|
||||
return TRACK_ALLOCATION_SITE;
|
||||
}
|
||||
|
||||
return DONT_TRACK_ALLOCATION_SITE;
|
||||
bool AllocationSite::ShouldTrack(ElementsKind boilerplate_elements_kind) {
|
||||
return IsFastSmiElementsKind(boilerplate_elements_kind);
|
||||
}
|
||||
|
||||
inline bool AllocationSite::CanTrack(InstanceType type) {
|
||||
|
@ -15473,13 +15473,9 @@ bool AllocationSite::DigestTransitionFeedback(Handle<AllocationSite> site,
|
||||
return result;
|
||||
}
|
||||
|
||||
AllocationSiteMode AllocationSite::GetMode(ElementsKind from, ElementsKind to) {
|
||||
if (IsFastSmiElementsKind(from) &&
|
||||
IsMoreGeneralElementsKindTransition(from, to)) {
|
||||
return TRACK_ALLOCATION_SITE;
|
||||
}
|
||||
|
||||
return DONT_TRACK_ALLOCATION_SITE;
|
||||
bool AllocationSite::ShouldTrack(ElementsKind from, ElementsKind to) {
|
||||
return IsFastSmiElementsKind(from) &&
|
||||
IsMoreGeneralElementsKindTransition(from, to);
|
||||
}
|
||||
|
||||
const char* AllocationSite::PretenureDecisionName(PretenureDecision decision) {
|
||||
|
@ -5855,9 +5855,8 @@ class AllocationSite: public Struct {
|
||||
DECLARE_VERIFIER(AllocationSite)
|
||||
|
||||
DECLARE_CAST(AllocationSite)
|
||||
static inline AllocationSiteMode GetMode(
|
||||
ElementsKind boilerplate_elements_kind);
|
||||
static AllocationSiteMode GetMode(ElementsKind from, ElementsKind to);
|
||||
static inline bool ShouldTrack(ElementsKind boilerplate_elements_kind);
|
||||
static bool ShouldTrack(ElementsKind from, ElementsKind to);
|
||||
static inline bool CanTrack(InstanceType type);
|
||||
|
||||
static const int kTransitionInfoOffset = HeapObject::kHeaderSize;
|
||||
|
@ -2583,7 +2583,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -299,7 +299,7 @@ Object* ArrayConstructorCommon(Isolate* isolate, Handle<JSFunction> constructor,
|
||||
// If we don't care to track arrays of to_kind ElementsKind, then
|
||||
// don't emit a memento for them.
|
||||
Handle<AllocationSite> allocation_site;
|
||||
if (AllocationSite::GetMode(to_kind) == TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(to_kind)) {
|
||||
allocation_site = site;
|
||||
}
|
||||
|
||||
|
@ -2525,7 +2525,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -2324,7 +2324,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
@ -2372,7 +2372,7 @@ static void ArrayConstructorStubAheadOfTimeHelper(Isolate* isolate) {
|
||||
ElementsKind kind = GetFastElementsKindFromSequenceIndex(i);
|
||||
T stub(isolate, kind);
|
||||
stub.GetCode();
|
||||
if (AllocationSite::GetMode(kind) != DONT_TRACK_ALLOCATION_SITE) {
|
||||
if (AllocationSite::ShouldTrack(kind)) {
|
||||
T stub1(isolate, kind, DISABLE_ALLOCATION_SITES);
|
||||
stub1.GetCode();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user