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

#include <js-create-lowering.h>

Inheritance diagram for v8::internal::compiler::JSCreateLowering:
Collaboration diagram for v8::internal::compiler::JSCreateLowering:

Public Member Functions

 JSCreateLowering (Editor *editor, JSGraph *jsgraph, JSHeapBroker *broker, Zone *zone)
 
 ~JSCreateLowering () final=default
 
const char * reducer_name () const override
 
Reduction Reduce (Node *node) final
 

Private Member Functions

Reduction ReduceJSCreate (Node *node)
 
Reduction ReduceJSCreateArguments (Node *node)
 
Reduction ReduceJSCreateArray (Node *node)
 
Reduction ReduceJSCreateArrayIterator (Node *node)
 
Reduction ReduceJSCreateAsyncFunctionObject (Node *node)
 
Reduction ReduceJSCreateCollectionIterator (Node *node)
 
Reduction ReduceJSCreateBoundFunction (Node *node)
 
Reduction ReduceJSCreateClosure (Node *node)
 
Reduction ReduceJSCreateIterResultObject (Node *node)
 
Reduction ReduceJSCreateStringIterator (Node *node)
 
Reduction ReduceJSCreateKeyValueArray (Node *node)
 
Reduction ReduceJSCreatePromise (Node *node)
 
Reduction ReduceJSCreateLiteralArrayOrObject (Node *node)
 
Reduction ReduceJSCreateEmptyLiteralObject (Node *node)
 
Reduction ReduceJSCreateEmptyLiteralArray (Node *node)
 
Reduction ReduceJSCreateLiteralRegExp (Node *node)
 
Reduction ReduceJSCreateFunctionContext (Node *node)
 
Reduction ReduceJSCreateWithContext (Node *node)
 
Reduction ReduceJSCreateCatchContext (Node *node)
 
Reduction ReduceJSCreateBlockContext (Node *node)
 
Reduction ReduceJSCreateGeneratorObject (Node *node)
 
Reduction ReduceJSGetTemplateObject (Node *node)
 
Reduction ReduceNewArray (Node *node, Node *length, MapRef initial_map, ElementsKind elements_kind, AllocationType allocation, const SlackTrackingPrediction &slack_tracking_prediction)
 
Reduction ReduceNewArray (Node *node, Node *length, int capacity, MapRef initial_map, ElementsKind elements_kind, AllocationType allocation, const SlackTrackingPrediction &slack_tracking_prediction)
 
Reduction ReduceNewArray (Node *node, std::vector< Node * > values, MapRef initial_map, ElementsKind elements_kind, AllocationType allocation, const SlackTrackingPrediction &slack_tracking_prediction)
 
Reduction ReduceJSCreateObject (Node *node)
 
Reduction ReduceJSCreateStringWrapper (Node *node)
 
NodeTryAllocateArguments (Node *effect, Node *control, FrameState frame_state)
 
NodeTryAllocateRestArguments (Node *effect, Node *control, FrameState frame_state, int start_index)
 
NodeTryAllocateAliasedArguments (Node *effect, Node *control, FrameState frame_state, Node *context, SharedFunctionInfoRef shared, bool *has_aliased_arguments)
 
NodeTryAllocateAliasedArguments (Node *effect, Node *control, Node *context, Node *arguments_length, SharedFunctionInfoRef shared, bool *has_aliased_arguments)
 
std::optional< Node * > TryAllocateFastLiteral (Node *effect, Node *control, JSObjectRef boilerplate, AllocationType allocation, int max_depth, int *max_properties)
 
std::optional< Node * > TryAllocateFastLiteralElements (Node *effect, Node *control, JSObjectRef boilerplate, AllocationType allocation, int max_depth, int *max_properties)
 
NodeAllocateElements (Node *effect, Node *control, ElementsKind elements_kind, int capacity, AllocationType allocation)
 
NodeAllocateElements (Node *effect, Node *control, ElementsKind elements_kind, Node *capacity_and_length)
 
