V8 Project
v8::internal::BitFieldBase< T, shift, size, U > Class Template Reference

#include <utils.h>

Inherited by v8::internal::BitField< int, 0, kSmiValueSize - kTypeChangeChecksumBits >, v8::internal::BitField< byte, 0, NUMBER_OF_TYPES >, v8::internal::BitField< VariableMode, 0, 3 >, v8::internal::BitField< bool, 10, 1 >, v8::internal::BitField< int, 0, 5 >, v8::internal::BitField< int, 10, 5 >, v8::internal::BitField< LookupMode, 0, 1 >, v8::internal::BitField< bool, 23, 1 >, v8::internal::BitField< int, 22, 10 >, v8::internal::BitField< bool, 4, 1 >, v8::internal::BitField< StrictMode, 0, 1 >, v8::internal::BitField< int, 2 *kBitsPerRegisterNumber+1, 3 >, v8::internal::BitField< CompareICState::State, 3, 4 >, v8::internal::BitField< int, 15, 14 >, v8::internal::BitField< bool, 22, 1 >, v8::internal::BitField< unsigned, 4, 18 >, v8::internal::BitField< State, 0, 4 >, v8::internal::BitField< bool, 5, 1 >, v8::internal::BitField< IsParenthesizedFlag, 5, 1 >, v8::internal::BitField< int, 2 *kBitsPerRegisterNumber+4, 1 >, v8::internal::BitField< bool, 31, 1 >, v8::internal::BitField< byte, 1, NUMBER_OF_TYPES >, v8::internal::BitField< CallFunctionFlags, 0, 2 >, v8::internal::BitField< AllocationSiteOverrideMode, 8, 1 >, v8::internal::BitField< ElementsKind, 0, 15 >, v8::internal::BitField< int, kDescriptorIndexBitCount, kDescriptorIndexBitCount >, v8::internal::BitField< bool, 25, 1 >, v8::internal::BitField< bool, 30, 1 >, v8::internal::BitField< int, 2 *kBitsPerRegisterNumber+5, 1 >, v8::internal::BitField< int, kBitsPerRegisterNumber, kBitsPerRegisterNumber >, v8::internal::BitField< int, 0, 3 >, v8::internal::BitField< bool, 2, 1 >, v8::internal::BitField< Kind, 13, 3 >, v8::internal::BitField< bool, 12, 1 >, v8::internal::BitField< int, 0, 22 >, v8::internal::BitField< FunctionVariableInfo, 5, 2 >, v8::internal::BitField< bool, 3, 1 >, v8::internal::BitField< SaveFPRegsMode, 16, 1 >, v8::internal::BitField< int, 4, 4 >, v8::internal::BitField< bool, 24, 1 >, v8::internal::BitField< int, 0, 13 >, v8::internal::BitField< bool, kSubMinorKeyBits, 1 >, v8::internal::BitField< FunctionKind, 1, 3 >, v8::internal::BitField< VariableMode, 0, 4 >, v8::internal::BitField< CacheHolderFlag, 5, 2 >, v8::internal::BitField< int, 2, Code::kArgumentsBits >, v8::internal::BitField< int, 1, 3 >, v8::internal::BitField< StackHandler::Kind, 0, kKindWidth >, v8::internal::BitField< AllocationSpace, 1, 3 >, v8::internal::BitField< ResultMode, NUMBER_OF_TYPES, 2 >, v8::internal::BitField< ExtendedPolicy, 22, 3 >, v8::internal::BitField< CompareICState::State, 7, 4 >, v8::internal::BitField< uint32_t, 5, 4 >, v8::internal::BitField< uint32_t, 0, kStubMajorKeyBits >, v8::internal::BitField< uint32_t, 9+kDescriptorIndexBitCount, kDescriptorIndexBitCount >, v8::internal::BitField< bool, 0, 1 >, v8::internal::BitField< StubFunctionMode, 0, 1 >, v8::internal::BitField< Representation::Kind, 1, 8 >, v8::internal::BitField< uint8_t, 13, 4 >, v8::internal::BitField< int, 5, 5 >, v8::internal::BitField< int, 3, 3 >, v8::internal::BitField< LookupMode, 12, 1 >, v8::internal::BitField< bool, 27, 1 >, v8::internal::BitField< int, 29, 3 >, v8::internal::BitField< int, 26, 6 >, v8::internal::BitField< int, 0, kBitsPerRegisterNumber >, v8::internal::BitField< InitializationFlag, 4, 1 >, v8::internal::BitField< NilValue, 0, 1 >, v8::internal::BitField< int, kStackSlotsFirstBit, kStackSlotsBitCount >, v8::internal::BitField< CallConstructorFlags, 0, 1 >, v8::internal::BitField< bool, 1, 1 >, v8::internal::BitField< OverwriteMode, 4, 2 >, v8::internal::BitField< uint32_t, 9, kDescriptorIndexBitCount >, v8::internal::BitField< int, 0, Code::kArgumentsBits >, v8::internal::BitField< bool, 26, 1 >, v8::internal::BitField< bool, FirstInobjectPropertyOffsetBits::kNext, 1 >, v8::internal::BitField< int, 6, 32 - 6 >, v8::internal::BitField< WeakObjectState, 23, 2 >, v8::internal::BitField< bool, kMarkedForDeoptimizationBit, 1 >, v8::internal::BitField< ExtraICState, 11, PlatformSmiTagging::kSmiValueSize - 11+1 >, v8::internal::BitField< unsigned, 2, Code::kArgumentsBits >, v8::internal::BitField< ElementsKind, 0, 8 >, v8::internal::BitField< AllocationSiteMode, 0, 1 >, v8::internal::BitField< Representation::Kind, 3, 4 >, v8::internal::BitField< bool, 16, 1 >, v8::internal::BitField< PropertyType, 0, 2 >, v8::internal::BitField< bool, 29, 1 >, v8::internal::BitField< InitializationFlag, 3, 1 >, v8::internal::BitField< RememberedSetAction, 15, 1 >, v8::internal::BitField< int, 8, 4 >, v8::internal::BitField< int, 0, kDescriptorIndexBitCount >, v8::internal::BitField< KeyedAccessStoreMode, 2, 4 >, v8::internal::BitField< bool, kStartIsDehoisted, kBitsForIsDehoisted >, v8::internal::BitField< bool, 2 *kBitsPerRegisterNumber, 1 >, v8::internal::BitField< int, 1, kSmallLayoutCountBits >, v8::internal::BitField< int, kIsCrankshaftedBit+1, 27 >, v8::internal::BitField< PretenureDecision, 26, 3 >, v8::internal::BitField< VariableMode, 7, 3 >, v8::internal::BitField< SaveFPRegsMode, 10, 1 >, v8::internal::BitField< int, 6, 3 >, v8::internal::BitField< Kind, 0, kKindFieldWidth >, v8::internal::BitField< int, 0, kSubMinorKeyBits >, v8::internal::BitField< int, 9, 23 >, v8::internal::BitField< IsFunctionFlag, 4, 1 >, v8::internal::BitField< int, 0, kIndexBitsSize >, v8::internal::BitField< CompareICState::State, 11, 4 >, v8::internal::BitField< StubType, 4, 1 >, v8::internal::BitField< InlineCacheState, 0, 4 >, v8::internal::BitField< uint32_t, kStubMajorKeyBits, kStubMinorKeyBits >, v8::internal::BitField< uint32_t, 5, 1 >, v8::internal::BitField< LookupMode, 9, 1 >, v8::internal::BitField< Lifetime, 25, 1 >, v8::internal::BitField< StackFrame::Type, 0, 5 >, v8::internal::BitField< bool, IsInObjectBits::kNext, 1 >, v8::internal::BitField< int, 21, kSmallLayoutCountBits >, v8::internal::BitField< bool, kHasFunctionCacheBit, 1 >, v8::internal::BitField< int, 0, kDeoptIndexBits >, v8::internal::BitField< ContextualMode, 0, 1 >, v8::internal::BitField< unsigned, kDeoptIndexBits, kArgumentsFieldBits >, v8::internal::BitField< int, 22, 8 >, v8::internal::BitField< RememberedSetAction, 9, 1 >, v8::internal::BitField< RememberedSetAction, 12, 1 >, v8::internal::BitField< ElementsKind, 3, 5 >, v8::internal::BitField< Flags, 0, 3 >, v8::internal::BitField< uint32_t, 5, 32-5 >, v8::internal::BitField< unsigned, 1, 30-1 >, v8::internal::BitField< int, 0, 8 >, v8::internal::BitField< uint32_t, kStartBaseOffset, kBitsForBaseOffset >, v8::internal::BitField< KeyedAccessStoreMode, 17, 4 >, v8::internal::BitField< StrictMode, 2, 1 >, v8::internal::BitField< int, 11, 12 >, v8::internal::BitField< bool, kInvalidatedWeakStubBit, 1 >, v8::internal::BitField< bool, kDeoptIndexBits+kArgumentsFieldBits, kSaveDoublesFieldBits >, v8::internal::BitField< int, 2, 32-2 >, v8::internal::BitField< PretenureFlag, 2, 1 >, v8::internal::BitField< int, 0, 30 >, v8::internal::BitField< LoadKeyedHoleMode, kStartHoleMode, kBitsForHoleMode >, v8::internal::BitField< bool, 8, 1 >, v8::internal::BitField< bool, kIsTurbofannedBit, 1 >, v8::internal::BitField< Type, 0, 2 >, v8::internal::BitField< int, kSmiValueSize - kTypeChangeChecksumBits, kTypeChangeChecksumBits >, v8::internal::BitField< bool, 9, 1 >, v8::internal::BitField< StrictMode, 4, 1 >, v8::internal::BitField< ScopeType, 0, 3 >, v8::internal::BitField< bool, kType, 1 >, v8::internal::BitField< unsigned int, kNofHashBitFields+kArrayIndexValueBits, kArrayIndexLengthBits >, v8::internal::BitField< State, 0, 1 >, v8::internal::BitField< int, IsDoubleBits::kNext, kDescriptorIndexBitCount >, v8::internal::BitField< FunctionKind, 6, 3 >, v8::internal::BitField< bool, kIsCrankshaftedBit, 1 >, v8::internal::BitField< ArgumentCountKey, 0, 2 >, v8::internal::BitField< KeyedAccessStoreMode, 8, 4 >, v8::internal::BitField< FunctionKind, kIsArrow, 3 >, v8::internal::BitField< bool, 6, 1 >, v8::internal::BitField< Portion, 0, 3 >, v8::internal::BitField< ParameterFlag, 3, 1 >, v8::internal::BitField< ElementsKind, 8, 8 >, v8::internal::BitField< MaybeAssignedFlag, 5, 1 >, v8::internal::BitField< bool, kWeakStubBit, 1 >, v8::internal::BitField< int, kIsCrankshaftedBit+1+27, 4 >, v8::internal::BitField< Kind, 6, 3 >, v8::internal::BitField< unsigned, kKindWidth, kIndexWidth >, v8::internal::BitField< uint32_t, 6, 24 >, v8::internal::BitField< CallType, Code::kArgumentsBits, 1 >, v8::internal::BitField< int, 4, 18 >, v8::internal::BitField< MaybeAssignedFlag, 4, 1 >, v8::internal::BitField< unsigned int, kNofHashBitFields, kArrayIndexValueBits >, v8::internal::BitField< ExponentType, 0, 2 >, v8::internal::BitField< bool, 21, 1 >, v8::internal::BitField< BasicPolicy, 3, 1 >, v8::internal::BitField< unsigned, 0, 5 >, v8::internal::BitField< bool, 7, 1 >, v8::internal::BitField< int, InObjectPropertyBits::kNext, 7 >, v8::internal::BitField< Kind, 9, 3 >, v8::internal::BitField< int, 13, 4 >, v8::internal::BitField< int, 12, 4 >, v8::internal::BitField< StrictMode, 1, 1 >, v8::internal::BitField< bool, 11, 1 >, v8::internal::BitField< SaveFPRegsMode, 13, 1 >, v8::internal::BitField< bool, 20, 1 >, v8::internal::BitField< StringAddFlags, 0, 2 >, v8::internal::BitField< bool, IndexBits::kNext, 1 >, v8::internal::BitField< ElementsKind, kStartElementsKind, kBitsForElementsKind >, v8::internal::BitField< int, 11, kSmallLayoutCountBits >, v8::internal::BitField< int, kSafepointTableOffsetFirstBit, kSafepointTableOffsetBitCount >, v8::internal::BitField< Kind, 7, 4 >, v8::internal::BitField< int, 0, 4 >, v8::internal::BitField< int, 0, 26 >, and v8::internal::BitField< PropertyAttributes, 2, 3 >.

