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

Public Types

enum  FrameStateAttachmentMode { kAttachFrameState , kDontAttachFrameState }
 

Public Member Functions

 Environment (BytecodeGraphBuilder *builder, int register_count, int parameter_count, interpreter::Register incoming_new_target_or_generator, Node *control_dependency)
 
int parameter_count () const
 
int register_count () const
 
NodeLookupAccumulator () const
 
NodeLookupRegister (interpreter::Register the_register) const
 
NodeLookupGeneratorState () const
 
void BindAccumulator (Node *node, FrameStateAttachmentMode mode=kDontAttachFrameState)
 
void BindRegister (interpreter::Register the_register, Node *node, FrameStateAttachmentMode mode=kDontAttachFrameState)
 
void BindRegistersToProjections (interpreter::Register first_reg, Node *node, FrameStateAttachmentMode mode=kDontAttachFrameState)
 
void BindGeneratorState (Node *node)
 
void RecordAfterState (Node *node, FrameStateAttachmentMode mode=kDontAttachFrameState)
 
NodeGetEffectDependency ()
 
void UpdateEffectDependency (Node *dependency)
 
NodeCheckpoint (BytecodeOffset bytecode_offset, OutputFrameStateCombine combine, const BytecodeLivenessState *liveness)
 
NodeGetControlDependency () const
 
void UpdateControlDependency (Node *dependency)
 
NodeContext () const
 
void SetContext (Node *new_context)
 
EnvironmentCopy ()
 
void Merge (Environment *other, const BytecodeLivenessState *liveness)
 
void FillWithOsrValues ()
 
void PrepareForLoop (const BytecodeLoopAssignments &assignments, const BytecodeLivenessState *liveness)
 
void PrepareForLoopExit (Node *loop, const BytecodeLoopAssignments &assignments, const BytecodeLivenessState *liveness)
 
- 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 Member Functions

 Environment (const Environment *copy)
 
bool StateValuesRequireUpdate (Node **state_values, Node **values, int count)
 
void UpdateStateValues (Node **state_values, Node **values, int count)
 
NodeGetStateValuesFromCache (Node **values, int count, const BytecodeLivenessState *liveness)
 
int RegisterToValuesIndex (interpreter::Register the_register) const
 
Zonezone () const
 
TFGraphgraph () const
 
CommonOperatorBuildercommon () const
 
BytecodeGraphBuilderbuilder () const
 
const NodeVectorvalues () const
 
NodeVectorvalues ()
 
int register_base () const
 
int accumulator_base () const
 

Private Attributes

friend Zone
 
BytecodeGraphBuilderbuilder_
 
int register_count_
 
int parameter_count_
 
Nodecontext_
 
Nodecontrol_dependency_
 
Nodeeffect_dependency_
 
NodeVector values_
 
Nodeparameters_state_values_
 
Nodegenerator_state_
 
int register_base_
 
int accumulator_base_
 

Detailed Description

Definition at line 540 of file bytecode-graph-builder.cc.

Member Enumeration Documentation

◆ FrameStateAttachmentMode

Enumerator
kAttachFrameState 
kDontAttachFrameState 

Definition at line 550 of file bytecode-graph-builder.cc.

Constructor & Destructor Documentation

◆ Environment() [1/2]

v8::internal::compiler::BytecodeGraphBuilder::Environment::Environment ( BytecodeGraphBuilder * builder,
int register_count,
int parameter_count,
interpreter::Register incoming_new_target_or_generator,
Node * control_dependency )

Definition at line 651 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ Environment() [2/2]

v8::internal::compiler::BytecodeGraphBuilder::Environment::Environment ( const Environment * copy)
explicitprivate

Definition at line 703 of file bytecode-graph-builder.cc.

Member Function Documentation

◆ accumulator_base()

int v8::internal::compiler::BytecodeGraphBuilder::Environment::accumulator_base ( ) const
inlineprivate

Definition at line 620 of file bytecode-graph-builder.cc.

◆ BindAccumulator()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::BindAccumulator ( Node * node,
FrameStateAttachmentMode mode = kDontAttachFrameState )

