Lines Matching defs:nexus

341 KeyedAccessMode KeyedAccessMode::FromNexus(FeedbackNexus const& nexus) {
342 FeedbackSlotKind kind = nexus.kind();
344 return KeyedAccessMode(AccessMode::kLoad, nexus.GetKeyedAccessLoadMode());
347 return KeyedAccessMode(AccessMode::kHas, nexus.GetKeyedAccessLoadMode());
351 nexus.GetKeyedAccessStoreMode());
354 return KeyedAccessMode(AccessMode::kStore, nexus.GetKeyedAccessStoreMode());
359 nexus.GetKeyedAccessStoreMode());
463 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
464 return nexus.kind();
481 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
482 FeedbackSlotKind kind = nexus.kind();
483 if (nexus.IsUninitialized()) return NewInsufficientFeedback(kind);
488 nexus.ExtractMapsAndFeedback(&maps_and_handlers_unfiltered);
511 static_name.has_value() ? static_name : GetNameFeedback(nexus);
515 if (maps.empty() && nexus.ic_state() != InlineCacheState::MEGAMORPHIC) {
522 nexus.ic_state() == InlineCacheState::MEGAMORPHIC);
524 } else if (nexus.GetKeyType() == IcCheckType::kElement && !maps.empty()) {
526 maps, KeyedAccessMode::FromNexus(nexus), kind);
530 DCHECK_EQ(nexus.ic_state(), InlineCacheState::MEGAMORPHIC);
533 zone(), KeyedAccessMode::FromNexus(nexus), kind);
539 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
540 DCHECK(nexus.kind() == FeedbackSlotKind::kLoadGlobalInsideTypeof ||
541 nexus.kind() == FeedbackSlotKind::kLoadGlobalNotInsideTypeof ||
542 nexus.kind() == FeedbackSlotKind::kStoreGlobalSloppy ||
543 nexus.kind() == FeedbackSlotKind::kStoreGlobalStrict);
544 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
545 if (nexus.ic_state() != InlineCacheState::MONOMORPHIC ||
546 nexus.GetFeedback()->IsCleared()) {
547 return *zone()->New<GlobalAccessFeedback>(nexus.kind());
551 CanonicalPersistentHandle(nexus.GetFeedback()->GetHeapObjectOrSmi());
570 FeedbackNexus::ImmutabilityBit::decode(number), nexus.kind());
579 nexus.kind());
584 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
585 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
586 BinaryOperationHint hint = nexus.GetBinaryOperationFeedback();
588 return *zone()->New<BinaryOperationFeedback>(hint, nexus.kind());
593 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
594 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
595 CompareOperationHint hint = nexus.GetCompareOperationFeedback();
597 return *zone()->New<CompareOperationFeedback>(hint, nexus.kind());
602 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
603 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
604 ForInHint hint = nexus.GetForInFeedback();
606 return *zone()->New<ForInFeedback>(hint, nexus.kind());
611 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
612 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
616 MaybeHandle<JSObject> maybe_constructor = nexus.GetConstructorFeedback();
622 return *zone()->New<InstanceOfFeedback>(optional_constructor, nexus.kind());
627 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
628 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
631 if (!nexus.GetFeedback()->GetHeapObject(&object)) {
632 return NewInsufficientFeedback(nexus.kind());
637 return *zone()->New<LiteralFeedback>(site, nexus.kind());
642 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
643 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
646 if (!nexus.GetFeedback()->GetHeapObject(&object)) {
647 return NewInsufficientFeedback(nexus.kind());
652 return *zone()->New<RegExpLiteralFeedback>(boilerplate, nexus.kind());
657 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
658 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
661 if (!nexus.GetFeedback()->GetHeapObject(&object)) {
662 return NewInsufficientFeedback(nexus.kind());
666 return *zone()->New<TemplateObjectFeedback>(array, nexus.kind());
671 FeedbackNexus nexus(source.vector, source.slot, feedback_nexus_config());
672 if (nexus.IsUninitialized()) return NewInsufficientFeedback(nexus.kind());
676 MaybeObject maybe_target = nexus.GetFeedback();
683 float frequency = nexus.ComputeCallFrequency();
684 SpeculationMode mode = nexus.GetSpeculationMode();
685 CallFeedbackContent content = nexus.GetCallFeedbackContent();
687 nexus.kind());
874 FeedbackNexus const& nexus) {
875 Name raw_name = nexus.GetName();