v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
js-call-reducer.cc File Reference
Include dependency graph for js-call-reducer.cc:

Go to the source code of this file.

Classes

class  v8::internal::compiler::JSCallReducerAssembler
 
class  v8::internal::compiler::JSCallReducerAssembler::TryCatchBuilder0
 
class  v8::internal::compiler::JSCallReducerAssembler::ForBuilder0
 
class  v8::internal::compiler::JSCallReducerAssembler::ForBuilder1
 
class  v8::internal::compiler::IteratingArrayBuiltinReducerAssembler
 
class  v8::internal::compiler::PromiseBuiltinReducerAssembler
 
class  v8::internal::compiler::FastApiCallReducerAssembler
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 

Macros

#define _   [&]()
 
#define __   gasm.
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 

Enumerations

enum class  v8::internal::compiler::ArrayReduceDirection { v8::internal::compiler::kLeft , v8::internal::compiler::kRight }
 
enum class  v8::internal::compiler::ArrayFindVariant { v8::internal::compiler::kFind , v8::internal::compiler::kFindIndex }
 
enum class  v8::internal::compiler::ArrayEverySomeVariant { v8::internal::compiler::kEvery , v8::internal::compiler::kSome }
 
enum class  v8::internal::compiler::ArrayIndexOfIncludesVariant { v8::internal::compiler::kIncludes , v8::internal::compiler::kIndexOf }
 

Macro Definition Documentation

◆ _

#define _   [&]()

Definition at line 54 of file js-call-reducer.cc.

◆ __

#define __   gasm.

◆ TYPED_ARRAY_CASE [1/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
case TYPE##_ELEMENTS: \
array_type = kExternal##Type##Array; \
break;

◆ TYPED_ARRAY_CASE [2/2]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
do { \
Node* check = graph()->NewNode( \
simplified()->NumberEqual(), receiver_elements_kind, \
jsgraph()->ConstantNoHole(TYPE##_ELEMENTS - \
FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND)); \
control = graph()->NewNode(common()->Branch(), check, control); \
values.push_back(jsgraph()->ConstantNoHole( \
broker()->GetTypedArrayStringTag(TYPE##_ELEMENTS), broker())); \
effects.push_back(effect); \
controls.push_back(graph()->NewNode(common()->IfTrue(), control)); \
control = graph()->NewNode(common()->IfFalse(), control); \
} while (false);
TFGraph * graph
SimplifiedOperatorBuilder * simplified
JSHeapBroker * broker
JSGraph * jsgraph

Variable Documentation

◆ a

TNode<JSArray> a

Definition at line 1757 of file js-call-reducer.cc.

◆ callback

TNode<Object> callback

Definition at line 1499 of file js-call-reducer.cc.

◆ can_reduce_

bool can_reduce_ = false
private

Definition at line 3620 of file js-call-reducer.cc.

◆ context

TNode<Context> context

Definition at line 1495 of file js-call-reducer.cc.

◆ control_

Control control_
private

Definition at line 3624 of file js-call-reducer.cc.

◆ direction

ArrayReduceDirection direction

Definition at line 1576 of file js-call-reducer.cc.

◆ effect_

Effect effect_
private

Definition at line 3623 of file js-call-reducer.cc.

◆ elements_kind_

ElementsKind elements_kind_
private

Definition at line 3626 of file js-call-reducer.cc.

◆ has_stability_dependency_

bool has_stability_dependency_ = false
private

Definition at line 3621 of file js-call-reducer.cc.

◆ inference_

MapInference inference_
private

Definition at line 3625 of file js-call-reducer.cc.

◆ jsgraph

JSGraph* jsgraph

Definition at line 1493 of file js-call-reducer.cc.

◆ node_ptr

Node* node_ptr

Definition at line 2319 of file js-call-reducer.cc.

◆ original_length

TNode<Object> original_length

Definition at line 1501 of file js-call-reducer.cc.

◆ outer_frame_state

FrameState outer_frame_state

Definition at line 1497 of file js-call-reducer.cc.

◆ receiver

TNode<Object> receiver

Definition at line 1498 of file js-call-reducer.cc.

◆ receiver_

Node* receiver_
private

Definition at line 3622 of file js-call-reducer.cc.

◆ shared

SharedFunctionInfoRef shared

Definition at line 1494 of file js-call-reducer.cc.

◆ target

TNode<Object> target

Definition at line 1496 of file js-call-reducer.cc.

◆ this_arg

TNode<Object> this_arg

Definition at line 1500 of file js-call-reducer.cc.