Definition at line 750 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ BindGeneratorState()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::BindGeneratorState ( Node * node)

Definition at line 758 of file bytecode-graph-builder.cc.

◆ BindRegister()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::BindRegister ( interpreter::Register the_register,
Node * node,
FrameStateAttachmentMode mode = kDontAttachFrameState )

Definition at line 762 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ BindRegistersToProjections()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::BindRegistersToProjections ( interpreter::Register first_reg,
Node * node,
FrameStateAttachmentMode mode = kDontAttachFrameState )

Definition at line 773 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ builder()

BytecodeGraphBuilder * v8::internal::compiler::BytecodeGraphBuilder::Environment::builder ( ) const
inlineprivate

Definition at line 616 of file bytecode-graph-builder.cc.

Here is the caller graph for this function:

◆ Checkpoint()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::Checkpoint ( BytecodeOffset bytecode_offset,
OutputFrameStateCombine combine,
const BytecodeLivenessState * liveness )

Definition at line 999 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ common()

CommonOperatorBuilder * v8::internal::compiler::BytecodeGraphBuilder::Environment::common ( ) const
inlineprivate

Definition at line 615 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ Context()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::Context ( ) const
inline

Definition at line 588 of file bytecode-graph-builder.cc.

◆ Copy()

BytecodeGraphBuilder::Environment * v8::internal::compiler::BytecodeGraphBuilder::Environment::Copy ( )

Definition at line 794 of file bytecode-graph-builder.cc.

Here is the caller graph for this function:

◆ FillWithOsrValues()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::FillWithOsrValues ( )

Definition at line 901 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ GetControlDependency()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::GetControlDependency ( ) const
inline

Definition at line 583 of file bytecode-graph-builder.cc.

◆ GetEffectDependency()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::GetEffectDependency ( )
inline

Definition at line 571 of file bytecode-graph-builder.cc.

◆ GetStateValuesFromCache()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::GetStateValuesFromCache ( Node ** values,
int count,
const BytecodeLivenessState * liveness )
private

Definition at line 993 of file bytecode-graph-builder.cc.

◆ graph()

TFGraph * v8::internal::compiler::BytecodeGraphBuilder::Environment::graph ( ) const
inlineprivate

Definition at line 614 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ LookupAccumulator()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::LookupAccumulator ( ) const

Definition at line 729 of file bytecode-graph-builder.cc.

◆ LookupGeneratorState()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::LookupGeneratorState ( ) const

Definition at line 733 of file bytecode-graph-builder.cc.

◆ LookupRegister()

Node * v8::internal::compiler::BytecodeGraphBuilder::Environment::LookupRegister ( interpreter::Register the_register) const

Definition at line 738 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ Merge()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::Merge ( BytecodeGraphBuilder::Environment * other,
const BytecodeLivenessState * liveness )

Definition at line 798 of file bytecode-graph-builder.cc.

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

◆ parameter_count()

int v8::internal::compiler::BytecodeGraphBuilder::Environment::parameter_count ( ) const
inline

Definition at line 552 of file bytecode-graph-builder.cc.

Here is the caller graph for this function:

◆ PrepareForLoop()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::PrepareForLoop ( const BytecodeLoopAssignments & assignments,
const BytecodeLivenessState * liveness )

Definition at line 863 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ PrepareForLoopExit()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::PrepareForLoopExit ( Node * loop,
const BytecodeLoopAssignments & assignments,
const BytecodeLivenessState * liveness )

Definition at line 931 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ RecordAfterState()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::RecordAfterState ( Node * node,
FrameStateAttachmentMode mode = kDontAttachFrameState )

Definition at line 787 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ register_base()

int v8::internal::compiler::BytecodeGraphBuilder::Environment::register_base ( ) const
inlineprivate

Definition at line 619 of file bytecode-graph-builder.cc.

◆ register_count()

int v8::internal::compiler::BytecodeGraphBuilder::Environment::register_count ( ) const
inline

Definition at line 553 of file bytecode-graph-builder.cc.