+ Collaboration diagram for v8::internal::BitFieldBase< T, shift, size, U >:

Static Public Member Functions

static bool is_valid (T value)
 
static U encode (T value)
 
static U update (U previous, T value)
 
static T decode (U value)
 

Static Public Attributes

static const U kOne = static_cast<U>(1U)
 
static const U kMask = ((kOne << shift) << size) - (kOne << shift)
 
static const U kShift = shift
 
static const U kSize = size
 
static const U kNext = kShift + kSize
 
static const T kMax = static_cast<T>((1U << size) - 1)
 

Detailed Description

template<class T, int shift, int size, class U>
class v8::internal::BitFieldBase< T, shift, size, U >

Definition at line 197 of file utils.h.

Member Function Documentation

◆ decode()

template<class T , int shift, int size, class U >
static T v8::internal::BitFieldBase< T, shift, size, U >::decode ( U  value)
inlinestatic

Definition at line 228 of file utils.h.

228  {
229  return static_cast<T>((value & kMask) >> shift);
230  }
static const U kMask
Definition: utils.h:203
enable harmony numeric enable harmony object literal extensions Optimize object Array shift
#define T(name, string, precedence)
Definition: token.cc:25

References v8::internal::BitFieldBase< T, shift, size, U >::kMask, shift, and T.

