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

#include <objects.h>

Inheritance diagram for Code:
Collaboration diagram for Code:

Data Structures

class  BinaryOpResultTypeField
 
class  BinaryOpTypeField
 
class  CacheHolderField
 
class  CompareOperationField
 
class  CompareStateField
 
class  ExtraICStateField
 
class  ExtraICStateKeyedAccessGrowMode
 
class  ExtraICStateStrictMode
 
class  FullCodeFlagsHasDebugBreakSlotsField
 
class  FullCodeFlagsHasDeoptimizationSupportField
 
class  FullCodeFlagsIsCompiledOptimizable
 
class  HasFunctionCacheField
 
class  ICStateField
 
class  IsPregeneratedField
 
class  KindField
 
class  SafepointTableOffsetField
 
class  StackCheckTableOffsetField
 
class  StackSlotsField
 
class  StubMajorKeyField
 
class  ToBooleanStateField
 
class  TypeField
 
class  UnaryOpTypeField
 

Public Types

enum  Flags { FLAGS_MIN_VALUE = kMinInt, FLAGS_MAX_VALUE = kMaxInt }
 
enum  Kind { LAST_CODE_KIND = TO_BOOLEAN_IC, REGEXP = BUILTIN, FIRST_IC_KIND = LOAD_IC, LAST_IC_KIND = TO_BOOLEAN_IC }
 
enum  StubType {
  NORMAL, FIELD, CONSTANT_FUNCTION, CALLBACKS,
  INTERCEPTOR, MAP_TRANSITION, NONEXISTENT
}
 
enum  { NUMBER_OF_KINDS = LAST_IC_KIND + 1 }
 
typedef int ExtraICState
 

Public Member Functions

 STATIC_ASSERT (LAST_CODE_KIND< 16)
 
int instruction_size ()
 
void set_instruction_size (int value)
 
void InvalidateRelocation ()
 
void set_ic_age (int count)
 
int ic_age ()
 
ByteArrayunchecked_relocation_info ()
 
FixedArrayunchecked_deoptimization_data ()
 
int relocation_size ()
 
Flags flags ()
 
void set_flags (Flags flags)
 
Kind kind ()
 
InlineCacheState ic_state ()
 
ExtraICState extra_ic_state ()
 
StubType type ()
 
int arguments_count ()
 
bool is_inline_cache_stub ()
 
bool is_load_stub ()
 
bool is_keyed_load_stub ()
 
bool is_store_stub ()
 
bool is_keyed_store_stub ()
 
bool is_call_stub ()
 
bool is_keyed_call_stub ()
 
bool is_unary_op_stub ()
 
bool is_binary_op_stub ()
 
bool is_compare_ic_stub ()
 
bool is_to_boolean_ic_stub ()
 
int major_key ()
 
void set_major_key (int value)
 
bool is_pregenerated ()
 
void set_is_pregenerated (bool value)
 
bool optimizable ()
 
void set_optimizable (bool value)
 
bool has_deoptimization_support ()
 
void set_has_deoptimization_support (bool value)
 
bool has_debug_break_slots ()
 
void set_has_debug_break_slots (bool value)
 
bool is_compiled_optimizable ()
 
void set_compiled_optimizable (bool value)
 
void set_allow_osr_at_loop_nesting_level (int level)
 
int allow_osr_at_loop_nesting_level ()
 
int profiler_ticks ()
 
void set_profiler_ticks (int ticks)
 
unsigned stack_slots ()
 
void set_stack_slots (unsigned slots)
 
unsigned safepoint_table_offset ()
 
void set_safepoint_table_offset (unsigned offset)
 
unsigned stack_check_table_offset ()
 
void set_stack_check_table_offset (unsigned offset)
 
CheckType check_type ()
 
void set_check_type (CheckType value)
 
byte unary_op_type ()
 
void set_unary_op_type (byte value)
 
byte binary_op_type ()
 
void set_binary_op_type (byte value)
 
byte binary_op_result_type ()
 
void set_binary_op_result_type (byte value)
 
