![]() |
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 |
Public Types inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| 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) |
Public Member Functions inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| 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 Public Attributes inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| static constexpr bool | is_loop |
Protected Member Functions inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| LabelBase (const LabelBase &)=delete | |
| LabelBase (Block *block) | |
| LabelBase (LabelBase &&other) V8_NOEXCEPT | |
| LabelBase & | operator= (const LabelBase &)=delete |
| values_t | MaterializePhis (A &assembler) |
Static Protected Member Functions inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| 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... >) |
Protected Attributes inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| BlockData | data_ |
| bool | has_incoming_jump_ |
Static Protected Attributes inherited from v8::internal::compiler::turboshaft::LabelBase< true, Ts... > | |
| 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.