v8  3.14.5(node0.10.28)
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)
 
ObjectHeapNumberToBoolean ()
 
void HeapNumberPrint ()
 
void HeapNumberPrint (FILE *out)
 
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 AssertNoAllocation &)
 
void HeapObjectShortPrint (StringStream *accumulator)
 
 STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset)
 
- Public Member Functions inherited from Object
bool IsObject ()
 
bool IsFixedArrayBase ()
 
bool IsInstanceOf (FunctionTemplateInfo *type)
 
bool IsStruct ()
 
 INLINE (bool IsSpecObject())
 
 INLINE (bool IsSpecFunction())
 
 INLINE (bool IsUndefined())
 
 INLINE (bool IsNull())
 
 INLINE (bool IsTheHole())
 
 INLINE (bool IsTrue())
 
 INLINE (bool IsFalse())
 
bool IsArgumentsMarker ()
 
bool NonFailureIsHeapObject ()
 
bool IsFiller ()
 
double Number ()
 
bool IsNaN ()
 
bool HasValidElements ()
 
bool HasSpecificClassOf (String *name)
 
MUST_USE_RESULT MaybeObject * ToObject ()
 
ObjectToBoolean ()
 
MUST_USE_RESULT MaybeObject * ToObject (Context *native_context)
 
MUST_USE_RESULT MaybeObject * ToSmi ()
 
void Lookup (String *name, LookupResult *result)
 
MUST_USE_RESULT MaybeObject * GetProperty (String *key)
 
MUST_USE_RESULT MaybeObject * GetProperty (String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithReceiver (Object *receiver, String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetProperty (Object *receiver, LookupResult *result, String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithDefinedGetter (Object *receiver, JSReceiver *getter)
 
MUST_USE_RESULT MaybeObject * GetElement (uint32_t index)
 
ObjectGetElementNoExceptionThrown (uint32_t index)
 
MUST_USE_RESULT MaybeObject * GetElementWithReceiver (Object *receiver, uint32_t index)
 
ObjectGetPrototype ()
 
MUST_USE_RESULT MaybeObject * GetHash (CreationFlag flag)
 
bool SameValue (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint ()
 
void ShortPrint (FILE *out)
 
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 HeapObjectcast (Object *obj)
 
- Static Public Member Functions inherited from Object
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes)
 
static Handle< ObjectGetElement (Handle< Object > object, uint32_t index)
 
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 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

- Protected Member Functions inherited from HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 

Detailed Description

Definition at line 1320 of file objects.h.

Member Function Documentation

int get_sign ( )
inline
void HeapNumberPrint ( )
inline

Definition at line 1331 of file objects.h.

Referenced by HeapObject::HeapObjectShortPrint().

void HeapNumberPrint ( FILE *  out)

Definition at line 1456 of file objects.cc.

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

void HeapNumberPrint ( StringStream accumulator)

Field Documentation

const int kExponentBias = 1023
static

Definition at line 1356 of file objects.h.

Referenced by HeapNumber::get_exponent().

const int kExponentBits = 11
static

Definition at line 1355 of file objects.h.

const uint32_t kExponentMask = 0x7ff00000u
static

Definition at line 1352 of file objects.h.

Referenced by HeapNumber::get_exponent().

const int kExponentOffset = kValueOffset + 4
static

Definition at line 1348 of file objects.h.

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

const int kExponentShift = 20
static

Definition at line 1357 of file objects.h.

Referenced by HeapNumber::get_exponent().

const int kMantissaBits = 52
static

Definition at line 1354 of file objects.h.

const int kMantissaBitsInTopWord = 20
static

Definition at line 1358 of file objects.h.

const uint32_t kMantissaMask = 0xfffffu
static

Definition at line 1353 of file objects.h.

const int kMantissaOffset = kValueOffset
static

Definition at line 1347 of file objects.h.

const int kNonMantissaBitsInTopWord = 12
static

Definition at line 1359 of file objects.h.

const uint32_t kSignMask = 0x80000000u
static

Definition at line 1351 of file objects.h.

Referenced by HeapNumber::get_sign().

const int kSize = kValueOffset + kDoubleSize
static

Definition at line 1350 of file objects.h.

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

const int kValueOffset = HeapObject::kHeaderSize
static

Definition at line 1342 of file objects.h.

Referenced by HeapNumber::set_value(), and HeapNumber::value().


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