v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
feedback-vector.h File Reference
#include <optional>
#include <vector>
#include "src/base/bit-field.h"
#include "src/base/logging.h"
#include "src/base/macros.h"
#include "src/base/small-vector.h"
#include "src/common/globals.h"
#include "src/objects/elements-kind.h"
#include "src/objects/feedback-cell.h"
#include "src/objects/map.h"
#include "src/objects/maybe-object.h"
#include "src/objects/name.h"
#include "src/objects/type-hints.h"
#include "src/zone/zone-containers.h"
#include "src/objects/object-macros.h"
#include "torque-generated/src/objects/feedback-vector-tq.inc"
#include "src/objects/object-macros-undef.h"
Include dependency graph for feedback-vector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::MapsAndHandlers
 
class  v8::internal::MapsAndHandlers::Iterator
 
class  v8::internal::ClosureFeedbackCellArrayShape
 
class  v8::internal::ClosureFeedbackCellArray
 
class  v8::internal::FeedbackVector
 
class  v8::internal::FeedbackVectorSpec
 
class  v8::internal::SharedFeedbackSlot
 
class  v8::internal::FeedbackMetadata
 
class  v8::internal::FeedbackMetadataIterator
 
class  v8::internal::NexusConfig
 
class  v8::internal::FeedbackNexus
 
class  v8::internal::FeedbackIterator
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define DEFINE_SLOT_KIND_PREDICATE(Name)
 
#define FIELDS(V)
 
#define LEXICAL_MODE_BIT_FIELDS(V, _)
 

Typedefs

using v8::internal::MapAndHandler = std::pair<DirectHandle<Map>, MaybeObjectDirectHandle>
 
using v8::internal::MaybeObjectHandles = std::vector<MaybeObjectHandle>
 

Enumerations

enum class  v8::internal::UpdateFeedbackMode { v8::internal::kOptionalFeedback , v8::internal::kGuaranteedFeedback , v8::internal::kNoFeedback }
 
enum class  v8::internal::ClearBehavior { v8::internal::kDefault , v8::internal::kClearAll }
 
enum class  v8::internal::FeedbackSlotKind : uint8_t {
  v8::internal::kInvalid , v8::internal::kStoreGlobalSloppy , v8::internal::kSetNamedSloppy , v8::internal::kSetKeyedSloppy ,
  v8::internal::kLastSloppyKind = kSetKeyedSloppy , v8::internal::kCall , v8::internal::kLoadProperty , v8::internal::kLoadGlobalNotInsideTypeof ,
  v8::internal::kLoadGlobalInsideTypeof , v8::internal::kLoadKeyed , v8::internal::kHasKeyed , v8::internal::kStoreGlobalStrict ,
  v8::internal::kSetNamedStrict , v8::internal::kDefineNamedOwn , v8::internal::kDefineKeyedOwn , v8::internal::kSetKeyedStrict ,
  v8::internal::kStoreInArrayLiteral , v8::internal::kBinaryOp , v8::internal::kCompareOp , v8::internal::kDefineKeyedOwnPropertyInLiteral ,
  v8::internal::kLiteral , v8::internal::kForIn , v8::internal::kInstanceOf , v8::internal::kTypeOf ,
  v8::internal::kCloneObject , v8::internal::kJumpLoop , v8::internal::kLast = kJumpLoop
}
 

Functions

bool v8::internal::IsCallICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsLoadICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsLoadGlobalICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsKeyedLoadICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsKeyedHasICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsStoreGlobalICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsSetNamedICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsDefineNamedOwnICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsDefineKeyedOwnICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsDefineKeyedOwnPropertyInLiteralKind (FeedbackSlotKind kind)
 
bool v8::internal::IsKeyedStoreICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsStoreInArrayLiteralICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsGlobalICKind (FeedbackSlotKind kind)
 
bool v8::internal::IsCloneObjectKind (FeedbackSlotKind kind)
 
TypeofMode v8::internal::GetTypeofModeFromSlotKind (FeedbackSlotKind kind)
 
LanguageMode v8::internal::GetLanguageModeFromSlotKind (FeedbackSlotKind kind)
 
std::ostream & v8::internal::operator<< (std::ostream &os, FeedbackSlotKind kind)
 
BinaryOperationHint v8::internal::BinaryOperationHintFromFeedback (int type_feedback)
 
CompareOperationHint v8::internal::CompareOperationHintFromFeedback (int type_feedback)
 
ForInHint v8::internal::ForInHintFromFeedback (ForInFeedback type_feedback)
 

Variables

static constexpr int v8::internal::kFeedbackSlotKindCount
 

Macro Definition Documentation

◆ DEFINE_SLOT_KIND_PREDICATE

#define DEFINE_SLOT_KIND_PREDICATE ( Name)
Value:
bool Name(FeedbackSlot slot) const { return Name##Kind(GetKind(slot)); }

Definition at line 469 of file feedback-vector.h.

◆ FIELDS

#define FIELDS ( V)
Value:
V(kSlotCountOffset, kInt32Size) \
V(kCreateClosureSlotCountOffset, kInt32Size) \
V(kHeaderSize, 0)
#define V(Name)

Definition at line 778 of file feedback-vector.h.

◆ LEXICAL_MODE_BIT_FIELDS

#define LEXICAL_MODE_BIT_FIELDS ( V,
_ )
Value:
V(ContextIndexBits, unsigned, 12, _) \
V(SlotIndexBits, unsigned, 18, _) \
V(ImmutabilityBit, bool, 1, _)
#define _

Definition at line 1054 of file feedback-vector.h.