![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include "src/maglev/maglev-graph-builder.h"
#include <algorithm>
#include <limits>
#include <optional>
#include <utility>
#include "src/base/bounds.h"
#include "src/base/ieee754.h"
#include "src/base/logging.h"
#include "src/base/vector.h"
#include "src/builtins/builtins-constructor.h"
#include "src/builtins/builtins.h"
#include "src/codegen/cpu-features.h"
#include "src/codegen/interface-descriptors-inl.h"
#include "src/common/assert-scope.h"
#include "src/common/globals.h"
#include "src/common/message-template.h"
#include "src/compiler/access-info.h"
#include "src/compiler/bytecode-liveness-map.h"
#include "src/compiler/compilation-dependencies.h"
#include "src/compiler/feedback-source.h"
#include "src/compiler/heap-refs.h"
#include "src/compiler/js-heap-broker-inl.h"
#include "src/compiler/js-heap-broker.h"
#include "src/compiler/processed-feedback.h"
#include "src/deoptimizer/deoptimize-reason.h"
#include "src/execution/protectors.h"
#include "src/flags/flags.h"
#include "src/handles/maybe-handles-inl.h"
#include "src/ic/handler-configuration-inl.h"
#include "src/interpreter/bytecode-array-iterator.h"
#include "src/interpreter/bytecode-flags-and-tokens.h"
#include "src/interpreter/bytecode-register.h"
#include "src/interpreter/bytecodes.h"
#include "src/maglev/maglev-compilation-info.h"
#include "src/maglev/maglev-compilation-unit.h"
#include "src/maglev/maglev-graph-printer.h"
#include "src/maglev/maglev-interpreter-frame-state.h"
#include "src/maglev/maglev-ir-inl.h"
#include "src/maglev/maglev-ir.h"
#include "src/numbers/conversions.h"
#include "src/numbers/ieee754.h"
#include "src/objects/arguments.h"
#include "src/objects/elements-kind.h"
#include "src/objects/feedback-vector.h"
#include "src/objects/fixed-array.h"
#include "src/objects/heap-number-inl.h"
#include "src/objects/instance-type-inl.h"
#include "src/objects/js-array.h"
#include "src/objects/js-function.h"
#include "src/objects/js-objects.h"
#include "src/objects/literal-objects-inl.h"
#include "src/objects/name-inl.h"
#include "src/objects/object-list-macros.h"
#include "src/objects/property-cell.h"
#include "src/objects/property-details.h"
#include "src/objects/shared-function-info.h"
#include "src/objects/slots-inl.h"
#include "src/objects/type-hints.h"
#include "src/roots/roots.h"
#include "src/utils/utils.h"
#include "src/zone/zone.h"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::internal |
namespace | v8::internal::maglev |
Macros | |
#define | TRACE(...) |
#define | FAIL(...) |
#define | CASE(Name, ...) |
#define | NODE_FOR_OPERATION_HELPER(Name) |
#define | MAP_BINARY_OPERATION_TO_INT32_NODE(V) |
#define | MAP_UNARY_OPERATION_TO_INT32_NODE(V) |
#define | MAP_OPERATION_TO_FLOAT64_NODE(V) |
#define | CASE(op, _, identity) |
#define | SPECIALIZATION(op, OpNode, ...) |
#define | SPECIALIZATION(op, OpNode) |
#define | SHORT_STAR_VISITOR(Name, ...) |
#define | GENERATE_CASE(Name) |
#define | BUILD_AND_RETURN_LOAD_TYPED_ARRAY(Type) |
#define | BUILD_STORE_TYPED_ARRAY(Type, value) |
#define | CASE(Name) |
#define | TRACE_INLINING(...) |
#define | TRACE_CANNOT_INLINE(...) |
#define | MATH_UNARY_IEEE_BUILTIN_REDUCER(MathName, ExtName, EnumName) |
#define | CASE(Name, ...) |
#define | CASE(Name, _, arg_count) |
#define | DEBUG_BREAK(Name, ...) |
Functions | |
template<Operation kOperation> | |
static constexpr std::optional< int > | v8::internal::maglev::Int32Identity () |
template<Operation kOperation, typename type > | |
bool | v8::internal::maglev::OperationValue (type left, type right) |
NodeType | v8::internal::maglev::StaticTypeForNode (compiler::JSHeapBroker *broker, LocalIsolate *isolate, ValueNode *node) |
#define BUILD_AND_RETURN_LOAD_TYPED_ARRAY | ( | Type | ) |
#define BUILD_STORE_TYPED_ARRAY | ( | Type, | |
value ) |
#define CASE | ( | Name | ) |
#define CASE | ( | Name, | |
_, | |||
arg_count ) |
#define CASE | ( | Name, | |
... ) |
#define CASE | ( | Name, | |
... ) |
#define CASE | ( | op, | |
_, | |||
identity ) |
#define DEBUG_BREAK | ( | Name, | |
... ) |
Definition at line 15116 of file maglev-graph-builder.cc.
#define FAIL | ( | ... | ) |
Definition at line 78 of file maglev-graph-builder.cc.
#define GENERATE_CASE | ( | Name | ) |
#define MAP_BINARY_OPERATION_TO_INT32_NODE | ( | V | ) |
Definition at line 2093 of file maglev-graph-builder.cc.
#define MAP_OPERATION_TO_FLOAT64_NODE | ( | V | ) |
Definition at line 2114 of file maglev-graph-builder.cc.
#define MAP_UNARY_OPERATION_TO_INT32_NODE | ( | V | ) |
Definition at line 2106 of file maglev-graph-builder.cc.
#define MATH_UNARY_IEEE_BUILTIN_REDUCER | ( | MathName, | |
ExtName, | |||
EnumName ) |
Definition at line 10408 of file maglev-graph-builder.cc.
#define NODE_FOR_OPERATION_HELPER | ( | Name | ) |
Definition at line 2057 of file maglev-graph-builder.cc.
#define SHORT_STAR_VISITOR | ( | Name, | |
... ) |
Definition at line 3801 of file maglev-graph-builder.cc.
#define SPECIALIZATION | ( | op, | |
OpNode ) |
Definition at line 2138 of file maglev-graph-builder.cc.
#define SPECIALIZATION | ( | op, | |
OpNode, | |||
... ) |
Definition at line 2138 of file maglev-graph-builder.cc.
#define TRACE | ( | ... | ) |
Definition at line 73 of file maglev-graph-builder.cc.
#define TRACE_CANNOT_INLINE | ( | ... | ) |
Definition at line 8329 of file maglev-graph-builder.cc.
#define TRACE_INLINING | ( | ... | ) |
Definition at line 8323 of file maglev-graph-builder.cc.
|
private |
Definition at line 5067 of file maglev-graph-builder.cc.
|
private |
Definition at line 5060 of file maglev-graph-builder.cc.
|
private |
Definition at line 5066 of file maglev-graph-builder.cc.
|
private |
Definition at line 5065 of file maglev-graph-builder.cc.
|
private |
Definition at line 5063 of file maglev-graph-builder.cc.
|
private |
Definition at line 5064 of file maglev-graph-builder.cc.
|
private |
Definition at line 5068 of file maglev-graph-builder.cc.
|
private |
Definition at line 5062 of file maglev-graph-builder.cc.
|
private |
Definition at line 5061 of file maglev-graph-builder.cc.