NodeAllocateElements (Node *effect, Node *control, ElementsKind elements_kind, std::vector< Node * > const &values, AllocationType allocation)
 
NodeAllocateLiteralRegExp (Node *effect, Node *control, RegExpBoilerplateDescriptionRef boilerplate)
 
Factoryfactory () const
 
TFGraphgraph () const
 
JSGraphjsgraph () const
 
NativeContextRef native_context () const
 
CommonOperatorBuildercommon () const
 
SimplifiedOperatorBuildersimplified () const
 
CompilationDependenciesdependencies () const
 
JSHeapBrokerbroker () const
 
Zonezone () const
 

Private Attributes

JSGraph *const jsgraph_
 
JSHeapBroker *const broker_
 
Zone *const zone_
 

Detailed Description

Definition at line 35 of file js-create-lowering.h.

Constructor & Destructor Documentation

◆ JSCreateLowering()

v8::internal::compiler::JSCreateLowering::JSCreateLowering ( Editor * editor,
JSGraph * jsgraph,
JSHeapBroker * broker,
Zone * zone )
inline

Definition at line 38 of file js-create-lowering.h.

◆ ~JSCreateLowering()

v8::internal::compiler::JSCreateLowering::~JSCreateLowering ( )
finaldefault

Member Function Documentation

◆ AllocateElements() [1/3]

Node * v8::internal::compiler::JSCreateLowering::AllocateElements ( Node * effect,
Node * control,
ElementsKind elements_kind,
int capacity,
AllocationType allocation )
private

Definition at line 1683 of file js-create-lowering.cc.

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

◆ AllocateElements() [2/3]

Node * v8::internal::compiler::JSCreateLowering::AllocateElements ( Node * effect,
Node * control,
ElementsKind elements_kind,
Node * capacity_and_length )
private

◆ AllocateElements() [3/3]

Node * v8::internal::compiler::JSCreateLowering::AllocateElements ( Node * effect,
Node * control,
ElementsKind elements_kind,
std::vector< Node * > const & values,
AllocationType allocation )
private

Definition at line 1708 of file js-create-lowering.cc.

Here is the call graph for this function:

◆ AllocateLiteralRegExp()

Node * v8::internal::compiler::JSCreateLowering::AllocateLiteralRegExp ( Node * effect,
Node * control,
RegExpBoilerplateDescriptionRef boilerplate )
private

Definition at line 1982 of file js-create-lowering.cc.

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

◆ broker()

JSHeapBroker * v8::internal::compiler::JSCreateLowering::broker ( ) const
inlineprivate

Definition at line 130 of file js-create-lowering.h.

Here is the caller graph for this function:

◆ common()

CommonOperatorBuilder * v8::internal::compiler::JSCreateLowering::common ( ) const
private

Definition at line 2022 of file js-create-lowering.cc.

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

◆ dependencies()

CompilationDependencies * v8::internal::compiler::JSCreateLowering::dependencies ( ) const
private

Definition at line 2026 of file js-create-lowering.cc.

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

◆ factory()

Factory * v8::internal::compiler::JSCreateLowering::factory ( ) const
private

Definition at line 2016 of file js-create-lowering.cc.

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

◆ graph()

TFGraph * v8::internal::compiler::JSCreateLowering::graph ( ) const
private

Definition at line 2020 of file js-create-lowering.cc.

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

◆ jsgraph()

JSGraph * v8::internal::compiler::JSCreateLowering::jsgraph ( ) const
inlineprivate

Definition at line 125 of file js-create-lowering.h.

Here is the caller graph for this function:

◆ native_context()

NativeContextRef v8::internal::compiler::JSCreateLowering::native_context ( ) const
private

Definition at line 2034 of file js-create-lowering.cc.

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

◆ Reduce()

Reduction v8::internal::compiler::JSCreateLowering::Reduce ( Node * node)
final

Definition at line 57 of file js-create-lowering.cc.

Here is the call graph for this function:

◆ ReduceJSCreate()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreate ( Node * node)
private