byte compare_state ()
 
void set_compare_state (byte value)
 
byte compare_operation ()
 
void set_compare_operation (byte value)
 
byte to_boolean_state ()
 
void set_to_boolean_state (byte value)
 
bool has_function_cache ()
 
void set_has_function_cache (bool flag)
 
bool allowed_in_shared_map_code_cache ()
 
SafepointEntry GetSafepointEntry (Address pc)
 
void SetNoStackCheckTable ()
 
MapFindFirstMap ()
 
byteinstruction_start ()
 
byteinstruction_end ()
 
int body_size ()
 
byterelocation_start ()
 
byteentry ()
 
bool contains (byte *pc)
 
void Relocate (intptr_t delta)
 
void CopyFrom (const CodeDesc &desc)
 
int ExecutableSize ()
 
int SourcePosition (Address pc)
 
int SourceStatementPosition (Address pc)
 
int CodeSize ()
 
void CodeIterateBody (ObjectVisitor *v)
 
template<typename StaticVisitor >
void CodeIterateBody (Heap *heap)
 
void ClearInlineCaches ()
 
void ClearTypeFeedbackCells (Heap *heap)
 
 STATIC_ASSERT (kStackSlotsFirstBit+kStackSlotsBitCount<=32)
 
 STATIC_ASSERT (kUnaryOpTypeFirstBit+kUnaryOpTypeBitCount<=32)
 
 STATIC_ASSERT (kBinaryOpTypeFirstBit+kBinaryOpTypeBitCount<=32)
 
 STATIC_ASSERT (kBinaryOpResultTypeFirstBit+kBinaryOpResultTypeBitCount<=32)
 
 STATIC_ASSERT (kCompareStateFirstBit+kCompareStateBitCount<=32)
 
 STATIC_ASSERT (kCompareOperationFirstBit+kCompareOperationBitCount<=32)
 
 STATIC_ASSERT (kToBooleanStateFirstBit+kToBooleanStateBitCount<=32)
 
 STATIC_ASSERT (kHasFunctionCacheFirstBit+kHasFunctionCacheBitCount<=32)
 
 STATIC_ASSERT (kStubMajorKeyFirstBit+kStubMajorKeyBits<=32)
 
 STATIC_ASSERT (kSafepointTableOffsetFirstBit+kSafepointTableOffsetBitCount<=32)
 
- 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 StrictModeFlag GetStrictMode (ExtraICState extra_ic_state)
 
static KeyedAccessGrowMode GetKeyedAccessGrowMode (ExtraICState extra_ic_state)
 
static ExtraICState ComputeExtraICState (KeyedAccessGrowMode grow_mode, StrictModeFlag strict_mode)
 
static Flags ComputeFlags (Kind kind, InlineCacheState ic_state=UNINITIALIZED, ExtraICState extra_ic_state=kNoExtraICState, StubType type=NORMAL, int argc=-1, InlineCacheHolderFlag holder=OWN_MAP)
 
static Flags ComputeMonomorphicFlags (Kind kind, StubType type, ExtraICState extra_ic_state=kNoExtraICState, InlineCacheHolderFlag holder=OWN_MAP, int argc=-1)
 
static InlineCacheState ExtractICStateFromFlags (Flags flags)
 
static StubType ExtractTypeFromFlags (Flags flags)
 
static Kind ExtractKindFromFlags (Flags flags)
 
static InlineCacheHolderFlag ExtractCacheHolderFromFlags (Flags flags)
 
static ExtraICState ExtractExtraICStateFromFlags (Flags flags)
 
static int ExtractArgumentsCountFromFlags (Flags flags)
 
static Flags RemoveTypeFromFlags (Flags flags)
 
static CodeGetCodeFromTargetAddress (Address address)
 
static ObjectGetObjectFromEntryAddress (Address location_of_address)
 
static int SizeFor (int body_size)
 
