v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
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 | |
Map * | map () |
void | set_map (Map *value) |
void | set_map_no_write_barrier (Map *value) |
MapWord | map_word () |
void | set_map_word (MapWord map_word) |
Heap * | GetHeap () |
Isolate * | GetIsolate () |
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) |
Object * | GetPrototype (Isolate *isolate) |
Map * | GetMarkerMap (Isolate *isolate) |
Object * | GetHash () |
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 HeapNumber * | cast (Object *obj) |
Static Public Member Functions inherited from HeapObject | |
static HeapObject * | FromAddress (Address address) |
static Object ** | RawField (HeapObject *obj, int offset) |
static void | UpdateMapCodeCache (Handle< HeapObject > object, Handle< Name > name, Handle< Code > code) |
static HeapObject * | cast (Object *obj) |
Static Public Member Functions inherited from Object | |
static MUST_USE_RESULT Handle < Object > | ToSmi (Isolate *isolate, Handle< Object > object) |
static Handle< Object > | GetPropertyWithReceiver (Handle< Object > object, Handle< Object > receiver, Handle< Name > name, PropertyAttributes *attributes) |
static Handle< Object > | GetProperty (Handle< Object > object, Handle< Name > key) |
static Handle< Object > | GetProperty (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< Object > | GetElement (Isolate *isolate, Handle< Object > object, uint32_t index) |
static Handle< Object > | GetElementNoExceptionThrown (Isolate *isolate, Handle< Object > object, uint32_t index) |
static Handle< Object > | GetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index) |
static Handle< Object > | GetOrCreateHash (Handle< Object > object, Isolate *isolate) |
static Object * | cast (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) |
|
inlinestatic |
Referenced by Heap::AllocateHeapNumber(), Object::BooleanValue(), v8::internal::BUILTIN(), HeapObject::HeapObjectShortPrint(), Object::IsNaN(), Heap::NumberToString(), JSObject::PrepareSlowElementsForSort(), v8::internal::RUNTIME_FUNCTION(), ExternalUint8ClampedArray::SetValue(), ExternalUint32Array::SetValue(), ExternalFloat32Array::SetValue(), ExternalFloat64Array::SetValue(), FixedTypedArray< Traits >::SetValue(), Object::ToArrayIndex(), Object::ToInt32(), Object::ToSmi(), Object::ToUint32(), v8::internal::TryNumberToSize(), and ToBooleanStub::Types::UpdateStatus().
|
inline |
Definition at line 1411 of file objects-inl.h.
References HeapNumber::kExponentBias, HeapNumber::kExponentMask, HeapNumber::kExponentOffset, HeapNumber::kExponentShift, and READ_INT_FIELD.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 1417 of file objects-inl.h.
References HeapNumber::kExponentOffset, HeapNumber::kSignMask, and READ_INT_FIELD.
Referenced by v8::internal::RUNTIME_FUNCTION().
bool HeapNumberBooleanValue | ( | ) |
Definition at line 1885 of file objects.cc.
References IeeeDoubleBigEndianArchType::bits, IeeeDoubleBigEndianArchType::d, IeeeDoubleBigEndianArchType::exp, IeeeDoubleBigEndianArchType::man_high, IeeeDoubleBigEndianArchType::man_low, and HeapNumber::value().
Referenced by Object::BooleanValue().
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 | ) |
Definition at line 1910 of file objects.cc.
References StringStream::Add(), Object::Number(), OS::SNPrintF(), and Vector< T >::start().
|
inline |
Definition at line 1406 of file objects-inl.h.
References HeapNumber::kValueOffset, and WRITE_DOUBLE_FIELD.
Referenced by Heap::AllocateHeapNumber(), and JSObject::PrepareSlowElementsForSort().
|
inline |
Definition at line 1401 of file objects-inl.h.
References HeapNumber::kValueOffset, and READ_DOUBLE_FIELD.
Referenced by HeapNumber::HeapNumberBooleanValue(), Heap::NumberToString(), JSObject::PrepareSlowElementsForSort(), v8::internal::RUNTIME_FUNCTION(), ExternalUint8ClampedArray::SetValue(), ExternalUint32Array::SetValue(), ExternalFloat32Array::SetValue(), ExternalFloat64Array::SetValue(), FixedTypedArray< Traits >::SetValue(), Object::ToArrayIndex(), Object::ToInt32(), Object::ToSmi(), Object::ToUint32(), v8::internal::TryNumberToSize(), and ToBooleanStub::Types::UpdateStatus().
|
static |
Definition at line 1985 of file objects.h.
Referenced by ConvertDToICVersion(), and HeapNumber::get_exponent().
|
static |
Definition at line 1981 of file objects.h.
Referenced by HeapNumber::get_exponent().
|
static |
Definition at line 1977 of file objects.h.
Referenced by LCodeGen::DoDeferredMathAbsTaggedHeapNumber(), HeapNumber::get_exponent(), and HeapNumber::get_sign().
|
static |
Definition at line 1986 of file objects.h.
Referenced by HeapNumber::get_exponent().
|
static |
|
static |
Definition at line 1976 of file objects.h.
Referenced by LCodeGen::DoDeferredMathAbsTaggedHeapNumber().
|
static |
Definition at line 1980 of file objects.h.
Referenced by LCodeGen::DoDeferredMathAbsTaggedHeapNumber(), LCodeGen::DoDeferredTaggedToI(), and HeapNumber::get_sign().
|
static |
Definition at line 1979 of file objects.h.
Referenced by Heap::AllocateHeapNumber(), and TEST().
|
static |
Definition at line 1971 of file objects.h.
Referenced by LCodeGen::DoDeferredNumberTagIU(), LCodeGen::DoDeferredTaggedToI(), V8_FINAL< kOperandKind, kNumCachedOperands >::ForHeapNumberValue(), V8_FINAL< kOperandKind, kNumCachedOperands >::ForHeapNumberValueHighestBits(), V8_FINAL< kOperandKind, kNumCachedOperands >::ForHeapNumberValueLowestBits(), MakeConvertDToIFuncTrampoline(), HeapNumber::set_value(), and HeapNumber::value().