![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include "src/compiler/machine-operator.h"
#include <optional>
#include "src/base/lazy-instance.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::internal |
namespace | v8::internal::compiler |
Macros | |
#define | PURE_BINARY_OP_LIST_32(V) |
#define | PURE_BINARY_OP_LIST_64(V) |
#define | PURE_SIMD_OP_LIST(V) |
#define | MACHINE_PURE_OP_LIST(V) |
#define | PURE_OPTIONAL_OP_LIST(V) |
#define | OVERFLOW_OP_LIST(V) |
#define | MACHINE_TYPE_LIST(V) |
#define | MACHINE_REPRESENTATION_LIST(V) |
#define | STORE_PAIR_MACHINE_REPRESENTATION_LIST(V) |
#define | LOAD_TRANSFORM_LIST(V) |
#define | ATOMIC_TAGGED_TYPE_LIST(V) |
#define | ATOMIC64_TAGGED_TYPE_LIST(V) |
#define | ATOMIC_U32_TYPE_LIST(V) |
#define | ATOMIC_TYPE_LIST(V) |
#define | ATOMIC_U64_TYPE_LIST(V) |
#define | ATOMIC_TAGGED_REPRESENTATION_LIST(V) |
#define | ATOMIC64_TAGGED_REPRESENTATION_LIST(V) |
#define | ATOMIC_REPRESENTATION_LIST(V) |
#define | ATOMIC64_REPRESENTATION_LIST(V) |
#define | ATOMIC_PAIR_BINOP_LIST(V) |
#define | SIMD_LANE_OP_LIST(V) |
#define | SIMD_I64x2_LANES(V) |
#define | SIMD_I32x4_LANES(V) |
#define | SIMD_I16x8_LANES(V) |
#define | SIMD_I8x16_LANES(V) |
#define | STACK_SLOT_CACHED_SIZES_ALIGNMENTS_LIST(V) |
#define | PURE(Name, properties, value_input_count, control_input_count, output_count) |
#define | OVERFLOW_OP(Name, properties) |
#define | LOAD(Type) |
#define | STACKSLOT(Size, Alignment, IsTagged) |
#define | STORE(Type) |
#define | STORE_PAIR(Type1, Type2) |
#define | ATOMIC_LOAD_WITH_KIND(Type, Kind) |
#define | ATOMIC_LOAD(Type) |
#define | ATOMIC_LOAD_WITH_KIND(Type, Kind) |
#define | ATOMIC_LOAD(Type) |
#define | ATOMIC_STORE_WITH_KIND(Type, Kind) |
#define | ATOMIC_STORE(Type) |
#define | ATOMIC_STORE_WITH_KIND(Type, Kind) |
#define | ATOMIC_STORE(Type) |
#define | ATOMIC_OP(op, type, kind) |
#define | ATOMIC_OP_LIST_WITH_KIND(type, kind) |
#define | ATOMIC_OP_LIST(type) |
#define | ATOMIC64_OP_LIST_WITH_KIND(type, kind) |
#define | ATOMIC64_OP_LIST(type) |
#define | ATOMIC_COMPARE_EXCHANGE_WITH_KIND(Type, Kind) |
#define | ATOMIC_COMPARE_EXCHANGE(Type) |
#define | ATOMIC_COMPARE_EXCHANGE_WITH_KIND(Type, Kind) |
#define | ATOMIC_COMPARE_EXCHANGE(Type) |
#define | ATOMIC_PAIR_OP(op) |
#define | STACK_POINTER_GREATER_THAN(Kind) |
#define | LOAD(Type) |
#define | STORE(kRep) |
#define | PURE(Name, properties, value_input_count, control_input_count, output_count) |
#define | PURE(Name, properties, value_input_count, control_input_count, output_count) |
#define | OVERFLOW_OP(Name, properties) |
#define | LOAD(Type) |
#define | LOAD(Type) |
#define | LOAD(Type) |
#define | LOAD(Type) |
#define | CASE_CACHED_SIZE(Size, Alignment, IsTagged) |
#define | STORE(kRep) |
#define | STORE(kRep1, kRep2) |
#define | STORE(kRep) |
#define | STORE(kRep) |
#define | CACHED_LOAD_WITH_KIND(Type, Kind) |
#define | CACHED_LOAD(Type) |
#define | LOAD(Type) |
#define | CACHED_STORE_WITH_KIND(kRep, Kind) |
#define | CACHED_STORE(kRep) |
#define | STORE(kRep) |
#define | EXCHANGE_WITH_KIND(kType, Kind) |
#define | EXCHANGE(kType) |
#define | COMPARE_EXCHANGE_WITH_KIND(kType, Kind) |
#define | COMPARE_EXCHANGE(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | CACHED_LOAD_WITH_KIND(Type, Kind) |
#define | CACHED_LOAD(Type) |
#define | LOAD(Type) |
#define | CACHED_STORE_WITH_KIND(kRep, Kind) |
#define | CACHED_STORE(kRep) |
#define | STORE(kRep) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define | OP_WITH_KIND(kType, Kind) |
#define | OP(kType) |
#define ATOMIC64_OP_LIST | ( | type | ) |
Definition at line 1649 of file machine-operator.cc.
#define ATOMIC64_OP_LIST_WITH_KIND | ( | type, | |
kind ) |
#define ATOMIC64_REPRESENTATION_LIST | ( | V | ) |
Definition at line 1124 of file machine-operator.cc.
#define ATOMIC64_TAGGED_REPRESENTATION_LIST | ( | V | ) |
Definition at line 1115 of file machine-operator.cc.
#define ATOMIC64_TAGGED_TYPE_LIST | ( | V | ) |
Definition at line 1078 of file machine-operator.cc.
#define ATOMIC_COMPARE_EXCHANGE | ( | Type | ) |
Definition at line 1672 of file machine-operator.cc.
#define ATOMIC_COMPARE_EXCHANGE | ( | Type | ) |
Definition at line 1672 of file machine-operator.cc.
#define ATOMIC_COMPARE_EXCHANGE_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1657 of file machine-operator.cc.
#define ATOMIC_COMPARE_EXCHANGE_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1657 of file machine-operator.cc.
#define ATOMIC_LOAD | ( | Type | ) |
Definition at line 1550 of file machine-operator.cc.
#define ATOMIC_LOAD | ( | Type | ) |
Definition at line 1550 of file machine-operator.cc.
#define ATOMIC_LOAD_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1538 of file machine-operator.cc.
#define ATOMIC_LOAD_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1538 of file machine-operator.cc.
#define ATOMIC_OP | ( | op, | |
type, | |||
kind ) |
Definition at line 1618 of file machine-operator.cc.
#define ATOMIC_OP_LIST | ( | type | ) |
Definition at line 1636 of file machine-operator.cc.
#define ATOMIC_OP_LIST_WITH_KIND | ( | type, | |
kind ) |
#define ATOMIC_PAIR_BINOP_LIST | ( | V | ) |
Definition at line 1128 of file machine-operator.cc.
#define ATOMIC_PAIR_OP | ( | op | ) |
Definition at line 1719 of file machine-operator.cc.
#define ATOMIC_REPRESENTATION_LIST | ( | V | ) |
Definition at line 1119 of file machine-operator.cc.
#define ATOMIC_STORE | ( | Type | ) |
Definition at line 1590 of file machine-operator.cc.
#define ATOMIC_STORE | ( | Type | ) |
Definition at line 1590 of file machine-operator.cc.
#define ATOMIC_STORE_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1576 of file machine-operator.cc.
#define ATOMIC_STORE_WITH_KIND | ( | Type, | |
Kind ) |
Definition at line 1576 of file machine-operator.cc.
#define ATOMIC_TAGGED_REPRESENTATION_LIST | ( | V | ) |
Definition at line 1108 of file machine-operator.cc.
#define ATOMIC_TAGGED_TYPE_LIST | ( | V | ) |
Definition at line 1071 of file machine-operator.cc.
#define ATOMIC_TYPE_LIST | ( | V | ) |
Definition at line 1087 of file machine-operator.cc.
#define ATOMIC_U32_TYPE_LIST | ( | V | ) |
Definition at line 1082 of file machine-operator.cc.
#define ATOMIC_U64_TYPE_LIST | ( | V | ) |
Definition at line 1093 of file machine-operator.cc.
#define CACHED_LOAD | ( | Type | ) |
#define CACHED_LOAD | ( | Type | ) |
#define CACHED_LOAD_WITH_KIND | ( | Type, | |
Kind ) |
#define CACHED_LOAD_WITH_KIND | ( | Type, | |
Kind ) |
#define CACHED_STORE | ( | kRep | ) |
#define CACHED_STORE | ( | kRep | ) |
#define CACHED_STORE_WITH_KIND | ( | kRep, | |
Kind ) |
#define CACHED_STORE_WITH_KIND | ( | kRep, | |
Kind ) |
#define CASE_CACHED_SIZE | ( | Size, | |
Alignment, | |||
IsTagged ) |
#define COMPARE_EXCHANGE | ( | kType | ) |
#define COMPARE_EXCHANGE_WITH_KIND | ( | kType, | |
Kind ) |
#define EXCHANGE | ( | kType | ) |
#define EXCHANGE_WITH_KIND | ( | kType, | |
Kind ) |
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD | ( | Type | ) |
Definition at line 1295 of file machine-operator.cc.
#define LOAD_TRANSFORM_LIST | ( | V | ) |
Definition at line 1034 of file machine-operator.cc.
#define MACHINE_PURE_OP_LIST | ( | V | ) |
Definition at line 770 of file machine-operator.cc.
#define MACHINE_REPRESENTATION_LIST | ( | V | ) |
Definition at line 944 of file machine-operator.cc.
#define MACHINE_TYPE_LIST | ( | V | ) |
Definition at line 920 of file machine-operator.cc.
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP | ( | kType | ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OP_WITH_KIND | ( | kType, | |
Kind ) |
#define OVERFLOW_OP | ( | Name, | |
properties ) |
Definition at line 1282 of file machine-operator.cc.
#define OVERFLOW_OP | ( | Name, | |
properties ) |
Definition at line 1282 of file machine-operator.cc.
#define OVERFLOW_OP_LIST | ( | V | ) |
Definition at line 912 of file machine-operator.cc.
#define PURE | ( | Name, | |
properties, | |||
value_input_count, | |||
control_input_count, | |||
output_count ) |
Definition at line 1167 of file machine-operator.cc.
#define PURE | ( | Name, | |
properties, | |||
value_input_count, | |||
control_input_count, | |||
output_count ) |
Definition at line 1167 of file machine-operator.cc.
#define PURE | ( | Name, | |
properties, | |||
value_input_count, | |||
control_input_count, | |||
output_count ) |
Definition at line 1167 of file machine-operator.cc.
#define PURE_BINARY_OP_LIST_32 | ( | V | ) |
Definition at line 319 of file machine-operator.cc.
#define PURE_BINARY_OP_LIST_64 | ( | V | ) |
Definition at line 343 of file machine-operator.cc.
#define PURE_OPTIONAL_OP_LIST | ( | V | ) |
Definition at line 883 of file machine-operator.cc.
#define PURE_SIMD_OP_LIST | ( | V | ) |
Definition at line 368 of file machine-operator.cc.
#define SIMD_I16x8_LANES | ( | V | ) |
Definition at line 1149 of file machine-operator.cc.
#define SIMD_I32x4_LANES | ( | V | ) |
Definition at line 1147 of file machine-operator.cc.
#define SIMD_I64x2_LANES | ( | V | ) |
Definition at line 1145 of file machine-operator.cc.
#define SIMD_I8x16_LANES | ( | V | ) |
Definition at line 1151 of file machine-operator.cc.
#define SIMD_LANE_OP_LIST | ( | V | ) |
Definition at line 1136 of file machine-operator.cc.
#define STACK_POINTER_GREATER_THAN | ( | Kind | ) |
Definition at line 1798 of file machine-operator.cc.
#define STACK_SLOT_CACHED_SIZES_ALIGNMENTS_LIST | ( | V | ) |
#define STACKSLOT | ( | Size, | |
Alignment, | |||
IsTagged ) |
Definition at line 1367 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | kRep1, | |
kRep2 ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE | ( | Type | ) |
Definition at line 1378 of file machine-operator.cc.
#define STORE_PAIR | ( | Type1, | |
Type2 ) |
Definition at line 1481 of file machine-operator.cc.
#define STORE_PAIR_MACHINE_REPRESENTATION_LIST | ( | V | ) |
Definition at line 1030 of file machine-operator.cc.