Go to the source code of this file.
|
template<typename T , size_t N> |
char(& | ArraySizeHelper (T(&array)[N]))[N] |
|
template<typename T , size_t N> |
char(& | ArraySizeHelper (const T(&array)[N]))[N] |
|
template<class Dest , class Source > |
Dest | bit_cast (Source const &source) |
|
template<typename T > |
void | USE (T) |
|
template<typename T > |
intptr_t | OffsetFrom (T x) |
|
template<typename T > |
T | AddressFrom (intptr_t x) |
|
template<typename T > |
T | RoundDown (T x, intptr_t m) |
|
template<typename T > |
T | RoundUp (T x, intptr_t m) |
|
◆ arraysize
◆ ARRAYSIZE_UNSAFE
#define ARRAYSIZE_UNSAFE |
( |
|
a | ) |
|
Value: ((sizeof(a) / sizeof(*(a))) / \
static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
Definition at line 62 of file macros.h.
◆ COMPILE_ASSERT
#define COMPILE_ASSERT |
( |
|
expr, |
|
|
|
msg |
|
) |
| |
◆ DISABLE_ASAN
◆ DISALLOW_COPY_AND_ASSIGN
#define DISALLOW_COPY_AND_ASSIGN |
( |
|
TypeName | ) |
|
◆ DISALLOW_IMPLICIT_CONSTRUCTORS
#define DISALLOW_IMPLICIT_CONSTRUCTORS |
( |
|
TypeName | ) |
|
Value:
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition at line 255 of file macros.h.
◆ INLINE
#define INLINE |
( |
|
declarator | ) |
V8_INLINE declarator |
◆ IS_POWER_OF_TWO
#define IS_POWER_OF_TWO |
( |
|
x | ) |
((x) != 0 && (((x) & ((x) - 1)) == 0)) |
◆ MUST_USE_RESULT
◆ NO_INLINE
◆ OFFSET_OF
#define OFFSET_OF |
( |
|
type, |
|
|
|
field |
|
) |
| (reinterpret_cast<intptr_t>(&(reinterpret_cast<type*>(4)->field)) - 4) |
◆ SEMI_STATIC_JOIN
◆ SEMI_STATIC_JOIN_HELPER
#define SEMI_STATIC_JOIN_HELPER |
( |
|
a, |
|
|
|
b |
|
) |
| a##b |
◆ STATIC_ASSERT
#define STATIC_ASSERT |
( |
|
test | ) |
|
Value: typedef \
StaticAssertionHelper<sizeof(StaticAssertion<static_cast<bool>((test))>)> \
#define SEMI_STATIC_JOIN(a, b)
Definition at line 311 of file macros.h.
◆ V8_2PART_UINT64_C
#define V8_2PART_UINT64_C |
( |
|
a, |
|
|
|
b |
|
) |
| (((static_cast<uint64_t>(a) << 32) + 0x##b##u)) |
◆ V8_IMMEDIATE_CRASH
#define V8_IMMEDIATE_CRASH |
( |
| ) |
((void(*)())0)() |
◆ V8_INT64_C
#define V8_INT64_C |
( |
|
x | ) |
(x ## LL) |
◆ V8_INTPTR_C
#define V8_INTPTR_C |
( |
|
x | ) |
(x) |
◆ V8_PTR_PREFIX
◆ V8_UINT64_C
#define V8_UINT64_C |
( |
|
x | ) |
(x ## ULL) |
◆ V8PRIdPTR
◆ V8PRIuPTR
◆ V8PRIxPTR
◆ AddressFrom()
template<typename T >
T AddressFrom |
( |
intptr_t |
x | ) |
|
|
inline |
Definition at line 392 of file macros.h.
393 return static_cast<T>(
static_cast<T>(0) + x);
#define T(name, string, precedence)
References T.
◆ ArraySizeHelper() [1/2]
template<typename T , size_t N>
char(& ArraySizeHelper |
( |
const T(&) |
array[N] | ) |
)[N] |
◆ ArraySizeHelper() [2/2]
template<typename T , size_t N>
char(& ArraySizeHelper |
( |
T(&) |
array[N] | ) |
)[N] |
◆ bit_cast()
template<class Dest , class Source >
Dest bit_cast |
( |
Source const & |
source | ) |
|
|
inline |
Definition at line 233 of file macros.h.
234 COMPILE_ASSERT(
sizeof(Dest) ==
sizeof(Source), VerifySizesAreEqual);
237 memcpy(&dest, &source,
sizeof(dest));
#define COMPILE_ASSERT(expr, msg)
References COMPILE_ASSERT.
◆ OffsetFrom()
template<typename T >
intptr_t OffsetFrom |
( |
T |
x | ) |
|
|
inline |
Definition at line 383 of file macros.h.
384 return x -
static_cast<T>(0);
References T.
Referenced by v8::internal::EnsureDoubleAligned(), v8::internal::MemoryChunk::FromAddress(), v8::internal::MemoryChunk::FromAnyPointerAddress(), v8::internal::BASE_EMBEDDED< Visitor >::id(), v8::internal::Page::INLINE(), v8::internal::NewSpace::INLINE(), v8::internal::IsAddressAligned(), v8::internal::Page::IsAlignedToPageSize(), v8::internal::SkipList::RegionNumber(), RoundDown(), v8::internal::Foreign::set_foreign_address(), and v8::internal::WrapFrameId().
◆ RoundDown()
template<typename T >
T RoundDown |
( |
T |
x, |
|
|
intptr_t |
m |
|
) |
| |
|
inline |
◆ RoundUp()
template<typename T >
T RoundUp |
( |
T |
x, |
|
|
intptr_t |
m |
|
) |
| |
|
inline |
◆ USE()
Definition at line 322 of file macros.h.
Referenced by v8::internal::OutputStreamWriter::AddNumberImpl(), v8::internal::Dictionary< Derived, Shape, Key >::AtPut(), v8::internal::HOptimizedGraphBuilder::BindIfLive(), v8::internal::Assembler::BitN(), v8::internal::BUILTIN(), v8::internal::RegExpImpl::CompileIrregexp(), v8::internal::OptimizingCompilerThread::CompileNext(), v8::internal::ParserBase< Traits >::Consume(), v8::base::Thread::CreateThreadLocalKey(), v8::base::Thread::DeleteThreadLocalKey(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::DoComputeOutputFrames(), v8::internal::DoubleToPrecisionCString(), v8::internal::EmitUseLookupTable(), v8::base::OS::Free(), v8::internal::MemoryAllocator::FreeMemory(), v8::internal::Deoptimizer::TableEntryGenerator::GeneratePrologue(), v8::internal::OptimizedFrame::GetInlineCount(), v8::internal::JSReceiver::GetKeys(), v8::internal::Handle< T >::Handle(), v8::internal::HOptimizedGraphBuilder::HandleGlobalVariableAssignment(), v8::internal::HeapSnapshot::HeapSnapshot(), v8::internal::Assembler::ImmR(), v8::internal::Assembler::ImmRotate(), v8::internal::Assembler::ImmS(), v8::internal::Assembler::ImmSetBits(), v8::internal::SimulatorStack::JsLimitFromCLimit(), v8::internal::Assembler::LoadPairNonTemporalOpFor(), v8::internal::Assembler::LoadPairOpFor(), v8::internal::LowLevelLogger::LogWriteBytes(), v8::internal::HOptimizedGraphBuilder::LookupAndMakeLive(), v8::TypeSwitch::match(), v8::internal::MaybeHandle< T >::MaybeHandle(), v8::internal::MemsetPointer(), v8::internal::compiler::Instruction::New(), v8::internal::Parser::ParseExportDeclaration(), v8::internal::Parser::ParseModuleUrl(), v8::internal::JSObject::PrepareSlowElementsForSort(), v8::base::VirtualMemory::Release(), v8::internal::SamplerThread::RemoveActiveSampler(), v8::internal::RUNTIME_FUNCTION(), v8::internal::TypeFeedbackOracle::SetInfo(), v8::Function::SetName(), v8::base::Thread::SetThreadLocal(), v8::internal::StoreBuffer::SetUp(), v8::base::Thread::Start(), v8::internal::Assembler::StorePairNonTemporalOpFor(), v8::internal::Assembler::StorePairOpFor(), v8::internal::Unique< T >::Unique(), v8::internal::SharedFunctionInfo::VerifyBailoutId(), v8::base::VirtualMemory::VirtualMemory(), v8::internal::Log::WriteToFile(), v8::base::Thread::YieldCPU(), and v8::base::VirtualMemory::~VirtualMemory().