Definition at line 114 of file js-create-lowering.cc.

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

◆ ReduceJSCreateArguments()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateArguments ( Node * node)
private

Definition at line 149 of file js-create-lowering.cc.

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

◆ ReduceJSCreateArray()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateArray ( Node * node)
private

Definition at line 633 of file js-create-lowering.cc.

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

◆ ReduceJSCreateArrayIterator()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateArrayIterator ( Node * node)
private

Definition at line 748 of file js-create-lowering.cc.

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

◆ ReduceJSCreateAsyncFunctionObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateAsyncFunctionObject ( Node * node)
private

Definition at line 776 of file js-create-lowering.cc.

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

◆ ReduceJSCreateBlockContext()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateBlockContext ( Node * node)
private

Definition at line 1334 of file js-create-lowering.cc.

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

◆ ReduceJSCreateBoundFunction()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateBoundFunction ( Node * node)
private

Definition at line 888 of file js-create-lowering.cc.

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

◆ ReduceJSCreateCatchContext()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateCatchContext ( Node * node)
private

Definition at line 1313 of file js-create-lowering.cc.

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

◆ ReduceJSCreateClosure()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateClosure ( Node * node)
private

Definition at line 931 of file js-create-lowering.cc.

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

◆ ReduceJSCreateCollectionIterator()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateCollectionIterator ( Node * node)
private

Definition at line 855 of file js-create-lowering.cc.

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

◆ ReduceJSCreateEmptyLiteralArray()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateEmptyLiteralArray ( Node * node)
private

Definition at line 1160 of file js-create-lowering.cc.

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

◆ ReduceJSCreateEmptyLiteralObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateEmptyLiteralObject ( Node * node)
private

Definition at line 1184 of file js-create-lowering.cc.

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

◆ ReduceJSCreateFunctionContext()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateFunctionContext ( Node * node)
private

Definition at line 1249 of file js-create-lowering.cc.

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

◆ ReduceJSCreateGeneratorObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateGeneratorObject ( Node * node)
private

Definition at line 387 of file js-create-lowering.cc.

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

◆ ReduceJSCreateIterResultObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateIterResultObject ( Node * node)
private

Definition at line 1028 of file js-create-lowering.cc.

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

◆ ReduceJSCreateKeyValueArray()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateKeyValueArray ( Node * node)
private

Definition at line 1075 of file js-create-lowering.cc.

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

◆ ReduceJSCreateLiteralArrayOrObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateLiteralArrayOrObject ( Node * node)
private

Definition at line 1134 of file js-create-lowering.cc.

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

◆ ReduceJSCreateLiteralRegExp()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateLiteralRegExp ( Node * node)
private

Definition at line 1215 of file js-create-lowering.cc.

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

◆ ReduceJSCreateObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateObject ( Node * node)
private

Definition at line 1386 of file js-create-lowering.cc.

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

◆ ReduceJSCreatePromise()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreatePromise ( Node * node)
private

Definition at line 1105 of file js-create-lowering.cc.

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

◆ ReduceJSCreateStringIterator()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateStringIterator ( Node * node)
private

Definition at line 1052 of file js-create-lowering.cc.

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

◆ ReduceJSCreateStringWrapper()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateStringWrapper ( Node * node)
private

Definition at line 1469 of file js-create-lowering.cc.

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

◆ ReduceJSCreateWithContext()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSCreateWithContext ( Node * node)
private

Definition at line 1292 of file js-create-lowering.cc.

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

◆ ReduceJSGetTemplateObject()

Reduction v8::internal::compiler::JSCreateLowering::ReduceJSGetTemplateObject ( Node * node)
private

Definition at line 1232 of file js-create-lowering.cc.

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

◆ ReduceNewArray() [1/3]

Reduction v8::internal::compiler::JSCreateLowering::ReduceNewArray ( Node * node,
Node * length,
int capacity,
MapRef initial_map,
ElementsKind elements_kind,
AllocationType allocation,
const SlackTrackingPrediction & slack_tracking_prediction )
private

