![]() |
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.