v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::turboshaft::Int64LoweringReducer< Next > Class Template Reference

#include <int64-lowering-reducer.h>

Inheritance diagram for v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >:
Collaboration diagram for v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >:

Public Types

using Word32OrWord32Pair = OpIndex
 

Public Member Functions

 Int64LoweringReducer ()
 
Word32OrWord32Pair REDUCE WordBinop (Word32OrWord32Pair left, Word32OrWord32Pair right, WordBinopOp::Kind kind, WordRepresentation rep)
 
Word32OrWord32Pair REDUCE Shift (Word32OrWord32Pair left, V< Word32 > right, ShiftOp::Kind kind, WordRepresentation rep)
 
V< Word32 > REDUCE Comparison (V< Any > left, V< Any > right, ComparisonOp::Kind kind, RegisterRepresentation rep)
 
V< Any > REDUCE Call (V< CallTarget > callee, OptionalV< FrameState > frame_state, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor, OpEffects effects)
 
OpIndex REDUCE TailCall (OpIndex callee, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor)
 
OpIndex REDUCE Constant (ConstantOp::Kind kind, ConstantOp::Storage value)
 
OpIndex REDUCE Parameter (int32_t parameter_index, RegisterRepresentation rep, const char *debug_name="")
 
V< None > REDUCE Return (V< Word32 > pop_count, base::Vector< const OpIndex > return_values, bool spill_caller_frame_slots)
 
Word32OrWord32Pair REDUCE WordUnary (Word32OrWord32Pair input, WordUnaryOp::Kind kind, WordRepresentation rep)
 
OpIndex REDUCE Change (OpIndex input, ChangeOp::Kind kind, ChangeOp::Assumption assumption, RegisterRepresentation from, RegisterRepresentation to)
 
std::pair< OptionalV< Word32 >, int32_t > IncreaseOffset (OptionalV< Word32 > index, int32_t offset, int32_t add_offset, bool tagged_base)
 
OpIndex REDUCE Load (OpIndex base, OptionalOpIndex index, LoadOp::Kind kind, MemoryRepresentation loaded_rep, RegisterRepresentation result_rep, int32_t offset, uint8_t element_scale)
 
V< None > REDUCE Store (OpIndex base, OptionalOpIndex index, OpIndex value, StoreOp::Kind kind, MemoryRepresentation stored_rep, WriteBarrierKind write_barrier, int32_t offset, uint8_t element_size_log2, bool maybe_initializing_or_transitioning, IndirectPointerTag maybe_indirect_pointer_tag)
 
OpIndex REDUCE AtomicRMW (OpIndex base, OpIndex index, OpIndex value, OptionalOpIndex expected, AtomicRMWOp::BinOp bin_op, RegisterRepresentation in_out_rep, MemoryRepresentation memory_rep, MemoryAccessKind kind)
 
OpIndex REDUCE Phi (base::Vector< const OpIndex > inputs, RegisterRepresentation rep)
 
OpIndex REDUCE PendingLoopPhi (OpIndex input, RegisterRepresentation rep)
 
void FixLoopPhi (const PhiOp &input_phi, OpIndex output_index, Block *output_graph_loop)
 
V< Simd128 > REDUCE Simd128Splat (V< Any > input, Simd128SplatOp::Kind kind)
 
V< Any > REDUCE Simd128ExtractLane (V< Simd128 > input, Simd128ExtractLaneOp::Kind kind, uint8_t lane)
 
V< Simd128 > REDUCE Simd128ReplaceLane (V< Simd128 > into, V< Any > new_lane, Simd128ReplaceLaneOp::Kind kind, uint8_t lane)
 
V< turboshaft::FrameState > REDUCE FrameState (base::Vector< const OpIndex > inputs, bool inlined, const FrameStateData *data)
 

Private Member Functions

bool CheckPairOrPairOp (V< Word32Pair > input)
 
std::pair< V< Word32 >, V< Word32 > > Unpack (V< Word32Pair > input)
 
V< Word32PairLowerSignExtend (V< Word32 > input)
 
V< Word32PairLowerClz (V< Word32Pair > input)
 
V< Word32PairLowerCtz (V< Word32Pair > input)
 
V< Word32PairLowerPopCount (V< Word32Pair > input)
 
V< Word32PairLowerPairBinOp (V< Word32Pair > left, V< Word32Pair > right, Word32PairBinopOp::Kind kind)
 
