![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <assembler.h>
Public Types | |
using | values_t = typename super::values_t |
![]() | |
using | values_t |
using | const_or_values_t |
using | recorded_values_t |
Public Member Functions | |
template<typename Reducer > | |
LoopLabel (Reducer *reducer) | |
LoopLabel (LoopLabel &&other) V8_NOEXCEPT | |
Block * | loop_header () const |
template<typename A > | |
void | Goto (A &assembler, const values_t &values) |
template<typename A > | |
void | GotoIf (A &assembler, OpIndex condition, BranchHint hint, const values_t &values) |
template<typename A > | |
void | GotoIfNot (A &assembler, OpIndex condition, BranchHint hint, const values_t &values) |
template<typename A > | |
base::prepend_tuple_type< bool, values_t > | Bind (A &assembler) |
template<typename A > | |
base::prepend_tuple_type< bool, values_t > | BindLoop (A &assembler) |
template<typename A > | |
void | EndLoop (A &assembler) |
![]() | |
Block * | block () |
bool | has_incoming_jump () const |
void | Goto (A &assembler, const values_t &values) |
void | GotoIf (A &assembler, OpIndex condition, BranchHint hint, const values_t &values) |
void | GotoIfNot (A &assembler, OpIndex condition, BranchHint hint, const values_t &values) |
base::prepend_tuple_type< bool, values_t > | Bind (A &assembler) |
Private Types | |
using | super = LabelBase<true, Ts...> |
using | BlockData = typename super::BlockData |
Private Member Functions | |
LoopLabel (const LoopLabel &)=delete | |
LoopLabel & | operator= (const LoopLabel &)=delete |
template<typename A > | |
void | FixLoopPhis (A &assembler, const typename super::values_t &values) |
template<size_t I, typename A > | |
void | FixLoopPhi (A &assembler, const typename super::values_t &values) |
Static Private Member Functions | |
template<typename A > | |
static values_t | MaterializeLoopPhis (A &assembler, BlockData &data) |
template<typename A , size_t... indices> | |
static values_t | MaterializeLoopPhisImpl (A &assembler, BlockData &data, std::index_sequence< indices... >) |
Private Attributes | |
BlockData | loop_header_data_ |
std::optional< values_t > | pending_loop_phis_ |
Additional Inherited Members | |
![]() | |
static constexpr bool | is_loop |
![]() | |
LabelBase (const LabelBase &)=delete | |
LabelBase (Block *block) | |
LabelBase (LabelBase &&other) V8_NOEXCEPT | |
LabelBase & | operator= (const LabelBase &)=delete |
values_t | MaterializePhis (A &assembler) |
![]() | |
static void | RecordValues (Block *source, BlockData &data, const values_t &values) |
static void | RecordValuesImpl (BlockData &data, Block *source, const values_t &values, std::index_sequence< indices... >) |
static values_t | MaterializePhisImpl (A &assembler, BlockData &data, std::index_sequence< indices... >) |
![]() | |
BlockData | data_ |
bool | has_incoming_jump_ |
![]() | |
static constexpr size_t | size |
Definition at line 544 of file assembler.h.
|
private |
Definition at line 546 of file assembler.h.
|
private |
Definition at line 545 of file assembler.h.
using v8::internal::compiler::turboshaft::LoopLabel< Ts >::values_t = typename super::values_t |
Definition at line 552 of file assembler.h.
|
privatedelete |
|
inlineexplicit |
Definition at line 554 of file assembler.h.
|
inline |
Definition at line 558 of file assembler.h.
|
inline |
|
inline |
Definition at line 632 of file assembler.h.
|
inline |
|
inlineprivate |
Definition at line 696 of file assembler.h.
|
inlineprivate |
Definition at line 687 of file assembler.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 563 of file assembler.h.
|
inlinestaticprivate |
Definition at line 666 of file assembler.h.
|
inlinestaticprivate |
|
privatedelete |
|
private |
Definition at line 714 of file assembler.h.
|
private |
Definition at line 715 of file assembler.h.