Lines Matching refs:feedback
5 #include "src/objects/feedback-vector.h"
15 #include "src/objects/feedback-vector-inl.h"
48 static bool IsPropertyNameFeedback(MaybeObject feedback) {
50 if (!feedback->GetHeapObjectIfStrong(&heap_object)) return false;
343 // Set the raw feedback metadata to circumvent checks that we are not
496 FeedbackSlot start_slot, MaybeObject feedback,
504 vector.Set(start_slot, feedback, mode);
512 MaybeObject feedback = vector.Get(slot);
514 return std::make_pair(feedback, feedback_extra);
665 auto feedback = GetFeedbackPair();
667 feedback.first != sentinel || feedback.second != maybe_extra;
684 MaybeObject feedback, extra;
685 std::tie(feedback, extra) = GetFeedbackPair();
689 if (feedback->IsSmi()) return InlineCacheState::UNINITIALIZED;
696 if (feedback->IsSmi()) return InlineCacheState::MONOMORPHIC;
698 DCHECK(feedback->IsWeakOrCleared());
699 if (!feedback->IsCleared() || extra != UninitializedSentinel()) {
715 if (feedback == UninitializedSentinel()) {
718 if (feedback == MegamorphicSentinel()) {
721 if (feedback == MegaDOMSentinel()) {
725 if (feedback->IsWeakOrCleared()) {
730 if (feedback->GetHeapObjectIfStrong(&heap_object)) {
749 if (feedback == MegamorphicSentinel()) {
751 } else if (feedback->IsWeakOrCleared()) {
752 if (feedback->GetHeapObjectIfWeak(&heap_object)) {
759 } else if (feedback->GetHeapObjectIfStrong(&heap_object) &&
764 CHECK_EQ(feedback, UninitializedSentinel());
797 if (feedback == UninitializedSentinel()) {
799 } else if (feedback == MegamorphicSentinel()) {
805 if (feedback == UninitializedSentinel()) {
807 } else if (feedback->IsWeakOrCleared()) {
815 if (feedback == UninitializedSentinel()) {
822 if (feedback == UninitializedSentinel()) {
825 if (feedback == MegamorphicSentinel()) {
828 if (feedback->IsWeakOrCleared()) {
832 DCHECK(feedback->GetHeapObjectAssumeStrong().IsWeakFixedArray());
880 Handle<HeapObject> feedback;
884 feedback = handle(maybe_feedback->GetHeapObject(), isolate);
896 if (feedback.is_null() || feedback.is_identical_to(source_map) ||
897 Map::cast(*feedback).is_deprecated()) {
904 array->Set(0, HeapObjectReference::Weak(*feedback));
915 Handle<WeakFixedArray> array = Handle<WeakFixedArray>::cast(feedback);
936 // Grow polymorphic feedback array.
972 MaybeObject feedback = GetFeedback();
975 SetFeedback(feedback, UPDATE_WRITE_BARRIER, Smi::FromInt(count),
1119 MaybeObject feedback = GetFeedback();
1120 if (IsPropertyNameFeedback(feedback)) {
1121 return Name::cast(feedback->GetHeapObjectAssumeStrong());
1269 MaybeObject feedback = pair.first;
1270 if (feedback == MegamorphicSentinel()) {
1277 : feedback;
1284 int feedback = GetFeedback().ToSmi().value();
1285 return BinaryOperationHintFromFeedback(feedback);
1290 int feedback = GetFeedback().ToSmi().value();
1291 return CompareOperationHintFromFeedback(feedback);
1296 int feedback = GetFeedback().ToSmi().value();
1297 return ForInHintFromFeedback(static_cast<ForInFeedback>(feedback));
1302 MaybeObject feedback = GetFeedback();
1304 if (feedback->GetHeapObjectIfWeak(&heap_object)) {
1329 MaybeObject const feedback = GetFeedback();
1334 if (feedback == UninitializedSentinel()) {
1338 SimpleNumberDictionary::cast(feedback->GetHeapObjectAssumeStrong()),
1368 MaybeObject const feedback = GetFeedback();
1370 if (feedback == UninitializedSentinel()) {
1375 SimpleNumberDictionary::cast(feedback->GetHeapObjectAssumeStrong()),
1395 MaybeObject const feedback = GetFeedback();
1397 if (feedback == UninitializedSentinel()) {
1402 SimpleNumberDictionary::cast(feedback->GetHeapObjectAssumeStrong()),
1436 MaybeObject feedback = pair.first;
1437 bool is_named_feedback = IsPropertyNameFeedback(feedback);
1440 if ((feedback->GetHeapObjectIfStrong(&heap_object) &&
1445 heap_object = feedback->GetHeapObjectAssumeStrong();
1454 } else if (feedback->GetHeapObjectIfWeak(&heap_object)) {