v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::HeapNumber Class Reference

#include <heap-number.h>

Inheritance diagram for v8::internal::HeapNumber:
Collaboration diagram for v8::internal::HeapNumber:

Classes

class  BodyDescriptor
 

Public Member Functions

double value () const
 
void set_value (double value)
 
uint64_t value_as_bits () const
 
void set_value_as_bits (uint64_t bits)
 
V8_EXPORT_PRIVATE void HeapNumberShortPrint (std::ostream &os)
 
- Public Member Functions inherited from v8::internal::HeapObjectLayout
 HeapObjectLayout ()=delete
 
Tagged< Mapmap () const
 
Tagged< Mapmap (AcquireLoadTag) const
 
MapWord map_word (RelaxedLoadTag) const
 
void set_map (Isolate *isolate, Tagged< Map > value)
 
template<typename IsolateT >
void set_map (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
template<typename IsolateT >
void set_map_safe_transition (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
void set_map_safe_transition_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
template<typename IsolateT >
void set_map_after_allocation (IsolateT *isolate, Tagged< Map > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void set_map_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, ReleaseStoreTag)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, RelaxedStoreTag)
 
Address ptr () const
 
Address address () const
 
ReadOnlyRoots EarlyGetReadOnlyRoots () const
 
int Size () const
 
V8_EXPORT_PRIVATE int SizeFromMap (Tagged< Map > map) const
 
WriteBarrierMode GetWriteBarrierMode (const DisallowGarbageCollection &promise)
 

Static Public Attributes

static const uint32_t kSignMask = 0x80000000u
 
static const uint32_t kExponentMask = 0x7ff00000u
 
static const uint32_t kMantissaMask = 0xfffffu
 
static const int kMantissaBits = 52
 
static const int kExponentBits = 11
 
static const int kExponentBias = 1023
 
static const int kExponentShift = 20
 
static const int kInfinityOrNanExponent
 
static const int kMantissaBitsInTopWord = 20
 
static const int kNonMantissaBitsInTopWord = 12
 

Private Attributes

UnalignedDoubleMember value_
 

Friends

struct OffsetsForDebug
 
class CodeStubAssembler
 
class AccessorAssembler
 
class maglev::MaglevAssembler
 
class maglev::MaglevGraphBuilder
 
class compiler::AccessBuilder
 
class compiler::GraphAssembler
 
class compiler::JSContextSpecialization
 
class TorqueGeneratedHeapNumberAsserts
 
AllocationAlignment HeapObject::RequiredAlignment (Tagged< Map > map)
 

Detailed Description

Definition at line 28 of file heap-number.h.

Member Function Documentation

◆ HeapNumberShortPrint()

void v8::internal::HeapNumber::HeapNumberShortPrint ( std::ostream & os)

Definition at line 3814 of file objects-printer.cc.

Here is the call graph for this function:

◆ set_value()

void v8::internal::HeapNumber::set_value ( double value)
inline

Definition at line 21 of file heap-number-inl.h.

Here is the call graph for this function:

◆ set_value_as_bits()

void v8::internal::HeapNumber::set_value_as_bits ( uint64_t bits)
inline

Definition at line 31 of file heap-number-inl.h.

Here is the call graph for this function:

◆ value()

double v8::internal::HeapNumber::value ( ) const
inline

Definition at line 20 of file heap-number-inl.h.

Here is the call graph for this function:

◆ value_as_bits()

uint64_t v8::internal::HeapNumber::value_as_bits ( ) const
inline

Definition at line 29 of file heap-number-inl.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ AccessorAssembler

friend class AccessorAssembler
friend

Definition at line 57 of file heap-number.h.

◆ CodeStubAssembler

friend class CodeStubAssembler
friend

Definition at line 56 of file heap-number.h.

◆ compiler::AccessBuilder

friend class compiler::AccessBuilder
friend

Definition at line 60 of file heap-number.h.

◆ compiler::GraphAssembler

friend class compiler::GraphAssembler
friend

Definition at line 61 of file heap-number.h.

◆ compiler::JSContextSpecialization

friend class compiler::JSContextSpecialization
friend

Definition at line 62 of file heap-number.h.

◆ HeapObject::RequiredAlignment

◆ maglev::MaglevAssembler

friend class maglev::MaglevAssembler
friend

Definition at line 58 of file heap-number.h.

◆ maglev::MaglevGraphBuilder

friend class maglev::MaglevGraphBuilder
friend

Definition at line 59 of file heap-number.h.

◆ OffsetsForDebug

friend struct OffsetsForDebug
friend

Definition at line 55 of file heap-number.h.

◆ TorqueGeneratedHeapNumberAsserts

friend class TorqueGeneratedHeapNumberAsserts
friend

Definition at line 63 of file heap-number.h.

Member Data Documentation

◆ kExponentBias

const int v8::internal::HeapNumber::kExponentBias = 1023
static

Definition at line 41 of file heap-number.h.

◆ kExponentBits

const int v8::internal::HeapNumber::kExponentBits = 11
static

Definition at line 40 of file heap-number.h.

◆ kExponentMask

const uint32_t v8::internal::HeapNumber::kExponentMask = 0x7ff00000u
static

Definition at line 37 of file heap-number.h.

◆ kExponentShift

const int v8::internal::HeapNumber::kExponentShift = 20
static

Definition at line 42 of file heap-number.h.

◆ kInfinityOrNanExponent

const int v8::internal::HeapNumber::kInfinityOrNanExponent
static
Initial value:
=
static const uint32_t kExponentMask
Definition heap-number.h:37
static const int kExponentBias
Definition heap-number.h:41
static const int kExponentShift
Definition heap-number.h:42

Definition at line 43 of file heap-number.h.

◆ kMantissaBits

const int v8::internal::HeapNumber::kMantissaBits = 52
static

Definition at line 39 of file heap-number.h.

◆ kMantissaBitsInTopWord

const int v8::internal::HeapNumber::kMantissaBitsInTopWord = 20
static

Definition at line 45 of file heap-number.h.

◆ kMantissaMask

const uint32_t v8::internal::HeapNumber::kMantissaMask = 0xfffffu
static

Definition at line 38 of file heap-number.h.

◆ kNonMantissaBitsInTopWord

const int v8::internal::HeapNumber::kNonMantissaBitsInTopWord = 12
static

Definition at line 46 of file heap-number.h.

◆ kSignMask

const uint32_t v8::internal::HeapNumber::kSignMask = 0x80000000u
static

Definition at line 36 of file heap-number.h.

◆ value_

UnalignedDoubleMember v8::internal::HeapNumber::value_
private

Definition at line 66 of file heap-number.h.


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