v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HeapNumber Class Reference

#include <objects.h>

Inheritance diagram for HeapNumber:
Collaboration diagram for HeapNumber:

Public Member Functions

double value ()
 
void set_value (double value)
 
bool HeapNumberBooleanValue ()
 
void HeapNumberPrint (FILE *out=stdout)
 
void HeapNumberPrint (StringStream *accumulator)
 
int get_exponent ()
 
int get_sign ()
 
- Public Member Functions inherited from HeapObject
Mapmap ()
 
void set_map (Map *value)
 
void set_map_no_write_barrier (Map *value)
 
MapWord map_word ()
 
void set_map_word (MapWord map_word)
 
HeapGetHeap ()
 
IsolateGetIsolate ()
 
Address address ()
 
void Iterate (ObjectVisitor *v)
 
void IterateBody (InstanceType type, int object_size, ObjectVisitor *v)
 
int Size ()
 
int SizeFromMap (Map *map)
 
WriteBarrierMode GetWriteBarrierMode (const DisallowHeapAllocation &promise)
 
void HeapObjectShortPrint (StringStream *accumulator)
 
 STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset)
 
- Public Member Functions inherited from Object
bool IsObject ()
 
bool IsFixedArrayBase ()
 
bool IsExternal ()
 
bool IsAccessorInfo ()
 
bool IsStruct ()
 
 INLINE (bool IsSpecObject())
 
 INLINE (bool IsSpecFunction())
 
bool IsCallable ()
 
 INLINE (bool IsUndefined())
 
 INLINE (bool IsNull())
 
 INLINE (bool IsTheHole())
 
 INLINE (bool IsUninitialized())
 
 INLINE (bool IsTrue())
 
 INLINE (bool IsFalse())
 
bool IsArgumentsMarker ()
 
bool NonFailureIsHeapObject ()
 
bool IsFiller ()
 
double Number ()
 
bool IsNaN ()
 
bool ToInt32 (int32_t *value)
 
bool ToUint32 (uint32_t *value)
 
Representation OptimalRepresentation (ValueType type=OPTIMAL_REPRESENTATION)
 
bool FitsRepresentation (Representation representation)
 
MaybeObject * AllocateNewStorageFor (Heap *heap, Representation representation)
 
bool HasValidElements ()
 
bool HasSpecificClassOf (String *name)
 
MUST_USE_RESULT MaybeObject * ToObject (Isolate *isolate)
 
bool BooleanValue ()
 
MUST_USE_RESULT MaybeObject * ToObject (Context *native_context)
 
MUST_USE_RESULT MaybeObject * ToSmi ()
 
void Lookup (Name *name, LookupResult *result)
 
MUST_USE_RESULT MaybeObject * GetProperty (Name *key)
 
MUST_USE_RESULT MaybeObject * GetProperty (Name *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithReceiver (Object *receiver, Name *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetProperty (Object *receiver, LookupResult *result, Name *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithDefinedGetter (Object *receiver, JSReceiver *getter)
 
ObjectGetPrototype (Isolate *isolate)
 
MapGetMarkerMap (Isolate *isolate)
 
ObjectGetHash ()
 
bool SameValue (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint (FILE *out=stdout)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static HeapNumbercast (Object *obj)
 
- Static Public Member Functions inherited from HeapObject
static HeapObjectFromAddress (Address address)
 
static Object ** RawField (HeapObject *obj, int offset)
 
static void UpdateMapCodeCache (Handle< HeapObject > object, Handle< Name > name, Handle< Code > code)
 
static HeapObjectcast (Object *obj)
 
- Static Public Member Functions inherited from Object
static MUST_USE_RESULT Handle
< Object
ToSmi (Isolate *isolate, Handle< Object > object)
 
static Handle< ObjectGetPropertyWithReceiver (Handle< Object > object, Handle< Object > receiver, Handle< Name > name, PropertyAttributes *attributes)
 
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Name > key)
 
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< Name > key, PropertyAttributes *attributes)
 
static MUST_USE_RESULT
MaybeObject * 
GetPropertyOrFail (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< Name > key, PropertyAttributes *attributes)
 
static Handle< ObjectGetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static Handle< ObjectGetElementNoExceptionThrown (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static Handle< ObjectGetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index)
 
static Handle< ObjectGetOrCreateHash (Handle< Object > object, Isolate *isolate)
 
static Objectcast (Object *value)
 

Static Public Attributes

static const int kValueOffset = HeapObject::kHeaderSize
 
static const int kMantissaOffset = kValueOffset
 
static const int kExponentOffset = kValueOffset + 4
 
static const int kSize = kValueOffset + kDoubleSize
 
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
 
- Static Public Attributes inherited from HeapObject
static const int kMapOffset = Object::kHeaderSize
 
static const int kHeaderSize = kMapOffset + kPointerSize
 
- Static Public Attributes inherited from Object
static const int kHeaderSize = 0
 

Additional Inherited Members

- Public Types inherited from Object
enum  ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED }
 
- Protected Member Functions inherited from HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 
void IterateNextCodeLink (ObjectVisitor *v, int offset)
 

Detailed Description

Definition at line 1951 of file objects.h.

Member Function Documentation

int get_sign ( )
inline
void HeapNumberPrint ( FILE *  out = stdout)

Definition at line 1905 of file objects.cc.

References Object::Number(), and v8::internal::PrintF().

Referenced by HeapObject::HeapObjectShortPrint().

void HeapNumberPrint ( StringStream accumulator)
void set_value ( double  value)
inline

Field Documentation

const int kExponentBias = 1023
static

Definition at line 1985 of file objects.h.

Referenced by ConvertDToICVersion(), and HeapNumber::get_exponent().

const int kExponentBits = 11
static

Definition at line 1984 of file objects.h.

const uint32_t kExponentMask = 0x7ff00000u
static

Definition at line 1981 of file objects.h.

Referenced by HeapNumber::get_exponent().

const int kExponentOffset = kValueOffset + 4
static
const int kExponentShift = 20
static

Definition at line 1986 of file objects.h.

Referenced by HeapNumber::get_exponent().

const int kInfinityOrNanExponent
static
Initial value:

Definition at line 1987 of file objects.h.

const int kMantissaBits = 52
static

Definition at line 1983 of file objects.h.

const int kMantissaBitsInTopWord = 20
static

Definition at line 1989 of file objects.h.

const uint32_t kMantissaMask = 0xfffffu
static

Definition at line 1982 of file objects.h.

const int kMantissaOffset = kValueOffset
static

Definition at line 1976 of file objects.h.

Referenced by LCodeGen::DoDeferredMathAbsTaggedHeapNumber().

const int kNonMantissaBitsInTopWord = 12
static

Definition at line 1990 of file objects.h.

const uint32_t kSignMask = 0x80000000u
static
const int kSize = kValueOffset + kDoubleSize
static

Definition at line 1979 of file objects.h.

Referenced by Heap::AllocateHeapNumber(), and TEST().


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