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
Oddball Class Reference

#include <objects.h>

Inheritance diagram for Oddball:
Collaboration diagram for Oddball:

Public Types

typedef FixedBodyDescriptor
< kToStringOffset,
kToNumberOffset+kPointerSize,
kSize
BodyDescriptor
 

Public Member Functions

byte kind ()
 
void set_kind (byte kind)
 
MUST_USE_RESULT MaybeObject * Initialize (const char *to_string, Object *to_number, byte kind)
 
 STATIC_CHECK (kKindOffset==Internals::kOddballKindOffset)
 
 STATIC_CHECK (kNull==Internals::kNullOddballKind)
 
 STATIC_CHECK (kUndefined==Internals::kUndefinedOddballKind)
 
- 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 Oddballcast (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 kToStringOffset = HeapObject::kHeaderSize
 
static const int kToNumberOffset = kToStringOffset + kPointerSize
 
static const int kKindOffset = kToNumberOffset + kPointerSize
 
static const int kSize = kKindOffset + kPointerSize
 
static const byte kFalse = 0
 
static const byte kTrue = 1
 
static const byte kNotBooleanMask = ~1
 
static const byte kTheHole = 2
 
static const byte kNull = 3
 
static const byte kArgumentMarker = 4
 
static const byte kUndefined = 5
 
static const byte kOther = 6
 
- 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 7935 of file objects.h.

Member Typedef Documentation

Member Function Documentation

static Oddball* cast ( Object obj)
inlinestatic
MaybeObject * Initialize ( const char *  to_string,
Object to_number,
byte  kind 
)

Definition at line 7799 of file objects.cc.

References Oddball::set_kind().

byte kind ( )
inline

Definition at line 1458 of file objects-inl.h.

References Smi::cast(), READ_FIELD, and Smi::value().

Referenced by Object::IsArgumentsMarker().

void set_kind ( byte  kind)
inline

Definition at line 1463 of file objects-inl.h.

References Smi::FromInt(), Oddball::kKindOffset, and WRITE_FIELD.

Referenced by Oddball::Initialize().

STATIC_CHECK ( kNull  = =Internals::kNullOddballKind)

Field Documentation

const byte kArgumentMarker = 4
static

Definition at line 7968 of file objects.h.

Referenced by Object::IsArgumentsMarker().

const byte kFalse = 0
static

Definition at line 7963 of file objects.h.

const int kKindOffset = kToNumberOffset + kPointerSize
static

Definition at line 7960 of file objects.h.

Referenced by Oddball::set_kind().

const byte kNotBooleanMask = ~1
static

Definition at line 7965 of file objects.h.

const byte kNull = 3
static

Definition at line 7967 of file objects.h.

const byte kOther = 6
static

Definition at line 7970 of file objects.h.

const int kSize = kKindOffset + kPointerSize
static

Definition at line 7961 of file objects.h.

const byte kTheHole = 2
static

Definition at line 7966 of file objects.h.

const int kToNumberOffset = kToStringOffset + kPointerSize
static

Definition at line 7959 of file objects.h.

const int kToStringOffset = HeapObject::kHeaderSize
static

Definition at line 7958 of file objects.h.

const byte kTrue = 1
static

Definition at line 7964 of file objects.h.

const byte kUndefined = 5
static

Definition at line 7969 of file objects.h.


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