V8 Project
v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength Class Reference

#include <hydrogen-instructions.h>

+ Inheritance diagram for v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength:
+ Collaboration diagram for v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength:

Public Member Functions

HValuelength ()
 
ChecksRelatedToLengthnext ()
 
InductionVariableCheckchecks ()
 
void AddCheck (HBoundsCheck *check, int32_t upper_limit=kNoLimit)
 
void CloseCurrentBlock ()
 
 ChecksRelatedToLength (HValue *length, ChecksRelatedToLength *next)
 
- Public Member Functions inherited from v8::internal::ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Private Member Functions

void UseNewIndexInCurrentBlock (Token::Value token, int32_t mask, HValue *index_base, HValue *context)
 
HBoundsCheckfirst_check_in_block ()
 
HBitwiseadded_index ()
 
void set_added_index (HBitwise *index)
 
HConstantadded_constant ()
 
void set_added_constant (HConstant *constant)
 
int32_t current_and_mask_in_block ()
 
int32_t current_or_mask_in_block ()
 
int32_t current_upper_limit ()
 

Private Attributes

HValuelength_
 
ChecksRelatedToLengthnext_
 
InductionVariableCheckchecks_
 
HBoundsCheckfirst_check_in_block_
 
HBitwiseadded_index_
 
HConstantadded_constant_
 
int32_t current_and_mask_in_block_
 
int32_t current_or_mask_in_block_
 
int32_t current_upper_limit_
 

Detailed Description

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
class v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength

Definition at line 3084 of file hydrogen-instructions.h.

Constructor & Destructor Documentation

◆ ChecksRelatedToLength()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::ChecksRelatedToLength ( HValue length,
ChecksRelatedToLength next 
)
inline

Definition at line 3093 of file hydrogen-instructions.h.

3096  added_index_(NULL),
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL

Member Function Documentation

◆ AddCheck()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::AddCheck ( HBoundsCheck check,
int32_t  upper_limit = kNoLimit 
)

◆ added_constant()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HConstant* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::added_constant ( )
inlineprivate

Definition at line 3110 of file hydrogen-instructions.h.

3110 { return added_constant_; }

◆ added_index()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HBitwise* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::added_index ( )
inlineprivate

Definition at line 3108 of file hydrogen-instructions.h.

3108 { return added_index_; }

◆ checks()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
InductionVariableCheck* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::checks ( )
inline

Definition at line 3088 of file hydrogen-instructions.h.

3088 { return checks_; }

◆ CloseCurrentBlock()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::CloseCurrentBlock ( )

◆ current_and_mask_in_block()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_and_mask_in_block ( )
inlineprivate

Definition at line 3112 of file hydrogen-instructions.h.

3112 { return current_and_mask_in_block_; }

◆ current_or_mask_in_block()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_or_mask_in_block ( )
inlineprivate

Definition at line 3113 of file hydrogen-instructions.h.

3113 { return current_or_mask_in_block_; }

◆ current_upper_limit()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_upper_limit ( )
inlineprivate

◆ first_check_in_block()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HBoundsCheck* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::first_check_in_block ( )
inlineprivate

Definition at line 3107 of file hydrogen-instructions.h.

3107 { return first_check_in_block_; }

◆ length()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HValue* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::length ( )
inline

Definition at line 3086 of file hydrogen-instructions.h.

3086 { return length_; }

◆ next()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
ChecksRelatedToLength* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::next ( )
inline

Definition at line 3087 of file hydrogen-instructions.h.

3087 { return next_; }

◆ set_added_constant()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::set_added_constant ( HConstant constant)
inlineprivate

Definition at line 3111 of file hydrogen-instructions.h.

3111 { added_constant_ = constant; }

◆ set_added_index()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::set_added_index ( HBitwise index)
inlineprivate

Definition at line 3109 of file hydrogen-instructions.h.

3109 { added_index_ = index; }
LOperand * index()
Definition: lithium-arm.h:607

◆ UseNewIndexInCurrentBlock()

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
void v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::UseNewIndexInCurrentBlock ( Token::Value  token,
int32_t  mask,
HValue index_base,
HValue context 
)
private

Member Data Documentation

◆ added_constant_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HConstant* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::added_constant_
private

Definition at line 3122 of file hydrogen-instructions.h.

◆ added_index_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HBitwise* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::added_index_
private

Definition at line 3121 of file hydrogen-instructions.h.

◆ checks_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
InductionVariableCheck* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::checks_
private

Definition at line 3118 of file hydrogen-instructions.h.

◆ current_and_mask_in_block_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_and_mask_in_block_
private

Definition at line 3123 of file hydrogen-instructions.h.

◆ current_or_mask_in_block_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_or_mask_in_block_
private

Definition at line 3124 of file hydrogen-instructions.h.

◆ current_upper_limit_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
int32_t v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::current_upper_limit_
private

Definition at line 3125 of file hydrogen-instructions.h.

◆ first_check_in_block_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HBoundsCheck* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::first_check_in_block_
private

Definition at line 3120 of file hydrogen-instructions.h.

◆ length_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
HValue* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::length_
private

Definition at line 3116 of file hydrogen-instructions.h.

◆ next_

template<LOperand::Kind kOperandKind, int kNumCachedOperands>
ChecksRelatedToLength* v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ChecksRelatedToLength::next_
private

Definition at line 3117 of file hydrogen-instructions.h.


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