V< Word32PairLowerPairShiftOp (V< Word32Pair > left, V< Word32 > right, Word32PairBinopOp::Kind kind)
 
V< Word32PairLowerBitwiseAnd (V< Word32Pair > left, V< Word32Pair > right)
 
V< Word32PairLowerBitwiseOr (V< Word32Pair > left, V< Word32Pair > right)
 
V< Word32PairLowerBitwiseXor (V< Word32Pair > left, V< Word32Pair > right)
 
V< Word32PairLowerRotateRight (V< Word32Pair > left, V< Word32 > right)
 
V< AnyLowerCall (V< CallTarget > callee, OptionalV< FrameState > frame_state, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor, OpEffects effects, bool is_tail_call)
 
void InitializeIndexMaps ()
 

Private Attributes

const Signature< MachineRepresentation > * sig_
 
Zonezone_ = __ graph_zone()
 
ZoneVector< int32_t > param_index_map_ {__ phase_zone()}
 
bool returns_i64_ = false
 
const OperationMatchermatcher_ {__ matcher()}
 

Detailed Description

template<class Next>
class v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >

Definition at line 27 of file int64-lowering-reducer.h.

Member Typedef Documentation

◆ Word32OrWord32Pair

template<class Next >
using v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Word32OrWord32Pair = OpIndex

Definition at line 34 of file int64-lowering-reducer.h.

Constructor & Destructor Documentation

◆ Int64LoweringReducer()

template<class Next >
v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Int64LoweringReducer ( )
inline

Definition at line 36 of file int64-lowering-reducer.h.

Here is the call graph for this function:

Member Function Documentation

◆ AtomicRMW()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::AtomicRMW ( OpIndex base,
OpIndex index,
OpIndex value,
OptionalOpIndex expected,
AtomicRMWOp::BinOp bin_op,
RegisterRepresentation in_out_rep,
MemoryRepresentation memory_rep,
MemoryAccessKind kind )
inline

Definition at line 395 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Call()

template<class Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Call ( V< CallTarget > callee,
OptionalV< FrameState > frame_state,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor,
OpEffects effects )
inline

Definition at line 151 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Change()

Definition at line 254 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ CheckPairOrPairOp()

template<class Next >
bool v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::CheckPairOrPairOp ( V< Word32Pair > input)
inlineprivate

Definition at line 596 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Comparison()

template<class Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Comparison ( V< Any > left,
V< Any > right,
ComparisonOp::Kind kind,
RegisterRepresentation rep )
inline

Definition at line 109 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Constant()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Constant ( ConstantOp::Kind kind,
ConstantOp::Storage value )
inline

Definition at line 168 of file int64-lowering-reducer.h.

◆ FixLoopPhi()

template<class Next >
void v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::FixLoopPhi ( const PhiOp & input_phi,
OpIndex output_index,
Block * output_graph_loop )
inline

Definition at line 457 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ FrameState()

template<class Next >
V< turboshaft::FrameState > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::FrameState ( base::Vector< const OpIndex > inputs,
bool inlined,
const FrameStateData * data )
inline

Definition at line 530 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ IncreaseOffset()

template<class Next >
std::pair< OptionalV< Word32 >, int32_t > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::IncreaseOffset ( OptionalV< Word32 > index,
int32_t offset,
int32_t add_offset,
bool tagged_base )
inline

Definition at line 298 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeIndexMaps()

template<class Next >
void v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::InitializeIndexMaps ( )
inlineprivate

Definition at line 885 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Load()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Load ( OpIndex base,
OptionalOpIndex index,
LoadOp::Kind kind,
MemoryRepresentation loaded_rep,
RegisterRepresentation result_rep,
int32_t offset,
uint8_t element_scale )
inline

Definition at line 323 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerBitwiseAnd()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerBitwiseAnd ( V< Word32Pair > left,
V< Word32Pair > right )
inlineprivate

Definition at line 679 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerBitwiseOr()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerBitwiseOr ( V< Word32Pair > left,
V< Word32Pair > right )
inlineprivate

Definition at line 687 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerBitwiseXor()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerBitwiseXor ( V< Word32Pair > left,
V< Word32Pair > right )
inlineprivate

Definition at line 695 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerCall()

template<class Next >
V< Any > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerCall ( V< CallTarget > callee,
OptionalV< FrameState > frame_state,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor,
OpEffects effects,
bool is_tail_call )
inlineprivate

