V8 Project
simplified-operator.cc File Reference
+ Include dependency graph for simplified-operator.cc:

Go to the source code of this file.

Classes

struct  v8::internal::compiler::StaticParameterTraits< FieldAccess >
 
struct  v8::internal::compiler::StaticParameterTraits< ElementAccess >
 
class  v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 
 v8::internal::compiler
 

Macros

#define PURE_OP_LIST(V)
 
#define ACCESS_OP_LIST(V)
 
#define PURE(Name, properties, input_count)
 
#define PURE(Name, properties, input_count)    const Operator* SimplifiedOperatorBuilder::Name() { return &impl_.k##Name; }
 
#define ACCESS(Name, Type, properties, input_count, output_count)
 

Functions

OStream & v8::internal::compiler::operator<< (OStream &os, BaseTaggedness base_taggedness)
 
bool v8::internal::compiler::operator== (ElementAccess const &lhs, ElementAccess const &rhs)
 
bool v8::internal::compiler::operator!= (ElementAccess const &lhs, ElementAccess const &rhs)
 
OStream & v8::internal::compiler::operator<< (OStream &os, ElementAccess const &access)
 
const FieldAccess & v8::internal::compiler::FieldAccessOf (const Operator *op)
 
const ElementAccess & v8::internal::compiler::ElementAccessOf (const Operator *op)
 

Variables

static base::LazyInstance< SimplifiedOperatorBuilderImpl >::type v8::internal::compiler::kImpl
 

Macro Definition Documentation

◆ ACCESS

#define ACCESS (   Name,
  Type,
  properties,
  input_count,
  output_count 
)
Value:
const Operator* SimplifiedOperatorBuilder::Name(const Type& access) { \
return new (zone()) \
Operator1<Type>(IrOpcode::k##Name, Operator::kNoThrow | properties, \
input_count, output_count, #Name, access); \
}
TypeImpl< ZoneTypeConfig > Type

Definition at line 167 of file simplified-operator.cc.

◆ ACCESS_OP_LIST

#define ACCESS_OP_LIST (   V)
Value:
V(LoadField, FieldAccess, Operator::kNoWrite, 1, 1) \
V(StoreField, FieldAccess, Operator::kNoRead, 2, 0) \
V(LoadElement, ElementAccess, Operator::kNoWrite, 3, 1) \
V(StoreElement, ElementAccess, Operator::kNoRead, 4, 0)
#define V(NAME, Name, id)
Definition: execution.h:170

Definition at line 125 of file simplified-operator.cc.

◆ PURE [1/2]

#define PURE (   Name,
  properties,
  input_count 
)
Value:
struct Name##Operator FINAL : public SimpleOperator { \
Name##Operator() \
: SimpleOperator(IrOpcode::k##Name, Operator::kPure | properties, \
input_count, 1, #Name) {} \
}; \
Name##Operator k##Name;
#define FINAL

Definition at line 153 of file simplified-operator.cc.

◆ PURE [2/2]

#define PURE (   Name,
  properties,
  input_count 
)     const Operator* SimplifiedOperatorBuilder::Name() { return &impl_.k##Name; }

Definition at line 153 of file simplified-operator.cc.

◆ PURE_OP_LIST

#define PURE_OP_LIST (   V)
Value:
V(BooleanNot, Operator::kNoProperties, 1) \
V(BooleanToNumber, Operator::kNoProperties, 1) \
V(NumberEqual, Operator::kCommutative, 2) \
V(NumberLessThan, Operator::kNoProperties, 2) \
V(NumberLessThanOrEqual, Operator::kNoProperties, 2) \
V(NumberAdd, Operator::kCommutative, 2) \
V(NumberSubtract, Operator::kNoProperties, 2) \
V(NumberMultiply, Operator::kCommutative, 2) \
V(NumberDivide, Operator::kNoProperties, 2) \
V(NumberModulus, Operator::kNoProperties, 2) \
V(NumberToInt32, Operator::kNoProperties, 1) \
V(NumberToUint32, Operator::kNoProperties, 1) \
V(StringEqual, Operator::kCommutative, 2) \
V(StringLessThan, Operator::kNoProperties, 2) \
V(StringLessThanOrEqual, Operator::kNoProperties, 2) \
V(StringAdd, Operator::kNoProperties, 2) \
V(ChangeTaggedToInt32, Operator::kNoProperties, 1) \
V(ChangeTaggedToUint32, Operator::kNoProperties, 1) \
V(ChangeTaggedToFloat64, Operator::kNoProperties, 1) \
V(ChangeInt32ToTagged, Operator::kNoProperties, 1) \
V(ChangeUint32ToTagged, Operator::kNoProperties, 1) \
V(ChangeFloat64ToTagged, Operator::kNoProperties, 1) \
V(ChangeBoolToBit, Operator::kNoProperties, 1) \
V(ChangeBitToBool, Operator::kNoProperties, 1)
int32_t NumberToInt32(Object *number)
Definition: conversions.h:189
uint32_t NumberToUint32(Object *number)
Definition: conversions.h:195

Definition at line 98 of file simplified-operator.cc.