Referenced by v8::internal::RecordWriteStub::address(), v8::internal::FastCloneShallowArrayStub::allocation_site_mode(), v8::internal::Code::allow_osr_at_loop_nesting_level(), v8::internal::CallApiFunctionStub::argc(), v8::internal::CallFunctionStub::argc(), v8::internal::ArrayConstructorStub::argument_count(), v8::internal::Code::back_edge_table_offset(), v8::internal::compiler::UnallocatedOperand::basic_policy(), v8::internal::LUnallocated::basic_policy(), v8::internal::CallApiFunctionStub::call_data_undefined(), v8::internal::ScopeInfo::CallsEval(), v8::internal::TypeFeedbackInfo::change_ic_with_type_info_count(), v8::internal::TypeFeedbackInfo::change_own_type_change_checksum(), v8::internal::StoreGlobalStub::check_global(), v8::internal::LoadConstantStub::constant_index(), v8::internal::Map::construction_count(), v8::internal::ScopeInfo::ContextLength(), v8::internal::ScopeInfo::ContextLocalInitFlag(), v8::internal::ScopeInfo::ContextLocalMaybeAssignedFlag(), v8::internal::ScopeInfo::ContextLocalMode(), v8::internal::SharedFunctionInfo::deopt_count(), v8::internal::DoubleToIStub::destination(), v8::internal::NameDictionaryLookupStub::dictionary(), v8::internal::SharedFunctionInfo::DisableOptimizationReason(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Map::done_inobject_slack_tracking(), v8::internal::Map::elements_kind(), v8::internal::LoadFastElementStub::elements_kind(), v8::internal::StoreFastElementStub::elements_kind(), v8::internal::ArrayConstructorStubBase::elements_kind(), v8::internal::InternalArrayConstructorStubBase::elements_kind(), v8::internal::StoreElementStub::elements_kind(), v8::internal::MathPowStub::exponent_type(), v8::internal::compiler::UnallocatedOperand::extended_policy(), v8::internal::LUnallocated::extended_policy(), v8::internal::CallFunctionStub::ExtractArgcFromMinorKey(), v8::internal::Code::ExtractCacheHolderFromFlags(), v8::internal::Code::ExtractExtraICStateFromFlags(), v8::internal::Code::ExtractICStateFromFlags(), v8::internal::Code::ExtractKindFromFlags(), v8::internal::Code::ExtractTypeFromFlags(), v8::internal::ConstantPoolArray::first_extended_section_index(), v8::internal::compiler::UnallocatedOperand::fixed_register_index(), v8::internal::LUnallocated::fixed_register_index(), v8::internal::InstanceofStub::flags(), v8::internal::CallFunctionStub::flags(), v8::internal::CallConstructStub::flags(), v8::internal::TransitionElementsKindStub::from_kind(), v8::internal::ElementsTransitionAndStoreStub::from_kind(), v8::internal::StubFailureTrampolineStub::function_mode(), v8::internal::Map::function_with_prototype(), v8::internal::ScopeInfo::FunctionContextSlotIndex(), v8::internal::ConstantPoolArray::get_weak_object_state(), v8::internal::Code::has_debug_break_slots(), v8::internal::Code::has_deoptimization_support(), v8::internal::Code::has_function_cache(), v8::internal::Map::has_instance_call_handler(), v8::internal::ScopeInfo::HasFunctionName(), v8::internal::SharedFunctionInfo::ic_age(), v8::internal::TypeFeedbackInfo::ic_total_count(), v8::internal::TypeFeedbackInfo::ic_with_type_info_count(), v8::internal::SharedFunctionInfo::increment_deopt_count(), v8::internal::ContextSlotCache::Value::index(), v8::internal::LoadFieldStub::index(), v8::internal::StoreFieldStub::index(), v8::internal::NameDictionaryLookupStub::index(), v8::internal::ContextSlotCache::Value::initialization_flag(), v8::internal::Code::is_compiled_optimizable(), v8::internal::StoreGlobalStub::is_constant(), v8::internal::Code::is_crankshafted(), v8::internal::Map::is_deprecated(), v8::internal::Map::is_dictionary_map(), v8::internal::ConstantPoolArray::is_extended_layout(), v8::internal::Map::is_frozen(), v8::internal::GlobalHandles::Node::is_in_new_space_list(), v8::internal::GlobalHandles::Node::is_independent(), v8::internal::Code::is_invalidated_weak_stub(), v8::internal::LoadFastElementStub::is_js_array(), v8::internal::StoreFastElementStub::is_js_array(), v8::internal::TransitionElementsKindStub::is_js_array(), v8::internal::ElementsTransitionAndStoreStub::is_jsarray(), v8::internal::Map::is_migration_target(), v8::internal::GlobalHandles::Node::is_partially_dependent(), v8::internal::Map::is_prototype_map(), v8::internal::Map::is_stable(), v8::internal::CallApiFunctionStub::is_store(), v8::internal::DoubleToIStub::is_truncating(), v8::internal::Code::is_turbofanned(), v8::internal::Code::is_weak_stub(), v8::internal::LInstruction::IsCall(), v8::internal::compiler::Instruction::IsCall(), v8::internal::compiler::Instruction::IsControl(), v8::internal::HydrogenCodeStub::IsUninitialized(), v8::internal::compiler::UnallocatedOperand::IsUsedAtStart(), v8::internal::LUnallocated::IsUsedAtStart(), v8::internal::SharedFunctionInfo::kind(), v8::internal::FastNewClosureStub::kind(), v8::internal::LOperand::kind(), v8::internal::CompareICStub::left(), v8::internal::ConstantPoolArray::length(), v8::internal::FastCloneShallowObjectStub::length(), v8::internal::Code::marked_for_deoptimization(), v8::internal::TypeFeedbackInfo::matches_inlined_type_change_checksum(), v8::internal::ContextSlotCache::Value::maybe_assigned_flag(), v8::internal::ContextSlotCache::Value::mode(), v8::internal::NameDictionaryLookupStub::mode(), v8::internal::ToBooleanStub::mode(), v8::internal::CompareNilICStub::nil_value(), v8::internal::ConstantPoolArray::number_of_entries(), v8::internal::RecordWriteStub::object(), v8::internal::DoubleToIStub::offset(), v8::internal::CompareICStub::op(), v8::internal::SharedFunctionInfo::opt_count(), v8::internal::SharedFunctionInfo::opt_reenable_tries(), v8::internal::ArrayConstructorStubBase::override_mode(), v8::internal::TypeFeedbackInfo::own_type_change_checksum(), v8::internal::Map::owns_descriptors(), v8::internal::HSourcePosition::position(), v8::internal::AccessorInfo::property_attributes(), v8::internal::RecordWriteStub::remembered_set_action(), v8::internal::StoreFieldStub::representation(), v8::internal::StoreGlobalStub::representation(), v8::internal::NameDictionaryLookupStub::result(), v8::internal::CompareICStub::right(), v8::internal::RUNTIME_FUNCTION(), v8::internal::RUNTIME_FUNCTION_RETURN_PAIR(), v8::internal::Code::safepoint_table_offset(), v8::internal::CEntryStub::save_doubles(), v8::internal::RecordWriteStub::save_fp_regs_mode(), v8::internal::ScopeInfo::scope_type(), v8::internal::WriteInt32ToHeapNumberStub::scratch(), v8::internal::TypeFeedbackInfo::set_ic_total_count(), v8::internal::WriteInt32ToHeapNumberStub::sign(), v8::internal::DoubleToIStub::skip_fastpath(), v8::internal::String::SlowAsArrayIndex(), v8::internal::DoubleToIStub::source(), v8::internal::Code::stack_slots(), v8::internal::ScopeInfo::StackSlotCount(), v8::internal::CompareICStub::state(), v8::internal::CompareNilICStub::state(), v8::internal::GlobalHandles::Node::state(), v8::internal::StoreFastElementStub::store_mode(), v8::internal::ElementsTransitionAndStoreStub::store_mode(), v8::internal::ScopeInfo::strict_mode(), v8::internal::FastNewClosureStub::strict_mode(), v8::internal::HydrogenCodeStub::sub_minor_key(), v8::internal::OptimizedFrame::Summarize(), v8::internal::WriteInt32ToHeapNumberStub::the_heap_number(), v8::internal::WriteInt32ToHeapNumberStub::the_int(), v8::internal::TransitionElementsKindStub::to_kind(), v8::internal::ElementsTransitionAndStoreStub::to_kind(), v8::internal::JSEntryStub::type(), v8::internal::ArgumentsAccessStub::type(), v8::internal::ToBooleanStub::types(), v8::internal::RecordWriteStub::value(), v8::internal::compiler::UnallocatedOperand::virtual_register(), and v8::internal::LUnallocated::virtual_register().

◆ encode()

template<class T , int shift, int size, class U >
static U v8::internal::BitFieldBase< T, shift, size, U >::encode ( T  value)
inlinestatic

Definition at line 217 of file utils.h.

217  {
218  DCHECK(is_valid(value));
219  return static_cast<U>(value) << shift;
220  }
static bool is_valid(T value)
Definition: utils.h:212
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::is_valid(), shift, and v8::internal::U.

Referenced by v8::internal::Heap::AllocateMap(), v8::internal::Heap::AllocatePartialMap(), v8::internal::ArgumentsAccessStub::ArgumentsAccessStub(), v8::internal::ArrayConstructorStub::ArrayConstructorStub(), v8::internal::ArrayConstructorStubBase::ArrayConstructorStubBase(), v8::internal::CodeStubGraphBuilder< KeyedLoadGenericStub >::BuildElementsKindLimitCheck(), v8::internal::CallApiFunctionStub::CallApiFunctionStub(), v8::internal::CallConstructStub::CallConstructStub(), v8::internal::CallFunctionStub::CallFunctionStub(), v8::internal::CEntryStub::CEntryStub(), v8::internal::CompareICStub::CompareICStub(), v8::internal::CompareNilICStub::CompareNilICStub(), v8::internal::Code::ComputeFlags(), v8::internal::LOperand::ConvertTo(), v8::internal::ScopeInfo::Create(), v8::internal::FullCodeGenerator::DeclareGlobalsFlags(), v8::internal::LCodeGen::DoDeferredAllocate(), v8::internal::DoubleToIStub::DoubleToIStub(), v8::internal::ElementsTransitionAndStoreStub::ElementsTransitionAndStoreStub(), v8::internal::FastCloneShallowArrayStub::FastCloneShallowArrayStub(), v8::internal::FastCloneShallowObjectStub::FastCloneShallowObjectStub(), v8::internal::FastNewClosureStub::FastNewClosureStub(), v8::internal::HydrogenCodeStub::HydrogenCodeStub(), v8::internal::ConstantPoolArray::Init(), v8::internal::InstanceofStub::InstanceofStub(), v8::internal::InternalArrayConstructorStubBase::InternalArrayConstructorStubBase(), v8::internal::JSEntryStub::JSEntryStub(), v8::internal::LoadConstantStub::LoadConstantStub(), v8::internal::LoadFastElementStub::LoadFastElementStub(), v8::internal::LoadFieldStub::LoadFieldStub(), v8::internal::LUnallocated::LUnallocated(), v8::internal::MathPowStub::MathPowStub(), v8::internal::NameDictionaryLookupStub::NameDictionaryLookupStub(), v8::internal::FullCodeGenerator::PrepareForBailoutForId(), v8::internal::RecordWriteStub::RecordWriteStub(), v8::internal::StoreElementStub::StoreElementStub(), v8::internal::StoreFastElementStub::StoreFastElementStub(), v8::internal::StoreFieldStub::StoreFieldStub(), v8::internal::StoreGlobalStub::StoreGlobalStub(), v8::internal::StubFailureTrampolineStub::StubFailureTrampolineStub(), v8::internal::ToBooleanStub::ToBooleanStub(), v8::internal::TransitionElementsKindStub::TransitionElementsKindStub(), v8::internal::compiler::UnallocatedOperand::UnallocatedOperand(), v8::internal::BitFieldBase< T, shift, size, U >::update(), v8::internal::ContextSlotCache::Value::Value(), v8::internal::compiler::AstGraphBuilder::VisitDeclarations(), v8::internal::HOptimizedGraphBuilder::VisitDeclarations(), and v8::internal::WriteInt32ToHeapNumberStub::WriteInt32ToHeapNumberStub().

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

◆ is_valid()

template<class T , int shift, int size, class U >
static bool v8::internal::BitFieldBase< T, shift, size, U >::is_valid ( T  value)
inlinestatic

Definition at line 212 of file utils.h.

212  {
213  return (static_cast<U>(value) & ~static_cast<U>(kMax)) == 0;
214  }
static const T kMax
Definition: utils.h:209

References v8::internal::BitFieldBase< T, shift, size, U >::kMax, and v8::internal::U.

Referenced by v8::internal::FullCodeGenerator::DeclareGlobalsFlags(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), v8::internal::ContextSlotCache::Value::Value(), and v8::internal::WriteInt32ToHeapNumberStub::WriteInt32ToHeapNumberStub().

+ Here is the caller graph for this function:

◆ update()

template<class T , int shift, int size, class U >
static U v8::internal::BitFieldBase< T, shift, size, U >::update ( U  previous,
T  value 
)
inlinestatic

Definition at line 223 of file utils.h.

223  {
224  return (previous & ~kMask) | encode(value);
225  }
static U encode(T value)
Definition: utils.h:217

References v8::internal::BitFieldBase< T, shift, size, U >::encode(), and v8::internal::BitFieldBase< T, shift, size, U >::kMask.

Referenced by v8::internal::CEntryStub::CEntryStub(), v8::internal::TypeFeedbackInfo::change_ic_with_type_info_count(), v8::internal::TypeFeedbackInfo::change_own_type_change_checksum(), v8::internal::CompareNilICStub::ClearState(), v8::internal::Map::deprecate(), v8::internal::LCodeGen::DoDeferredAllocate(), v8::internal::Map::freeze(), v8::internal::SharedFunctionInfo::increment_deopt_count(), v8::internal::ConstantPoolArray::InitExtended(), v8::internal::Code::mark_as_invalidated_weak_stub(), v8::internal::Code::mark_as_weak_stub(), v8::internal::Map::mark_unstable(), v8::internal::LInstruction::MarkAsCall(), v8::internal::compiler::Instruction::MarkAsCall(), v8::internal::compiler::Instruction::MarkAsControl(), v8::internal::PerIsolateAssertScope< type, allow >::PerIsolateAssertScope(), v8::internal::Code::set_allow_osr_at_loop_nesting_level(), v8::internal::Code::set_back_edge_table_offset(), v8::internal::Code::set_compiled_optimizable(), v8::internal::Map::set_construction_count(), v8::internal::SharedFunctionInfo::set_deopt_count(), v8::internal::Map::set_dictionary_map(), v8::internal::Map::set_done_inobject_slack_tracking(), v8::internal::Map::set_elements_kind(), v8::internal::Map::set_function_with_prototype(), v8::internal::Code::set_has_debug_break_slots(), v8::internal::Code::set_has_deoptimization_support(), v8::internal::Code::set_has_function_cache(), v8::internal::Map::set_has_instance_call_handler(), v8::internal::SharedFunctionInfo::set_ic_age(), v8::internal::TypeFeedbackInfo::set_ic_total_count(), v8::internal::GlobalHandles::Node::set_in_new_space_list(), v8::internal::GlobalHandles::Node::set_independent(), v8::internal::TypeFeedbackInfo::set_inlined_type_change_checksum(), v8::internal::StoreGlobalStub::set_is_constant(), v8::internal::Code::set_is_crankshafted(), v8::internal::Map::set_is_prototype_map(), v8::internal::Code::set_is_turbofanned(), v8::internal::SharedFunctionInfo::set_kind(), v8::internal::Code::set_marked_for_deoptimization(), v8::internal::AllocationSite::set_memento_found_count(), v8::internal::Map::set_migration_target(), v8::internal::SharedFunctionInfo::set_opt_count(), v8::internal::SharedFunctionInfo::set_opt_reenable_tries(), v8::internal::Map::set_owns_descriptors(), v8::internal::GlobalHandles::Node::set_partially_dependent(), v8::internal::HSourcePosition::set_position(), v8::internal::AccessorInfo::set_property_attributes(), v8::internal::StoreGlobalStub::set_representation(), v8::internal::Code::set_safepoint_table_offset(), v8::internal::Code::set_stack_slots(), v8::internal::GlobalHandles::Node::set_state(), v8::internal::HydrogenCodeStub::set_sub_minor_key(), v8::internal::compiler::UnallocatedOperand::set_virtual_register(), v8::internal::LUnallocated::set_virtual_register(), v8::internal::ConstantPoolArray::set_weak_object_state(), v8::internal::CompareNilICStub::UpdateStatus(), and v8::internal::ToBooleanStub::UpdateStatus().

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

Member Data Documentation

◆ kMask

◆ kMax

◆ kNext

template<class T , int shift, int size, class U >
const U v8::internal::BitFieldBase< T, shift, size, U >::kNext = kShift + kSize
static

Definition at line 206 of file utils.h.

◆ kOne

template<class T , int shift, int size, class U >
const U v8::internal::BitFieldBase< T, shift, size, U >::kOne = static_cast<U>(1U)
static

Definition at line 202 of file utils.h.

◆ kShift

◆ kSize

template<class T , int shift, int size, class U >
const U v8::internal::BitFieldBase< T, shift, size, U >::kSize = size
static

Definition at line 205 of file utils.h.

Referenced by v8::internal::Map::set_elements_kind().


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