v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::StubCache Class Reference

#include <stub-cache.h>

Collaboration diagram for v8::internal::StubCache:

Classes

struct  Entry
 

Public Types

enum  Table { kPrimary , kSecondary }
 

Public Member Functions

void Initialize ()
 
void Set (Tagged< Name > name, Tagged< Map > map, Tagged< MaybeObject > handler)
 
Tagged< MaybeObjectGet (Tagged< Name > name, Tagged< Map > map)
 
void Clear ()
 
SCTableReference key_reference (StubCache::Table table)
 
SCTableReference map_reference (StubCache::Table table)
 
SCTableReference value_reference (StubCache::Table table)
 
StubCache::Entryfirst_entry (StubCache::Table table)
 
Isolateisolate ()
 
 StubCache (Isolate *isolate)
 
 StubCache (const StubCache &)=delete
 
StubCacheoperator= (const StubCache &)=delete
 

Static Public Member Functions

static int PrimaryOffsetForTesting (Tagged< Name > name, Tagged< Map > map)
 
static int SecondaryOffsetForTesting (Tagged< Name > name, Tagged< Map > map)
 

Static Public Attributes

static const int kCacheIndexShift = Name::HashBits::kShift
 
static const int kPrimaryTableBits = 11
 
static const int kPrimaryTableSize = (1 << kPrimaryTableBits)
 
static const int kSecondaryTableBits = 9
 
static const int kSecondaryTableSize = (1 << kSecondaryTableBits)
 

Static Private Member Functions

static int PrimaryOffset (Tagged< Name > name, Tagged< Map > map)
 
static int SecondaryOffset (Tagged< Name > name, Tagged< Map > map)
 
static Entryentry (Entry *table, int offset)
 

Private Attributes

Entry primary_ [kPrimaryTableSize]
 
Entry secondary_ [kSecondaryTableSize]
 
Isolateisolate_
 

Friends

class Isolate
 
class SCTableReference
 

Detailed Description

Definition at line 32 of file stub-cache.h.

Member Enumeration Documentation

◆ Table

Enumerator
kPrimary 
kSecondary 

Definition at line 52 of file stub-cache.h.

Constructor & Destructor Documentation

◆ StubCache() [1/2]

v8::internal::StubCache::StubCache ( Isolate * isolate)
explicit

Definition at line 17 of file stub-cache.cc.

Here is the call graph for this function:

◆ StubCache() [2/2]

v8::internal::StubCache::StubCache ( const StubCache & )
delete

Member Function Documentation

◆ Clear()

void v8::internal::StubCache::Clear ( )

Definition at line 136 of file stub-cache.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ entry()

static Entry * v8::internal::StubCache::entry ( Entry * table,
int offset )
inlinestaticprivate

Definition at line 124 of file stub-cache.h.

Here is the caller graph for this function:

◆ first_entry()

StubCache::Entry * v8::internal::StubCache::first_entry ( StubCache::Table table)
inline

Definition at line 69 of file stub-cache.h.

◆ Get()

Tagged< MaybeObject > v8::internal::StubCache::Get ( Tagged< Name > name,
Tagged< Map > map )

Definition at line 121 of file stub-cache.cc.

Here is the call graph for this function:

◆ Initialize()

void v8::internal::StubCache::Initialize ( )

Definition at line 23 of file stub-cache.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::StubCache::isolate ( )
inline

Definition at line 79 of file stub-cache.h.

Here is the caller graph for this function:

◆ key_reference()

SCTableReference v8::internal::StubCache::key_reference ( StubCache::Table table)
inline

Definition at line 54 of file stub-cache.h.

Here is the caller graph for this function:

◆ map_reference()

SCTableReference v8::internal::StubCache::map_reference ( StubCache::Table table)
inline

Definition at line 59 of file stub-cache.h.

◆ operator=()

StubCache & v8::internal::StubCache::operator= ( const StubCache & )
delete

◆ PrimaryOffset()

int v8::internal::StubCache::PrimaryOffset ( Tagged< Name > name,
Tagged< Map > map )
staticprivate

Definition at line 32 of file stub-cache.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrimaryOffsetForTesting()

int v8::internal::StubCache::PrimaryOffsetForTesting ( Tagged< Name > name,
Tagged< Map > map )
static

Definition at line 58 of file stub-cache.cc.

Here is the call graph for this function:

◆ SecondaryOffset()

int v8::internal::StubCache::SecondaryOffset ( Tagged< Name > name,
Tagged< Map > map )
staticprivate

Definition at line 50 of file stub-cache.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SecondaryOffsetForTesting()

int v8::internal::StubCache::SecondaryOffsetForTesting ( Tagged< Name > name,
Tagged< Map > map )
static

Definition at line 62 of file stub-cache.cc.

Here is the call graph for this function:

◆ Set()

void v8::internal::StubCache::Set ( Tagged< Name > name,
Tagged< Map > map,
Tagged< MaybeObject > handler )

Definition at line 89 of file stub-cache.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ value_reference()

SCTableReference v8::internal::StubCache::value_reference ( StubCache::Table table)
inline

Definition at line 64 of file stub-cache.h.

Friends And Related Symbol Documentation

◆ Isolate

friend class Isolate
friend

Definition at line 138 of file stub-cache.h.

◆ SCTableReference

friend class SCTableReference
friend

Definition at line 139 of file stub-cache.h.

Member Data Documentation

◆ isolate_

Isolate* v8::internal::StubCache::isolate_
private

Definition at line 136 of file stub-cache.h.

◆ kCacheIndexShift

const int v8::internal::StubCache::kCacheIndexShift = Name::HashBits::kShift
static

Definition at line 86 of file stub-cache.h.

◆ kPrimaryTableBits

const int v8::internal::StubCache::kPrimaryTableBits = 11
static

Definition at line 88 of file stub-cache.h.

◆ kPrimaryTableSize

const int v8::internal::StubCache::kPrimaryTableSize = (1 << kPrimaryTableBits)
static

Definition at line 89 of file stub-cache.h.

◆ kSecondaryTableBits

const int v8::internal::StubCache::kSecondaryTableBits = 9
static

Definition at line 90 of file stub-cache.h.

◆ kSecondaryTableSize

const int v8::internal::StubCache::kSecondaryTableSize = (1 << kSecondaryTableBits)
static

Definition at line 91 of file stub-cache.h.

◆ primary_

Entry v8::internal::StubCache::primary_[kPrimaryTableSize]
private

Definition at line 134 of file stub-cache.h.

◆ secondary_

Entry v8::internal::StubCache::secondary_[kSecondaryTableSize]
private

Definition at line 135 of file stub-cache.h.


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