Definition at line 523 of file js-create-lowering.cc.

Here is the call graph for this function:

◆ ReduceNewArray() [2/3]

Reduction v8::internal::compiler::JSCreateLowering::ReduceNewArray ( Node * node,
Node * length,
MapRef initial_map,
ElementsKind elements_kind,
AllocationType allocation,
const SlackTrackingPrediction & slack_tracking_prediction )
private

Definition at line 467 of file js-create-lowering.cc.

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

◆ ReduceNewArray() [3/3]

Reduction v8::internal::compiler::JSCreateLowering::ReduceNewArray ( Node * node,
std::vector< Node * > values,
MapRef initial_map,
ElementsKind elements_kind,
AllocationType allocation,
const SlackTrackingPrediction & slack_tracking_prediction )
private

Definition at line 572 of file js-create-lowering.cc.

Here is the call graph for this function:

◆ reducer_name()

const char * v8::internal::compiler::JSCreateLowering::reducer_name ( ) const
inlineoverride

Definition at line 46 of file js-create-lowering.h.

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::JSCreateLowering::simplified ( ) const
private

Definition at line 2030 of file js-create-lowering.cc.

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

◆ TryAllocateAliasedArguments() [1/2]

Node * v8::internal::compiler::JSCreateLowering::TryAllocateAliasedArguments ( Node * effect,
Node * control,
FrameState frame_state,
Node * context,
SharedFunctionInfoRef shared,
bool * has_aliased_arguments )
private

Definition at line 1554 of file js-create-lowering.cc.

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

◆ TryAllocateAliasedArguments() [2/2]

Node * v8::internal::compiler::JSCreateLowering::TryAllocateAliasedArguments ( Node * effect,
Node * control,
Node * context,
Node * arguments_length,
SharedFunctionInfoRef shared,
bool * has_aliased_arguments )
private

Definition at line 1625 of file js-create-lowering.cc.

Here is the call graph for this function:

◆ TryAllocateArguments()

Node * v8::internal::compiler::JSCreateLowering::TryAllocateArguments ( Node * effect,
Node * control,
FrameState frame_state )
private

Definition at line 1494 of file js-create-lowering.cc.

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

◆ TryAllocateFastLiteral()

std::optional< Node * > v8::internal::compiler::JSCreateLowering::TryAllocateFastLiteral ( Node * effect,
Node * control,
JSObjectRef boilerplate,
AllocationType allocation,
int max_depth,
int * max_properties )
private

Definition at line 1733 of file js-create-lowering.cc.

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

◆ TryAllocateFastLiteralElements()

std::optional< Node * > v8::internal::compiler::JSCreateLowering::TryAllocateFastLiteralElements ( Node * effect,
Node * control,
JSObjectRef boilerplate,
AllocationType allocation,
int max_depth,
int * max_properties )
private

Definition at line 1905 of file js-create-lowering.cc.

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

◆ TryAllocateRestArguments()

Node * v8::internal::compiler::JSCreateLowering::TryAllocateRestArguments ( Node * effect,
Node * control,
FrameState frame_state,
int start_index )
private

Definition at line 1522 of file js-create-lowering.cc.

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

◆ zone()

Zone * v8::internal::compiler::JSCreateLowering::zone ( ) const
inlineprivate

Definition at line 131 of file js-create-lowering.h.

Here is the caller graph for this function:

Member Data Documentation

◆ broker_

JSHeapBroker* const v8::internal::compiler::JSCreateLowering::broker_
private

Definition at line 134 of file js-create-lowering.h.

◆ jsgraph_

JSGraph* const v8::internal::compiler::JSCreateLowering::jsgraph_
private

Definition at line 133 of file js-create-lowering.h.

◆ zone_

Zone* const v8::internal::compiler::JSCreateLowering::zone_
private

Definition at line 135 of file js-create-lowering.h.


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