static Codecast (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 ExtraICState kNoExtraICState = 0
 
static const int kExtraICStateGrowModeShift = 1
 
static const int kMaxLoopNestingMarker = 6
 
static const int kInstructionSizeOffset = HeapObject::kHeaderSize
 
static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize
 
static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize
 
static const int kDeoptimizationDataOffset
 
static const int kTypeFeedbackInfoOffset
 
static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize
 
static const int kICAgeOffset
 
static const int kFlagsOffset = kICAgeOffset + kIntSize
 
static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize
 
static const int kKindSpecificFlags2Offset
 
static const int kHeaderPaddingStart = kKindSpecificFlags2Offset + kIntSize
 
static const int kHeaderSize
 
static const int kOptimizableOffset = kKindSpecificFlags1Offset
 
static const int kCheckTypeOffset = kKindSpecificFlags1Offset
 
static const int kFullCodeFlags = kOptimizableOffset + 1
 
static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1
 
static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1
 
static const int kStackSlotsFirstBit = 0
 
static const int kStackSlotsBitCount = 24
 
static const int kUnaryOpTypeFirstBit
 
static const int kUnaryOpTypeBitCount = 3
 
static const int kBinaryOpTypeFirstBit
 
static const int kBinaryOpTypeBitCount = 3
 
static const int kBinaryOpResultTypeFirstBit
 
static const int kBinaryOpResultTypeBitCount = 3
 
static const int kCompareStateFirstBit
 
static const int kCompareStateBitCount = 3
 
static const int kCompareOperationFirstBit
 
static const int kCompareOperationBitCount = 4
 
static const int kToBooleanStateFirstBit
 
static const int kToBooleanStateBitCount = 8
 
static const int kHasFunctionCacheFirstBit
 
static const int kHasFunctionCacheBitCount = 1
 
static const int kStubMajorKeyFirstBit = 0
 
static const int kSafepointTableOffsetFirstBit
 
static const int kSafepointTableOffsetBitCount = 26
 
static const int kArgumentsCountShift = 14
 
static const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1)
 
static const int kFlagsNotUsedInLookup
 
- 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 4176 of file objects.h.

Member Typedef Documentation

typedef int ExtraICState

Definition at line 4234 of file objects.h.

Member Enumeration Documentation

anonymous enum
Enumerator
NUMBER_OF_KINDS 

Definition at line 4230 of file objects.h.

enum Flags
Enumerator
FLAGS_MIN_VALUE 
FLAGS_MAX_VALUE 

Definition at line 4182 of file objects.h.

enum Kind
Enumerator
LAST_CODE_KIND 
REGEXP 
FIRST_IC_KIND 
LAST_IC_KIND 

Definition at line 4203 of file objects.h.

enum StubType
Enumerator
NORMAL 
FIELD 
CONSTANT_FUNCTION 
CALLBACKS 
INTERCEPTOR 
MAP_TRANSITION 
NONEXISTENT 

Definition at line 4220 of file objects.h.

Member Function Documentation

int allow_osr_at_loop_nesting_level ( )
inline

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

References ASSERT_EQ, and READ_BYTE_FIELD.

Referenced by RuntimeProfiler::OptimizeNow().

bool allowed_in_shared_map_code_cache ( )
byte binary_op_result_type ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

byte binary_op_type ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

int body_size ( )
inline

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

References v8::internal::kObjectAlignment, and v8::internal::RoundUp().

CheckType check_type ( )
inline

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

References ASSERT, and READ_BYTE_FIELD.

void ClearInlineCaches ( )
int CodeSize ( )
inline

Definition at line 4509 of file objects.h.

byte compare_operation ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

Referenced by CompareIC::ComputeOperation().

byte compare_state ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

Referenced by Code::allowed_in_shared_map_code_cache(), and CompareIC::ComputeState().

static ExtraICState ComputeExtraICState ( KeyedAccessGrowMode  grow_mode,
StrictModeFlag  strict_mode 
)
inlinestatic

Definition at line 4423 of file objects.h.

Referenced by KeyedIC::ComputeStub().