Definition at line 775 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerClz()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerClz ( V< Word32Pair > input)
inlineprivate

Definition at line 631 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerCtz()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerCtz ( V< Word32Pair > input)
inlineprivate

Definition at line 643 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerPairBinOp()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerPairBinOp ( V< Word32Pair > left,
V< Word32Pair > right,
Word32PairBinopOp::Kind kind )
inlineprivate

Definition at line 664 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerPairShiftOp()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerPairShiftOp ( V< Word32Pair > left,
V< Word32 > right,
Word32PairBinopOp::Kind kind )
inlineprivate

Definition at line 671 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerPopCount()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerPopCount ( V< Word32Pair > input)
inlineprivate

Definition at line 656 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerRotateRight()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerRotateRight ( V< Word32Pair > left,
V< Word32 > right )
inlineprivate

Definition at line 703 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LowerSignExtend()

template<class Next >
V< Word32Pair > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::LowerSignExtend ( V< Word32 > input)
inlineprivate

Definition at line 626 of file int64-lowering-reducer.h.

Here is the caller graph for this function:

◆ Parameter()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Parameter ( int32_t parameter_index,
RegisterRepresentation rep,
const char * debug_name = "" )
inline

Definition at line 177 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ PendingLoopPhi()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::PendingLoopPhi ( OpIndex input,
RegisterRepresentation rep )
inline

Definition at line 447 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Phi()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Phi ( base::Vector< const OpIndex > inputs,
RegisterRepresentation rep )
inline

Definition at line 428 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Return()

template<class Next >
V< None > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Return ( V< Word32 > pop_count,
base::Vector< const OpIndex > return_values,
bool spill_caller_frame_slots )
inline

Definition at line 201 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Shift()

template<class Next >
Word32OrWord32Pair REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Shift ( Word32OrWord32Pair left,
V< Word32 > right,
ShiftOp::Kind kind,
WordRepresentation rep )
inline

Definition at line 85 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Simd128ExtractLane()

template<class Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Simd128ExtractLane ( V< Simd128 > input,
Simd128ExtractLaneOp::Kind kind,
uint8_t lane )
inline

Definition at line 503 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Simd128ReplaceLane()

template<class Next >
V< Simd128 > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Simd128ReplaceLane ( V< Simd128 > into,
V< Any > new_lane,
Simd128ReplaceLaneOp::Kind kind,
uint8_t lane )
inline

Definition at line 516 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Simd128Splat()

template<class Next >
V< Simd128 > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Simd128Splat ( V< Any > input,
Simd128SplatOp::Kind kind )
inline

Definition at line 490 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Store()

template<class Next >
V< None > REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Store ( OpIndex base,
OptionalOpIndex index,
OpIndex value,
StoreOp::Kind kind,
MemoryRepresentation stored_rep,
WriteBarrierKind write_barrier,
int32_t offset,
uint8_t element_size_log2,
bool maybe_initializing_or_transitioning,
IndirectPointerTag maybe_indirect_pointer_tag )
inline

Definition at line 359 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ TailCall()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::TailCall ( OpIndex callee,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor )
inline

Definition at line 159 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ Unpack()

template<class Next >
std::pair< V< Word32 >, V< Word32 > > v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::Unpack ( V< Word32Pair > input)
inlineprivate

Definition at line 621 of file int64-lowering-reducer.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WordBinop()

Definition at line 54 of file int64-lowering-reducer.h.

Here is the call graph for this function:

◆ WordUnary()

Definition at line 222 of file int64-lowering-reducer.h.

Here is the call graph for this function:

Member Data Documentation

◆ matcher_

template<class Next >
const OperationMatcher& v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::matcher_ {__ matcher()}
private

Definition at line 908 of file int64-lowering-reducer.h.

◆ param_index_map_

template<class Next >
ZoneVector<int32_t> v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::param_index_map_ {__ phase_zone()}
private

Definition at line 906 of file int64-lowering-reducer.h.

◆ returns_i64_

template<class Next >
bool v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::returns_i64_ = false
private

Definition at line 907 of file int64-lowering-reducer.h.

◆ sig_

Definition at line 904 of file int64-lowering-reducer.h.

◆ zone_

template<class Next >
Zone* v8::internal::compiler::turboshaft::Int64LoweringReducer< Next >::zone_ = __ graph_zone()
private

Definition at line 905 of file int64-lowering-reducer.h.


The documentation for this class was generated from the following file: