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

Go to the source code of this file.

Classes

struct  v8::internal::compiler::JSOperatorGlobalCache
 

Namespaces

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

Macros

#define CACHED_OP_LIST(V)
 
#define CACHED_OP(Name, properties, value_input_count, value_output_count)
 
#define CACHED_OP(Name, properties, value_input_count, value_output_count)
 
#define UNARY_OP(JSName, Name)
 
#define BINARY_OP(JSName, Name)
 

Functions

TNode< Oddballv8::internal::compiler::js_node_wrapper_utils::UndefinedConstant (JSGraph *jsgraph)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CallFrequency const &f)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ConstructForwardVarargsParameters const &p)
 
ConstructForwardVarargsParameters const & v8::internal::compiler::ConstructForwardVarargsParametersOf (Operator const *op)
 
bool v8::internal::compiler::operator== (ConstructParameters const &lhs, ConstructParameters const &rhs)
 
bool v8::internal::compiler::operator!= (ConstructParameters const &lhs, ConstructParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (ConstructParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ConstructParameters const &p)
 
ConstructParameters const & v8::internal::compiler::ConstructParametersOf (Operator const *op)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CallParameters const &p)
 
const CallParametersv8::internal::compiler::CallParametersOf (const Operator *op)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CallForwardVarargsParameters const &p)
 
CallForwardVarargsParameters const & v8::internal::compiler::CallForwardVarargsParametersOf (Operator const *op)
 
bool v8::internal::compiler::operator== (CallRuntimeParameters const &lhs, CallRuntimeParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CallRuntimeParameters const &lhs, CallRuntimeParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CallRuntimeParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CallRuntimeParameters const &p)
 
const CallRuntimeParametersv8::internal::compiler::CallRuntimeParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (ContextAccess const &lhs, ContextAccess const &rhs)
 
bool v8::internal::compiler::operator!= (ContextAccess const &lhs, ContextAccess const &rhs)
 
size_t v8::internal::compiler::hash_value (ContextAccess const &access)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ContextAccess const &access)
 
ContextAccess const & v8::internal::compiler::ContextAccessOf (Operator const *op)
 
bool v8::internal::compiler::operator== (CreateFunctionContextParameters const &lhs, CreateFunctionContextParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateFunctionContextParameters const &lhs, CreateFunctionContextParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateFunctionContextParameters const &parameters)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateFunctionContextParameters const &parameters)
 
CreateFunctionContextParameters const & v8::internal::compiler::CreateFunctionContextParametersOf (Operator const *op)
 
bool v8::internal::compiler::operator== (DefineNamedOwnPropertyParameters const &lhs, DefineNamedOwnPropertyParameters const &rhs)
 
bool v8::internal::compiler::operator!= (DefineNamedOwnPropertyParameters const &lhs, DefineNamedOwnPropertyParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (DefineNamedOwnPropertyParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, DefineNamedOwnPropertyParameters const &p)
 
DefineNamedOwnPropertyParameters const & v8::internal::compiler::DefineNamedOwnPropertyParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (FeedbackParameter const &lhs, FeedbackParameter const &rhs)
 
bool v8::internal::compiler::operator!= (FeedbackParameter const &lhs, FeedbackParameter const &rhs)
 
size_t v8::internal::compiler::hash_value (FeedbackParameter const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, FeedbackParameter const &p)
 
FeedbackParameter const & v8::internal::compiler::FeedbackParameterOf (const Operator *op)
 
bool v8::internal::compiler::operator== (NamedAccess const &lhs, NamedAccess const &rhs)
 
bool v8::internal::compiler::operator!= (NamedAccess const &lhs, NamedAccess const &rhs)
 
size_t v8::internal::compiler::hash_value (NamedAccess const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, NamedAccess const &p)
 
NamedAccess const & v8::internal::compiler::NamedAccessOf (const Operator *op)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, PropertyAccess const &p)
 
bool v8::internal::compiler::operator== (PropertyAccess const &lhs, PropertyAccess const &rhs)
 
bool v8::internal::compiler::operator!= (PropertyAccess const &lhs, PropertyAccess const &rhs)
 
PropertyAccess const & v8::internal::compiler::PropertyAccessOf (const Operator *op)
 
size_t v8::internal::compiler::hash_value (PropertyAccess const &p)
 
bool v8::internal::compiler::operator== (LoadGlobalParameters const &lhs, LoadGlobalParameters const &rhs)
 
bool v8::internal::compiler::operator!= (LoadGlobalParameters const &lhs, LoadGlobalParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (LoadGlobalParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, LoadGlobalParameters const &p)
 
const LoadGlobalParametersv8::internal::compiler::LoadGlobalParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (StoreGlobalParameters const &lhs, StoreGlobalParameters const &rhs)
 
bool v8::internal::compiler::operator!= (StoreGlobalParameters const &lhs, StoreGlobalParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (StoreGlobalParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, StoreGlobalParameters const &p)
 
const StoreGlobalParametersv8::internal::compiler::StoreGlobalParametersOf (const Operator *op)
 
CreateArgumentsType const & v8::internal::compiler::CreateArgumentsTypeOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateArrayParameters const &lhs, CreateArrayParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateArrayParameters const &lhs, CreateArrayParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateArrayParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateArrayParameters const &p)
 
const CreateArrayParametersv8::internal::compiler::CreateArrayParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateArrayIteratorParameters const &lhs, CreateArrayIteratorParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateArrayIteratorParameters const &lhs, CreateArrayIteratorParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateArrayIteratorParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateArrayIteratorParameters const &p)
 