Code::Flags ComputeFlags ( Kind  kind,
InlineCacheState  ic_state = UNINITIALIZED,
ExtraICState  extra_ic_state = kNoExtraICState,
StubType  type = NORMAL,
int  argc = -1,
InlineCacheHolderFlag  holder = OWN_MAP 
)
inlinestatic

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

References ASSERT.

Referenced by check(), LChunk::Codegen(), KeyedIC::ComputeStub(), FullCodeGenerator::MakeCode(), and TEST().

Code::Flags ComputeMonomorphicFlags ( Kind  kind,
StubType  type,
ExtraICState  extra_ic_state = kNoExtraICState,
InlineCacheHolderFlag  holder = OWN_MAP,
int  argc = -1 
)
inlinestatic
bool contains ( byte pc)
inline
Code::ExtraICState extra_ic_state ( )
inline

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

References ASSERT, and v8::internal::flags.

Referenced by CallICBase::Clear(), and IC::SetTargetAtAddress().

int ExtractArgumentsCountFromFlags ( Flags  flags)
inlinestatic

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

InlineCacheHolderFlag ExtractCacheHolderFromFlags ( Flags  flags)
inlinestatic

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

Code::ExtraICState ExtractExtraICStateFromFlags ( Flags  flags)
inlinestatic

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

InlineCacheState ExtractICStateFromFlags ( Flags  flags)
inlinestatic

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

Code::Kind ExtractKindFromFlags ( Flags  flags)
inlinestatic

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

Code::StubType ExtractTypeFromFlags ( Flags  flags)
inlinestatic
Map * FindFirstMap ( )
Code::Flags flags ( )
inline

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

References READ_INT_FIELD.

Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and StubCache::Set().

static KeyedAccessGrowMode GetKeyedAccessGrowMode ( ExtraICState  extra_ic_state)
inlinestatic
SafepointEntry GetSafepointEntry ( Address  pc)

Definition at line 8388 of file objects.cc.

Referenced by OptimizedFrame::GetDeoptimizationData().

static StrictModeFlag GetStrictMode ( ExtraICState  extra_ic_state)
inlinestatic

Definition at line 4414 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION(), and IC::SetTargetAtAddress().

bool has_debug_break_slots ( )
inline

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

References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.

bool has_deoptimization_support ( )
inline
bool has_function_cache ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

int ic_age ( )
inline
byte * instruction_end ( )
inline
void InvalidateRelocation ( )

Definition at line 8278 of file objects.cc.

References HeapObject::GetHeap().

Referenced by Deoptimizer::DeoptimizeFunction().

bool is_binary_op_stub ( )
inline

Definition at line 4304 of file objects.h.

bool is_call_stub ( )
inline

Definition at line 4301 of file objects.h.

Referenced by Heap::CreateCode().

bool is_compare_ic_stub ( )
inline

Definition at line 4305 of file objects.h.

Referenced by Code::allowed_in_shared_map_code_cache(), and IC::SetTargetAtAddress().

bool is_compiled_optimizable ( )
inline

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

References ASSERT_EQ, v8::internal::flags, and READ_BYTE_FIELD.

bool is_keyed_call_stub ( )
inline

Definition at line 4302 of file objects.h.

Referenced by Heap::CreateCode().

bool is_keyed_load_stub ( )
inline

Definition at line 4298 of file objects.h.

Referenced by Code::allowed_in_shared_map_code_cache().

bool is_keyed_store_stub ( )
inline

Definition at line 4300 of file objects.h.

Referenced by Code::allowed_in_shared_map_code_cache().

bool is_load_stub ( )
inline

Definition at line 4297 of file objects.h.

bool is_pregenerated ( )
inline

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

References v8::internal::flags.

bool is_store_stub ( )
inline

Definition at line 4299 of file objects.h.

bool is_to_boolean_ic_stub ( )
inline

Definition at line 4306 of file objects.h.

bool is_unary_op_stub ( )
inline

Definition at line 4303 of file objects.h.

int major_key ( )
inline
bool optimizable ( )
inline

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