Here is the caller graph for this function:

◆ RegisterToValuesIndex()

int v8::internal::compiler::BytecodeGraphBuilder::Environment::RegisterToValuesIndex ( interpreter::Register the_register) const
private

Definition at line 720 of file bytecode-graph-builder.cc.

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

◆ SetContext()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::SetContext ( Node * new_context)
inline

Definition at line 589 of file bytecode-graph-builder.cc.

◆ StateValuesRequireUpdate()

bool v8::internal::compiler::BytecodeGraphBuilder::Environment::StateValuesRequireUpdate ( Node ** state_values,
Node ** values,
int count )
private

Definition at line 916 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ UpdateControlDependency()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::UpdateControlDependency ( Node * dependency)
inline

Definition at line 584 of file bytecode-graph-builder.cc.

◆ UpdateEffectDependency()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::UpdateEffectDependency ( Node * dependency)
inline

Definition at line 572 of file bytecode-graph-builder.cc.

◆ UpdateStateValues()

void v8::internal::compiler::BytecodeGraphBuilder::Environment::UpdateStateValues ( Node ** state_values,
Node ** values,
int count )
private

Definition at line 984 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

◆ values() [1/2]

NodeVector * v8::internal::compiler::BytecodeGraphBuilder::Environment::values ( )
inlineprivate

Definition at line 618 of file bytecode-graph-builder.cc.

◆ values() [2/2]

const NodeVector * v8::internal::compiler::BytecodeGraphBuilder::Environment::values ( ) const
inlineprivate

Definition at line 617 of file bytecode-graph-builder.cc.

Here is the caller graph for this function:

◆ zone()

Zone * v8::internal::compiler::BytecodeGraphBuilder::Environment::zone ( ) const
inlineprivate

Definition at line 613 of file bytecode-graph-builder.cc.

Here is the call graph for this function:

Member Data Documentation

◆ accumulator_base_

int v8::internal::compiler::BytecodeGraphBuilder::Environment::accumulator_base_
private

Definition at line 632 of file bytecode-graph-builder.cc.

◆ builder_

BytecodeGraphBuilder* v8::internal::compiler::BytecodeGraphBuilder::Environment::builder_
private

Definition at line 622 of file bytecode-graph-builder.cc.

◆ context_

Node* v8::internal::compiler::BytecodeGraphBuilder::Environment::context_
private

Definition at line 625 of file bytecode-graph-builder.cc.

◆ control_dependency_

Node* v8::internal::compiler::BytecodeGraphBuilder::Environment::control_dependency_
private

Definition at line 626 of file bytecode-graph-builder.cc.

◆ effect_dependency_

Node* v8::internal::compiler::BytecodeGraphBuilder::Environment::effect_dependency_
private

Definition at line 627 of file bytecode-graph-builder.cc.

◆ generator_state_

Node* v8::internal::compiler::BytecodeGraphBuilder::Environment::generator_state_
private

Definition at line 630 of file bytecode-graph-builder.cc.

◆ parameter_count_

int v8::internal::compiler::BytecodeGraphBuilder::Environment::parameter_count_
private

Definition at line 624 of file bytecode-graph-builder.cc.

◆ parameters_state_values_

Node* v8::internal::compiler::BytecodeGraphBuilder::Environment::parameters_state_values_
private

Definition at line 629 of file bytecode-graph-builder.cc.

◆ register_base_

int v8::internal::compiler::BytecodeGraphBuilder::Environment::register_base_
private

Definition at line 631 of file bytecode-graph-builder.cc.

◆ register_count_

int v8::internal::compiler::BytecodeGraphBuilder::Environment::register_count_
private

Definition at line 623 of file bytecode-graph-builder.cc.

◆ values_

NodeVector v8::internal::compiler::BytecodeGraphBuilder::Environment::values_
private

Definition at line 628 of file bytecode-graph-builder.cc.

◆ Zone

friend v8::internal::compiler::BytecodeGraphBuilder::Environment::Zone
private

Definition at line 602 of file bytecode-graph-builder.cc.


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