webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
JSC::BytecodeBasicBlock Class Reference

#include <BytecodeBasicBlock.h>

Public Types

enum  SpecialBlockType { EntryBlock, ExitBlock, EntryBlock, ExitBlock }
 
enum  SpecialBlockType { EntryBlock, ExitBlock, EntryBlock, ExitBlock }
 

Public Member Functions

 BytecodeBasicBlock (unsigned start, unsigned length)
 
 BytecodeBasicBlock (SpecialBlockType)
 
void shrinkToFit ()
 
bool isEntryBlock ()
 
bool isExitBlock ()
 
unsigned leaderOffset ()
 
unsigned totalLength ()
 
const Vector< unsigned > & offsets () const
 
const Vector< BytecodeBasicBlock * > & successors () const
 
FastBitVector & in ()
 
FastBitVector & out ()
 
unsigned index () const
 
 BytecodeBasicBlock (unsigned start, unsigned length)
 
 BytecodeBasicBlock (SpecialBlockType)
 
void shrinkToFit ()
 
bool isEntryBlock ()
 
bool isExitBlock ()
 
unsigned leaderOffset ()
 
unsigned totalLength ()
 
const Vector< unsigned > & offsets () const
 
const Vector< BytecodeBasicBlock * > & successors () const
 
FastBitVector & in ()
 
FastBitVector & out ()
 
unsigned index () const
 

Static Public Member Functions

static void compute (CodeBlock *, Instruction *instructionsBegin, unsigned instructionCount, Vector< std::unique_ptr< BytecodeBasicBlock >> &)
 
static void compute (UnlinkedCodeBlock *, UnlinkedInstruction *instructionsBegin, unsigned instructionCount, Vector< std::unique_ptr< BytecodeBasicBlock >> &)
 
static void compute (CodeBlock *, Instruction *instructionsBegin, unsigned instructionCount, Vector< std::unique_ptr< BytecodeBasicBlock >> &)
 
static void compute (UnlinkedCodeBlock *, UnlinkedInstruction *instructionsBegin, unsigned instructionCount, Vector< std::unique_ptr< BytecodeBasicBlock >> &)
 

Member Enumeration Documentation

◆ SpecialBlockType [1/2]

Enumerator
EntryBlock 
ExitBlock 
EntryBlock 
ExitBlock 

◆ SpecialBlockType [2/2]

Enumerator
EntryBlock 
ExitBlock 
EntryBlock 
ExitBlock 

Constructor & Destructor Documentation

◆ BytecodeBasicBlock() [1/4]

JSC::BytecodeBasicBlock::BytecodeBasicBlock ( unsigned  start,
unsigned  length 
)
inline

◆ BytecodeBasicBlock() [2/4]

JSC::BytecodeBasicBlock::BytecodeBasicBlock ( BytecodeBasicBlock::SpecialBlockType  blockType)
inline

◆ BytecodeBasicBlock() [3/4]

JSC::BytecodeBasicBlock::BytecodeBasicBlock ( unsigned  start,
unsigned  length 
)

◆ BytecodeBasicBlock() [4/4]

JSC::BytecodeBasicBlock::BytecodeBasicBlock ( SpecialBlockType  )

Member Function Documentation

◆ compute() [1/4]

void JSC::BytecodeBasicBlock::compute ( CodeBlock codeBlock,
Instruction instructionsBegin,
unsigned  instructionCount,
Vector< std::unique_ptr< BytecodeBasicBlock >> &  basicBlocks 
)
static

◆ compute() [2/4]

static void JSC::BytecodeBasicBlock::compute ( CodeBlock ,
Instruction instructionsBegin,
unsigned  instructionCount,
Vector< std::unique_ptr< BytecodeBasicBlock >> &   
)
static

◆ compute() [3/4]

void JSC::BytecodeBasicBlock::compute ( UnlinkedCodeBlock codeBlock,
UnlinkedInstruction instructionsBegin,
unsigned  instructionCount,
Vector< std::unique_ptr< BytecodeBasicBlock >> &  basicBlocks 
)
static

◆ compute() [4/4]

static void JSC::BytecodeBasicBlock::compute ( UnlinkedCodeBlock ,
UnlinkedInstruction instructionsBegin,
unsigned  instructionCount,
Vector< std::unique_ptr< BytecodeBasicBlock >> &   
)
static

◆ in() [1/2]

FastBitVector& JSC::BytecodeBasicBlock::in ( )
inline

◆ in() [2/2]

FastBitVector& JSC::BytecodeBasicBlock::in ( )
inline

◆ index() [1/2]

unsigned JSC::BytecodeBasicBlock::index ( ) const
inline

◆ index() [2/2]

unsigned JSC::BytecodeBasicBlock::index ( ) const
inline

◆ isEntryBlock() [1/2]

bool JSC::BytecodeBasicBlock::isEntryBlock ( )
inline

◆ isEntryBlock() [2/2]

bool JSC::BytecodeBasicBlock::isEntryBlock ( )
inline

◆ isExitBlock() [1/2]

bool JSC::BytecodeBasicBlock::isExitBlock ( )
inline

◆ isExitBlock() [2/2]

bool JSC::BytecodeBasicBlock::isExitBlock ( )
inline

◆ leaderOffset() [1/2]

unsigned JSC::BytecodeBasicBlock::leaderOffset ( )
inline

◆ leaderOffset() [2/2]

unsigned JSC::BytecodeBasicBlock::leaderOffset ( )
inline

◆ offsets() [1/2]

const Vector<unsigned>& JSC::BytecodeBasicBlock::offsets ( ) const
inline

◆ offsets() [2/2]

const Vector<unsigned>& JSC::BytecodeBasicBlock::offsets ( ) const
inline

◆ out() [1/2]

FastBitVector& JSC::BytecodeBasicBlock::out ( )
inline

◆ out() [2/2]

FastBitVector& JSC::BytecodeBasicBlock::out ( )
inline

◆ shrinkToFit() [1/2]

void JSC::BytecodeBasicBlock::shrinkToFit ( )

◆ shrinkToFit() [2/2]

void JSC::BytecodeBasicBlock::shrinkToFit ( )

◆ successors() [1/2]

const Vector<BytecodeBasicBlock*>& JSC::BytecodeBasicBlock::successors ( ) const
inline

◆ successors() [2/2]

const Vector<BytecodeBasicBlock*>& JSC::BytecodeBasicBlock::successors ( ) const
inline

◆ totalLength() [1/2]

unsigned JSC::BytecodeBasicBlock::totalLength ( )
inline

◆ totalLength() [2/2]

unsigned JSC::BytecodeBasicBlock::totalLength ( )
inline

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