V8 Project
v8::internal::ConstPool Class Reference

#include <assembler-arm64.h>

+ Collaboration diagram for v8::internal::ConstPool:

Public Member Functions

 ConstPool (Assembler *assm)
 
void RecordEntry (intptr_t data, RelocInfo::Mode mode)
 
int EntryCount () const
 
bool IsEmpty () const
 
int DistanceToFirstUse ()
 
int MaxPcOffset ()
 
int WorstCaseSize ()
 
int SizeIfEmittedAtCurrentPc (bool require_jump)
 
void Emit (bool require_jump)
 
void Clear ()
 

Private Member Functions

bool CanBeShared (RelocInfo::Mode mode)
 
void EmitMarker ()
 
void EmitGuard ()
 
void EmitEntries ()
 

Private Attributes

Assemblerassm_
 
int first_use_
 
std::multimap< uint64_t, intshared_entries_
 
int shared_entries_count
 
std::vector< std::pair< uint64_t, int > > unique_entries_
 

Detailed Description

Definition at line 758 of file assembler-arm64.h.

Constructor & Destructor Documentation

◆ ConstPool()

v8::internal::ConstPool::ConstPool ( Assembler assm)
inlineexplicit

Definition at line 760 of file assembler-arm64.h.

Member Function Documentation

◆ CanBeShared()

bool v8::internal::ConstPool::CanBeShared ( RelocInfo::Mode  mode)
private

◆ Clear()

void v8::internal::ConstPool::Clear ( )

Referenced by v8::internal::Assembler::AbortedCodeGeneration().

+ Here is the caller graph for this function:

◆ DistanceToFirstUse()

int v8::internal::ConstPool::DistanceToFirstUse ( )

◆ Emit()

void v8::internal::ConstPool::Emit ( bool  require_jump)

◆ EmitEntries()

void v8::internal::ConstPool::EmitEntries ( )
private

◆ EmitGuard()

void v8::internal::ConstPool::EmitGuard ( )
private

◆ EmitMarker()

void v8::internal::ConstPool::EmitMarker ( )
private

◆ EntryCount()

int v8::internal::ConstPool::EntryCount ( ) const
inline

Definition at line 765 of file assembler-arm64.h.

765  {
766  return shared_entries_count + unique_entries_.size();
767  }
std::vector< std::pair< uint64_t, int > > unique_entries_

References shared_entries_count, and unique_entries_.

◆ IsEmpty()

bool v8::internal::ConstPool::IsEmpty ( ) const
inline

Definition at line 768 of file assembler-arm64.h.

768  {
769  return shared_entries_.empty() && unique_entries_.empty();
770  }
std::multimap< uint64_t, int > shared_entries_

References shared_entries_, and unique_entries_.

Referenced by v8::internal::Assembler::IsConstPoolEmpty().

+ Here is the caller graph for this function:

◆ MaxPcOffset()

int v8::internal::ConstPool::MaxPcOffset ( )

◆ RecordEntry()

void v8::internal::ConstPool::RecordEntry ( intptr_t  data,
RelocInfo::Mode  mode 
)

◆ SizeIfEmittedAtCurrentPc()

int v8::internal::ConstPool::SizeIfEmittedAtCurrentPc ( bool  require_jump)

◆ WorstCaseSize()

int v8::internal::ConstPool::WorstCaseSize ( )

Member Data Documentation

◆ assm_

Assembler* v8::internal::ConstPool::assm_
private

Definition at line 794 of file assembler-arm64.h.

◆ first_use_

int v8::internal::ConstPool::first_use_
private

Definition at line 797 of file assembler-arm64.h.

◆ shared_entries_

std::multimap<uint64_t, int> v8::internal::ConstPool::shared_entries_
private

Definition at line 799 of file assembler-arm64.h.

Referenced by IsEmpty().

◆ shared_entries_count

int v8::internal::ConstPool::shared_entries_count
private

Definition at line 801 of file assembler-arm64.h.

Referenced by EntryCount().

◆ unique_entries_

std::vector<std::pair<uint64_t, int> > v8::internal::ConstPool::unique_entries_
private

Definition at line 803 of file assembler-arm64.h.

Referenced by EntryCount(), and IsEmpty().


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