References ASSERT_EQ, and READ_BYTE_FIELD.

Referenced by JSFunction::IsInlineable().

int profiler_ticks ( )
inline

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

References ASSERT_EQ, and READ_BYTE_FIELD.

Referenced by RuntimeProfiler::OptimizeNow().

void Relocate ( intptr_t  delta)
int relocation_size ( )
inline

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

Referenced by RelocIterator::RelocIterator().

byte * relocation_start ( )
inline

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

Referenced by Heap::CopyCode(), Code::CopyFrom(), and RelocIterator::RelocIterator().

Code::Flags RemoveTypeFromFlags ( Flags  flags)
inlinestatic

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

unsigned safepoint_table_offset ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

void set_allow_osr_at_loop_nesting_level ( int  level)
inline

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

References ASSERT, ASSERT_EQ, and WRITE_BYTE_FIELD.

Referenced by RuntimeProfiler::OptimizeNow(), and v8::internal::RUNTIME_FUNCTION().

void set_binary_op_result_type ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_binary_op_type ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_check_type ( CheckType  value)
inline

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

References ASSERT, and WRITE_BYTE_FIELD.

Referenced by Heap::CreateCode().

void set_compare_operation ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_compare_state ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_compiled_optimizable ( bool  value)
inline

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

References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.

void set_flags ( Code::Flags  flags)
inline
void set_has_debug_break_slots ( bool  value)
inline

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

References ASSERT_EQ, v8::internal::flags, READ_BYTE_FIELD, and WRITE_BYTE_FIELD.

void set_has_deoptimization_support ( bool  value)
inline
void set_has_function_cache ( bool  flag)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_ic_age ( int  count)
inline

Referenced by Heap::CreateCode().

void set_instruction_size ( int  value)
inline

Referenced by Heap::CreateCode().

void set_is_pregenerated ( bool  value)
inline

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

References ASSERT, and v8::internal::flags.

void set_major_key ( int  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_optimizable ( bool  value)
inline

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

References ASSERT_EQ, and WRITE_BYTE_FIELD.

void set_profiler_ticks ( int  ticks)
inline

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

References ASSERT, ASSERT_EQ, and WRITE_BYTE_FIELD.

Referenced by RuntimeProfiler::OptimizeNow(), and IC::PostPatching().

void set_safepoint_table_offset ( unsigned  offset)
inline
void set_stack_check_table_offset ( unsigned  offset)
inline
void set_stack_slots ( unsigned  slots)
inline

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

References ASSERT, CHECK, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_to_boolean_state ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void set_unary_op_type ( byte  value)
inline

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

References ASSERT, READ_UINT32_FIELD, and WRITE_UINT32_FIELD.

void SetNoStackCheckTable ( )
static int SizeFor ( int  body_size)
inlinestatic
int SourceStatementPosition ( Address  pc)
unsigned stack_check_table_offset ( )
inline
unsigned stack_slots ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

STATIC_ASSERT ( )
STATIC_ASSERT ( kStackSlotsFirstBit+kStackSlotsBitCount<=  32)
STATIC_ASSERT ( kUnaryOpTypeFirstBit+kUnaryOpTypeBitCount<=  32)
STATIC_ASSERT ( kStubMajorKeyFirstBit+kStubMajorKeyBits<=  32)
byte to_boolean_state ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

Code::StubType type ( )
inline

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

References v8::internal::flags.

Referenced by CodeCache::GetIndex(), CodeCache::RemoveByIndex(), and CodeCache::Update().

byte unary_op_type ( )
inline

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

References ASSERT, and READ_UINT32_FIELD.

FixedArray * unchecked_deoptimization_data ( )
inline

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

References READ_FIELD.

ByteArray * unchecked_relocation_info ( )
inline

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

References READ_FIELD.

Field Documentation

const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1
static

Definition at line 4562 of file objects.h.

const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1)
static

Definition at line 4646 of file objects.h.

const int kArgumentsCountShift = 14
static

Definition at line 4645 of file objects.h.

