v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache Class Reference
Inheritance diagram for v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache:
Collaboration diagram for v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache:

Public Types

enum class  SlotKind {
  kStoreGlobalSloppy , kStoreGlobalStrict , kSetNamedStrict , kSetNamedSloppy ,
  kLoadProperty , kLoadSuperProperty , kLoadGlobalNotInsideTypeof , kLoadGlobalInsideTypeof ,
  kClosureFeedbackCell
}
 

Public Member Functions

 FeedbackSlotCache (Zone *zone)
 
void Put (SlotKind slot_kind, Variable *variable, int slot_index)
 
void Put (SlotKind slot_kind, AstNode *node, int slot_index)
 
void Put (SlotKind slot_kind, int variable_index, const AstRawString *name, int slot_index)
 
void Put (SlotKind slot_kind, const AstRawString *name, int slot_index)
 
int Get (SlotKind slot_kind, Variable *variable) const
 
int Get (SlotKind slot_kind, AstNode *node) const
 
int Get (SlotKind slot_kind, int variable_index, const AstRawString *name) const
 
int Get (SlotKind slot_kind, const AstRawString *name) const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Types

using Key = std::tuple<SlotKind, int, const void*>
 

Private Member Functions

void PutImpl (SlotKind slot_kind, int index, const void *node, int slot_index)
 
int GetImpl (SlotKind slot_kind, int index, const void *node) const
 

Private Attributes

ZoneMap< Key, int > map_
 

Detailed Description

Definition at line 1025 of file bytecode-generator.cc.

Member Typedef Documentation

◆ Key

Definition at line 1070 of file bytecode-generator.cc.

Member Enumeration Documentation

◆ SlotKind

Enumerator
kStoreGlobalSloppy 
kStoreGlobalStrict 
kSetNamedStrict 
kSetNamedSloppy 
kLoadProperty 
kLoadSuperProperty 
kLoadGlobalNotInsideTypeof 
kLoadGlobalInsideTypeof 
kClosureFeedbackCell 

Definition at line 1027 of file bytecode-generator.cc.

Constructor & Destructor Documentation

◆ FeedbackSlotCache()

v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::FeedbackSlotCache ( Zone * zone)
inlineexplicit

Definition at line 1039 of file bytecode-generator.cc.

Member Function Documentation

◆ Get() [1/4]

int v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Get ( SlotKind slot_kind,
AstNode * node ) const
inline

Definition at line 1058 of file bytecode-generator.cc.

◆ Get() [2/4]

int v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Get ( SlotKind slot_kind,
const AstRawString * name ) const
inline

Definition at line 1065 of file bytecode-generator.cc.

◆ Get() [3/4]

int v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Get ( SlotKind slot_kind,
int variable_index,
const AstRawString * name ) const
inline

Definition at line 1061 of file bytecode-generator.cc.

◆ Get() [4/4]

int v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Get ( SlotKind slot_kind,
Variable * variable ) const
inline

Definition at line 1055 of file bytecode-generator.cc.

Here is the caller graph for this function:

◆ GetImpl()

int v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::GetImpl ( SlotKind slot_kind,
int index,
const void * node ) const
inlineprivate

Definition at line 1079 of file bytecode-generator.cc.

◆ Put() [1/4]

void v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Put ( SlotKind slot_kind,
AstNode * node,
int slot_index )
inline

Definition at line 1044 of file bytecode-generator.cc.

◆ Put() [2/4]

void v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Put ( SlotKind slot_kind,
const AstRawString * name,
int slot_index )
inline

Definition at line 1051 of file bytecode-generator.cc.

◆ Put() [3/4]

void v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Put ( SlotKind slot_kind,
int variable_index,
const AstRawString * name,
int slot_index )
inline

Definition at line 1047 of file bytecode-generator.cc.

◆ Put() [4/4]

void v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::Put ( SlotKind slot_kind,
Variable * variable,
int slot_index )
inline

Definition at line 1041 of file bytecode-generator.cc.

Here is the caller graph for this function:

◆ PutImpl()

void v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::PutImpl ( SlotKind slot_kind,
int index,
const void * node,
int slot_index )
inlineprivate

Definition at line 1072 of file bytecode-generator.cc.

Member Data Documentation

◆ map_

ZoneMap<Key, int> v8::internal::interpreter::BytecodeGenerator::FeedbackSlotCache::map_
private

Definition at line 1088 of file bytecode-generator.cc.


The documentation for this class was generated from the following file: