Index: src/ast.cc |
diff --git a/src/ast.cc b/src/ast.cc |
index 589bd5a48f16bc2f892396f4fc3d2b2a99cac6b1..721878b7650746d6eff705defe4c754869509e5f 100644 |
--- a/src/ast.cc |
+++ b/src/ast.cc |
@@ -675,8 +675,10 @@ void CallNew::RecordTypeFeedback(TypeFeedbackOracle* oracle) { |
if (is_monomorphic_) { |
target_ = oracle->GetCallNewTarget(this); |
Object* value = allocation_info_cell_->value(); |
- if (value->IsSmi()) { |
- elements_kind_ = static_cast<ElementsKind>(Smi::cast(value)->value()); |
+ ASSERT(!value->IsTheHole()); |
+ if (value->IsAllocationSite()) { |
+ AllocationSite* site = AllocationSite::cast(value); |
+ elements_kind_ = site->GetElementsKindPayload(); |
} |
} |
} |