const int kBinaryOpResultTypeBitCount = 3
static

Definition at line 4584 of file objects.h.

const int kBinaryOpResultTypeFirstBit
static
Initial value:

Definition at line 4582 of file objects.h.

const int kBinaryOpTypeBitCount = 3
static

Definition at line 4581 of file objects.h.

const int kBinaryOpTypeFirstBit
static
Initial value:

Definition at line 4579 of file objects.h.

const int kCheckTypeOffset = kKindSpecificFlags1Offset
static

Definition at line 4554 of file objects.h.

const int kCompareOperationBitCount = 4
static

Definition at line 4590 of file objects.h.

const int kCompareOperationFirstBit
static
Initial value:

Definition at line 4588 of file objects.h.

const int kCompareStateBitCount = 3
static

Definition at line 4587 of file objects.h.

const int kCompareStateFirstBit
static
Initial value:

Definition at line 4585 of file objects.h.

const int kDeoptimizationDataOffset
static
Initial value:

Definition at line 4533 of file objects.h.

Referenced by Code::CodeIterateBody().

const int kExtraICStateGrowModeShift = 1
static

Definition at line 4412 of file objects.h.

const int kFlagsNotUsedInLookup
static
Initial value:

Definition at line 4649 of file objects.h.

const int kFlagsOffset = kICAgeOffset + kIntSize
static

Definition at line 4540 of file objects.h.

const int kFullCodeFlags = kOptimizableOffset + 1
static

Definition at line 4556 of file objects.h.

const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize
static

Definition at line 4537 of file objects.h.

const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize
static

Definition at line 4532 of file objects.h.

Referenced by Code::CodeIterateBody().

const int kHasFunctionCacheBitCount = 1
static

Definition at line 4596 of file objects.h.

const int kHasFunctionCacheFirstBit
static
Initial value:

Definition at line 4594 of file objects.h.

const int kHeaderPaddingStart = kKindSpecificFlags2Offset + kIntSize
static

Definition at line 4545 of file objects.h.

const int kICAgeOffset
static
Initial value:

Definition at line 4538 of file objects.h.

const int kInstructionSizeOffset = HeapObject::kHeaderSize
static

Definition at line 4530 of file objects.h.

const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize
static

Definition at line 4541 of file objects.h.

const int kKindSpecificFlags2Offset
static
Initial value:

Definition at line 4542 of file objects.h.

const int kMaxLoopNestingMarker = 6
static

Definition at line 4527 of file objects.h.

Referenced by RuntimeProfiler::OptimizeNow(), and v8::internal::RUNTIME_FUNCTION().

const ExtraICState kNoExtraICState = 0
static
const int kOptimizableOffset = kKindSpecificFlags1Offset
static

Definition at line 4553 of file objects.h.

const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1
static

Definition at line 4563 of file objects.h.

const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize
static

Definition at line 4531 of file objects.h.

Referenced by Code::CodeIterateBody().

const int kSafepointTableOffsetBitCount = 26
static

Definition at line 4629 of file objects.h.

const int kSafepointTableOffsetFirstBit
static
Initial value:

Definition at line 4627 of file objects.h.

const int kStackSlotsBitCount = 24
static

Definition at line 4575 of file objects.h.

const int kStackSlotsFirstBit = 0
static

Definition at line 4574 of file objects.h.

const int kStubMajorKeyFirstBit = 0
static

Definition at line 4626 of file objects.h.

const int kToBooleanStateBitCount = 8
static

Definition at line 4593 of file objects.h.

const int kToBooleanStateFirstBit
static
Initial value:

Definition at line 4591 of file objects.h.

const int kTypeFeedbackInfoOffset
static
Initial value:

Definition at line 4535 of file objects.h.

Referenced by Code::CodeIterateBody().

const int kUnaryOpTypeBitCount = 3
static

Definition at line 4578 of file objects.h.

const int kUnaryOpTypeFirstBit
static
Initial value:

Definition at line 4576 of file objects.h.


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