const CreateArrayIteratorParametersv8::internal::compiler::CreateArrayIteratorParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateCollectionIteratorParameters const &lhs, CreateCollectionIteratorParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateCollectionIteratorParameters const &lhs, CreateCollectionIteratorParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateCollectionIteratorParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateCollectionIteratorParameters const &p)
 
const CreateCollectionIteratorParametersv8::internal::compiler::CreateCollectionIteratorParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateBoundFunctionParameters const &lhs, CreateBoundFunctionParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateBoundFunctionParameters const &lhs, CreateBoundFunctionParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateBoundFunctionParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateBoundFunctionParameters const &p)
 
const CreateBoundFunctionParametersv8::internal::compiler::CreateBoundFunctionParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (GetTemplateObjectParameters const &lhs, GetTemplateObjectParameters const &rhs)
 
bool v8::internal::compiler::operator!= (GetTemplateObjectParameters const &lhs, GetTemplateObjectParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (GetTemplateObjectParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, GetTemplateObjectParameters const &p)
 
const GetTemplateObjectParametersv8::internal::compiler::GetTemplateObjectParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateClosureParameters const &lhs, CreateClosureParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateClosureParameters const &lhs, CreateClosureParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateClosureParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateClosureParameters const &p)
 
const CreateClosureParametersv8::internal::compiler::CreateClosureParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CreateLiteralParameters const &lhs, CreateLiteralParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CreateLiteralParameters const &lhs, CreateLiteralParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CreateLiteralParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CreateLiteralParameters const &p)
 
const CreateLiteralParametersv8::internal::compiler::CreateLiteralParametersOf (const Operator *op)
 
bool v8::internal::compiler::operator== (CloneObjectParameters const &lhs, CloneObjectParameters const &rhs)
 
bool v8::internal::compiler::operator!= (CloneObjectParameters const &lhs, CloneObjectParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (CloneObjectParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, CloneObjectParameters const &p)
 
const CloneObjectParametersv8::internal::compiler::CloneObjectParametersOf (const Operator *op)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, GetIteratorParameters const &p)
 
bool v8::internal::compiler::operator== (GetIteratorParameters const &lhs, GetIteratorParameters const &rhs)
 
bool v8::internal::compiler::operator!= (GetIteratorParameters const &lhs, GetIteratorParameters const &rhs)
 
GetIteratorParameters const & v8::internal::compiler::GetIteratorParametersOf (const Operator *op)
 
size_t v8::internal::compiler::hash_value (GetIteratorParameters const &p)
 
size_t v8::internal::compiler::hash_value (ForInMode const &mode)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ForInMode const &mode)
 
bool v8::internal::compiler::operator== (ForInParameters const &lhs, ForInParameters const &rhs)
 
bool v8::internal::compiler::operator!= (ForInParameters const &lhs, ForInParameters const &rhs)
 
size_t v8::internal::compiler::hash_value (ForInParameters const &p)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ForInParameters const &p)
 
ForInParameters const & v8::internal::compiler::ForInParametersOf (const Operator *op)
 
int v8::internal::compiler::RegisterCountOf (Operator const *op)
 
int v8::internal::compiler::GeneratorStoreValueCountOf (const Operator *op)
 
int v8::internal::compiler::RestoreRegisterIndexOf (const Operator *op)
 
ScopeInfoRef v8::internal::compiler::ScopeInfoOf (const Operator *op)
 
bool v8::internal::compiler::operator== (ScopeInfoRef lhs, ScopeInfoRef rhs)
 
bool v8::internal::compiler::operator!= (ScopeInfoRef lhs, ScopeInfoRef rhs)
 
size_t v8::internal::compiler::hash_value (ScopeInfoRef ref)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, ScopeInfoRef ref)
 

Macro Definition Documentation

◆ BINARY_OP

#define BINARY_OP ( JSName,
Name )
Value:
const Operator* JSOperatorBuilder::Name(FeedbackSource const& feedback) { \
static constexpr auto kProperties = BinopProperties(IrOpcode::k##JSName); \
FeedbackParameter parameters(feedback); \
return zone()->New<Operator1<FeedbackParameter>>( \
IrOpcode::k##JSName, kProperties, #JSName, 3, 1, 1, 1, 1, \
Operator::ZeroIfNoThrow(kProperties), parameters); \
}

Definition at line 827 of file js-operator.cc.

◆ CACHED_OP [1/2]

#define CACHED_OP ( Name,
properties,
value_input_count,
value_output_count )
Value:
struct Name##Operator final : public Operator { \
Name##Operator() \
: Operator(IrOpcode::kJS##Name, properties, "JS" #Name, \
value_input_count, Operator::ZeroIfPure(properties), \
Operator::ZeroIfEliminatable(properties), \
value_output_count, Operator::ZeroIfPure(properties), \
Operator::ZeroIfNoThrow(properties)) {} \
}; \
Name##Operator k##Name##Operator;

Definition at line 789 of file js-operator.cc.

◆ CACHED_OP [2/2]

#define CACHED_OP ( Name,
properties,
value_input_count,
value_output_count )
Value:
const Operator* JSOperatorBuilder::Name() { \
return &cache_.k##Name##Operator; \
}

Definition at line 789 of file js-operator.cc.

◆ CACHED_OP_LIST

#define CACHED_OP_LIST ( V)

Definition at line 747 of file js-operator.cc.

◆ UNARY_OP

#define UNARY_OP ( JSName,
Name )
Value:
const Operator* JSOperatorBuilder::Name(FeedbackSource const& feedback) { \
FeedbackParameter parameters(feedback); \
return zone()->New<Operator1<FeedbackParameter>>( \
IrOpcode::k##JSName, Operator::kNoProperties, #JSName, 2, 1, 1, 1, 1, \
2, parameters); \
}

Definition at line 817 of file js-operator.cc.