![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include "src/wasm/turboshaft-graph-interface.h"
#include <optional>
#include "absl/container/btree_map.h"
#include "include/v8-fast-api-calls.h"
#include "src/base/logging.h"
#include "src/builtins/builtins.h"
#include "src/builtins/data-view-ops.h"
#include "src/common/globals.h"
#include "src/compiler/turboshaft/assembler.h"
#include "src/compiler/turboshaft/builtin-call-descriptors.h"
#include "src/compiler/turboshaft/graph.h"
#include "src/compiler/turboshaft/wasm-assembler-helpers.h"
#include "src/compiler/wasm-compiler-definitions.h"
#include "src/objects/object-list-macros.h"
#include "src/objects/torque-defined-classes.h"
#include "src/trap-handler/trap-handler.h"
#include "src/wasm/compilation-environment.h"
#include "src/wasm/function-body-decoder-impl.h"
#include "src/wasm/function-compiler.h"
#include "src/wasm/inlining-tree.h"
#include "src/wasm/jump-table-assembler.h"
#include "src/wasm/memory-tracing.h"
#include "src/wasm/wasm-engine.h"
#include "src/wasm/wasm-linkage.h"
#include "src/wasm/wasm-objects-inl.h"
#include "src/wasm/wasm-objects.h"
#include "src/wasm/wasm-opcodes-inl.h"
#include "src/compiler/turboshaft/define-assembler-macros.inc"
#include "src/compiler/turboshaft/undef-assembler-macros.inc"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::internal |
namespace | v8::internal::wasm |
Macros | |
#define | V8_COMPILER_TURBOSHAFT_ASSEMBLER_MACROS_DEFINED 1 |
#define | TSA_DCHECK(assembler, condition) |
#define | TSA_SLOW_DCHECK(assembler, ...) |
#define | LIKELY(...) |
#define | UNLIKELY(...) |
#define | BIND(label, ...) |
#define | BIND_LOOP(loop_label, ...) |
#define | WHILE(...) |
#define | FOREACH_IMPL_2(arg, iterable) |
#define | FOREACH_IMPL_3(arg0, arg1, iterable) |
#define | FOREACH(...) |
#define | BREAK Asm().ControlFlowHelper_Goto(loop_exit_xx, {}) |
#define | CONTINUE Asm().ControlFlowHelper_Goto(loop_header_xx, {}) |
#define | GOTO(label, ...) |
#define | GOTO_IF(cond, label, ...) |
#define | GOTO_IF_NOT(cond, label, ...) |
#define | FORCE_UNROLL_LOOP |
#define | SUPPRESSED_DANGLING_ELSE_WARNING_IF(...) |
#define | SUPPRESSED_DANGLING_ELSE_WARNING_ELSE else |
#define | NO_SHADOW |
#define | RE_SHADOW _Pragma("GCC diagnostic pop") |
#define | IF(...) |
#define | IF_NOT(...) |
#define | ELSE |
#define | Assert(condition) |
#define | REDUCE(operation) |
#define | REDUCE_INPUT_GRAPH(operation) |
#define | __ Asm(). |
#define | V(Name) |
#define | ELEMENTS_KIND_TO_ELEMENT_SIZE(Type, type, TYPE, ctype) |
#define | HANDLE_BINARY_OPCODE(kind) |
#define | HANDLE_F16X8_BIN_OPTIONAL_OPCODE(kind, extern_ref) |
#define | HANDLE_F16X8_INVERSE_COMPARISON(kind, ts_kind, extern_ref) |
#define | HANDLE_INVERSE_COMPARISON(wasm_kind, ts_kind) |
#define | HANDLE_UNARY_NON_OPTIONAL_OPCODE(kind) |
#define | HANDLE_UNARY_OPTIONAL_OPCODE(kind, feature, external_ref) |
#define | HANDLE_SHIFT_OPCODE(kind) |
#define | HANDLE_TEST_OPCODE(kind) |
#define | HANDLE_SPLAT_OPCODE(kind) |
#define | HANDLE_TERNARY_MASK_OPCODE(kind) |
#define | HANDLE_TERNARY_OTHER_OPCODE(kind) |
#define | HANDLE_F16X8_TERN_OPCODE(kind, extern_ref) |
#define | CASE_BINOP(OPCODE, BINOP, RESULT, INPUT) |
#define | RMW_OPERATION(V) |
#define | CASE_LOAD(OPCODE, RESULT, INPUT) |
#define | LOAD_OPERATION(V) |
#define | CASE_STORE(OPCODE, INPUT, OUTPUT) |
#define | STORE_OPERATION(V) |
#define | TRAPREASON_TO_TRAPID(name) |
Typedefs | |
using | v8::internal::wasm::TSBlock = compiler::turboshaft::Block |
Functions | |
V8_EXPORT_PRIVATE void | v8::internal::wasm::BuildTSGraph (compiler::turboshaft::PipelineData *data, AccountingAllocator *allocator, CompilationEnv *env, WasmDetectedFeatures *detected, Graph &graph, const FunctionBody &func_body, const WireBytesStorage *wire_bytes, std::unique_ptr< AssumptionsJournal > *assumptions, ZoneVector< WasmInliningPosition > *inlining_positions, int func_index) |
#define __ Asm(). |
#define Assert | ( | condition | ) |
#define BIND | ( | label, | |
... ) |
#define BIND_LOOP | ( | loop_label, | |
... ) |
#define BREAK Asm().ControlFlowHelper_Goto(loop_exit_xx, {}) |
#define CASE_BINOP | ( | OPCODE, | |
BINOP, | |||
RESULT, | |||
INPUT ) |
#define CASE_LOAD | ( | OPCODE, | |
RESULT, | |||
INPUT ) |
#define CASE_STORE | ( | OPCODE, | |
INPUT, | |||
OUTPUT ) |
#define CONTINUE Asm().ControlFlowHelper_Goto(loop_header_xx, {}) |
#define ELEMENTS_KIND_TO_ELEMENT_SIZE | ( | Type, | |
type, | |||
TYPE, | |||
ctype ) |
#define ELSE |
#define FORCE_UNROLL_LOOP |
#define FOREACH | ( | ... | ) |
#define FOREACH_IMPL_2 | ( | arg, | |
iterable ) |
#define FOREACH_IMPL_3 | ( | arg0, | |
arg1, | |||
iterable ) |
#define GOTO_IF | ( | cond, | |
label, | |||
... ) |
#define GOTO_IF_NOT | ( | cond, | |
label, | |||
... ) |
#define HANDLE_BINARY_OPCODE | ( | kind | ) |
#define HANDLE_F16X8_BIN_OPTIONAL_OPCODE | ( | kind, | |
extern_ref ) |
#define HANDLE_F16X8_INVERSE_COMPARISON | ( | kind, | |
ts_kind, | |||
extern_ref ) |
#define HANDLE_F16X8_TERN_OPCODE | ( | kind, | |
extern_ref ) |
#define HANDLE_INVERSE_COMPARISON | ( | wasm_kind, | |
ts_kind ) |
#define HANDLE_SHIFT_OPCODE | ( | kind | ) |
#define HANDLE_SPLAT_OPCODE | ( | kind | ) |
#define HANDLE_TERNARY_MASK_OPCODE | ( | kind | ) |
#define HANDLE_TERNARY_OTHER_OPCODE | ( | kind | ) |
#define HANDLE_TEST_OPCODE | ( | kind | ) |
#define HANDLE_UNARY_NON_OPTIONAL_OPCODE | ( | kind | ) |
#define HANDLE_UNARY_OPTIONAL_OPCODE | ( | kind, | |
feature, | |||
external_ref ) |
#define IF | ( | ... | ) |
#define IF_NOT | ( | ... | ) |
#define LIKELY | ( | ... | ) |
#define LOAD_OPERATION | ( | V | ) |
#define NO_SHADOW |
#define RE_SHADOW _Pragma("GCC diagnostic pop") |
#define REDUCE | ( | operation | ) |
#define REDUCE_INPUT_GRAPH | ( | operation | ) |
#define RMW_OPERATION | ( | V | ) |
#define STORE_OPERATION | ( | V | ) |
#define SUPPRESSED_DANGLING_ELSE_WARNING_ELSE else |
#define SUPPRESSED_DANGLING_ELSE_WARNING_IF | ( | ... | ) |
#define TRAPREASON_TO_TRAPID | ( | name | ) |
#define TSA_DCHECK | ( | assembler, | |
condition ) |
#define TSA_SLOW_DCHECK | ( | assembler, | |
... ) |
#define UNLIKELY | ( | ... | ) |
#define V | ( | Name | ) |
#define V8_COMPILER_TURBOSHAFT_ASSEMBLER_MACROS_DEFINED 1 |
#define WHILE | ( | ... | ) |
|
private |
Definition at line 141 of file turboshaft-graph-interface.cc.