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

#include <objects.h>

Inheritance diagram for JSFunction:
Collaboration diagram for JSFunction:

Public Member Functions

SharedFunctionInfounchecked_shared ()
 
Contextcontext ()
 
Objectunchecked_context ()
 
void set_context (Object *context)
 
Codecode ()
 
void set_code (Code *code)
 
void ReplaceCode (Code *code)
 
Codeunchecked_code ()
 
bool IsBuiltin ()
 
bool NeedsArgumentsAdaption ()
 
bool IsOptimized ()
 
bool IsOptimizable ()
 
void MarkForLazyRecompilation ()
 
bool IsMarkedForLazyRecompilation ()
 
bool IsInlineable ()
 
FixedArrayliterals ()
 
void set_literals (FixedArray *literals)
 
FixedArrayfunction_bindings ()
 
void set_function_bindings (FixedArray *bindings)
 
Mapinitial_map ()
 
void set_initial_map (Map *value)
 
MUST_USE_RESULT MaybeObject * set_initial_map_and_cache_transitions (Map *value)
 
bool has_initial_map ()
 
bool has_prototype ()
 
bool has_instance_prototype ()
 
Objectprototype ()
 
Objectinstance_prototype ()
 
MUST_USE_RESULT MaybeObject * SetInstancePrototype (Object *value)
 
MUST_USE_RESULT MaybeObject * SetPrototype (Object *value)
 
ObjectRemovePrototype ()
 
bool should_have_prototype ()
 
ObjectSetInstanceClassName (String *name)
 
bool is_compiled ()
 
void PrintName ()
 
void PrintName (FILE *out)
 
void JSFunctionIterateBody (int object_size, ObjectVisitor *v)
 
int NumberOfLiterals ()
 
- Public Member Functions inherited from JSObject
 DECL_ACCESSORS (properties, FixedArray) inline void initialize_properties()
 
bool HasFastProperties ()
 
StringDictionaryproperty_dictionary ()
 
void initialize_elements ()
 
MUST_USE_RESULT MaybeObject * ResetElements ()
 
ElementsKind GetElementsKind ()
 
ElementsAccessorGetElementsAccessor ()
 
bool HasFastSmiElements ()
 
bool HasFastObjectElements ()
 
bool HasFastSmiOrObjectElements ()
 
bool HasFastDoubleElements ()
 
bool HasFastHoleyElements ()
 
bool HasNonStrictArgumentsElements ()
 
bool HasDictionaryElements ()
 
bool HasExternalPixelElements ()
 
bool HasExternalArrayElements ()
 
bool HasExternalByteElements ()
 
bool HasExternalUnsignedByteElements ()
 
bool HasExternalShortElements ()
 
bool HasExternalUnsignedShortElements ()
 
bool HasExternalIntElements ()
 
bool HasExternalUnsignedIntElements ()
 
bool HasExternalFloatElements ()
 
bool HasExternalDoubleElements ()
 
bool HasFastArgumentsElements ()
 
bool HasDictionaryArgumentsElements ()
 
SeededNumberDictionaryelement_dictionary ()
 
void set_map_and_elements (Map *map, FixedArrayBase *value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
MUST_USE_RESULT MaybeObject * EnsureWritableFastElements ()
 
MUST_USE_RESULT MaybeObject * PrepareElementsForSort (uint32_t limit)
 
MUST_USE_RESULT MaybeObject * PrepareSlowElementsForSort (uint32_t limit)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithCallback (Object *receiver, Object *structure, String *name)
 
MUST_USE_RESULT MaybeObject * SetPropertyForResult (LookupResult *result, String *key, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, StoreFromKeyed store_mode)
 
MUST_USE_RESULT MaybeObject * SetPropertyWithFailedAccessCheck (LookupResult *result, String *name, Object *value, bool check_prototype, StrictModeFlag strict_mode)
 
MUST_USE_RESULT MaybeObject * SetPropertyWithCallback (Object *structure, String *name, Object *value, JSObject *holder, StrictModeFlag strict_mode)
 
MUST_USE_RESULT MaybeObject * SetPropertyWithInterceptor (String *name, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode)
 
MUST_USE_RESULT MaybeObject * SetPropertyPostInterceptor (String *name, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode)
 
MUST_USE_RESULT MaybeObject * SetLocalPropertyIgnoreAttributes (String *key, Object *value, PropertyAttributes attributes)
 
ObjectGetNormalizedProperty (LookupResult *result)
 
ObjectSetNormalizedProperty (LookupResult *result, Object *value)
 
MUST_USE_RESULT MaybeObject * SetNormalizedProperty (String *name, Object *value, PropertyDetails details)
 
MUST_USE_RESULT MaybeObject * DeleteNormalizedProperty (String *name, DeleteMode mode)
 
MUST_USE_RESULT MaybeObject * OptimizeAsPrototype ()
 
InterceptorInfoGetNamedInterceptor ()
 
InterceptorInfoGetIndexedInterceptor ()
 
PropertyAttributes GetPropertyAttributePostInterceptor (JSObject *receiver, String *name, bool continue_search)
 
PropertyAttributes GetPropertyAttributeWithInterceptor (JSObject *receiver, String *name, bool continue_search)
 
PropertyAttributes GetPropertyAttributeWithFailedAccessCheck (Object *receiver, LookupResult *result, String *name, bool continue_search)
 
MUST_USE_RESULT MaybeObject * DefineAccessor (String *name, Object *getter, Object *setter, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * DefineFastAccessor (String *name, AccessorComponent component, Object *accessor, PropertyAttributes attributes)
 
ObjectLookupAccessor (String *name, AccessorComponent component)
 
MUST_USE_RESULT MaybeObject * DefineAccessor (AccessorInfo *info)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithFailedAccessCheck (Object *receiver, LookupResult *result, String *name, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithInterceptor (JSReceiver *receiver, String *name, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyPostInterceptor (JSReceiver *receiver, String *name, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetLocalPropertyPostInterceptor (JSReceiver *receiver, String *name, PropertyAttributes *attributes)
 
bool IsDirty ()
 
ObjectBypassGlobalProxy ()
 
MUST_USE_RESULT MaybeObject * SetHiddenProperty (String *key, Object *value)
 
ObjectGetHiddenProperty (String *key)
 
void DeleteHiddenProperty (String *key)
 
bool HasHiddenProperties ()
 
MUST_USE_RESULT MaybeObject * GetIdentityHash (CreationFlag flag)
 
MUST_USE_RESULT MaybeObject * SetIdentityHash (Object *hash, CreationFlag flag)
 
MUST_USE_RESULT MaybeObject * DeleteProperty (String *name, DeleteMode mode)
 
MUST_USE_RESULT MaybeObject * DeleteElement (uint32_t index, DeleteMode mode)
 
void ValidateElements ()
 
MUST_USE_RESULT MaybeObject * EnsureCanContainHeapObjectElements ()
 
MUST_USE_RESULT MaybeObject * EnsureCanContainElements (Object **elements, uint32_t count, EnsureElementsMode mode)
 
MUST_USE_RESULT MaybeObject * EnsureCanContainElements (FixedArrayBase *elements, uint32_t length, EnsureElementsMode mode)
 
MUST_USE_RESULT MaybeObject * EnsureCanContainElements (Arguments *arguments, uint32_t first_arg, uint32_t arg_count, EnsureElementsMode mode)
 
bool ShouldConvertToSlowElements (int new_capacity)
 
bool ShouldConvertToFastElements ()
 
bool ShouldConvertToFastDoubleElements (bool *has_smi_only_elements)
 
bool HasElementWithReceiver (JSReceiver *receiver, uint32_t index)
 
LocalElementType HasLocalElement (uint32_t index)
 
bool HasElementWithInterceptor (JSReceiver *receiver, uint32_t index)
 
MUST_USE_RESULT MaybeObject * SetFastElement (uint32_t index, Object *value, StrictModeFlag strict_mode, bool check_prototype)
 
MUST_USE_RESULT MaybeObject * SetDictionaryElement (uint32_t index, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, bool check_prototype, SetPropertyMode set_mode=SET_PROPERTY)
 
MUST_USE_RESULT MaybeObject * SetFastDoubleElement (uint32_t index, Object *value, StrictModeFlag strict_mode, bool check_prototype=true)
 
MUST_USE_RESULT MaybeObject * SetElement (uint32_t index, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, bool check_prototype=true, SetPropertyMode set_mode=SET_PROPERTY)
 
MUST_USE_RESULT MaybeObject * GetElementWithInterceptor (Object *receiver, uint32_t index)
 
MUST_USE_RESULT MaybeObject * SetFastElementsCapacityAndLength (int capacity, int length, SetFastElementsCapacitySmiMode smi_mode)
 
MUST_USE_RESULT MaybeObject * SetFastDoubleElementsCapacityAndLength (int capacity, int length)
 
bool HasNamedInterceptor ()
 
bool HasIndexedInterceptor ()
 
bool HasRealNamedProperty (String *key)
 
bool HasRealElementProperty (uint32_t index)
 
bool HasRealNamedCallbackProperty (String *key)
 
int GetHeaderSize ()
 
int GetInternalFieldCount ()
 
int GetInternalFieldOffset (int index)
 
ObjectGetInternalField (int index)
 
void SetInternalField (int index, Object *value)
 
void SetInternalField (int index, Smi *value)
 
void LocalLookupRealNamedProperty (String *name, LookupResult *result)
 
void LookupRealNamedProperty (String *name, LookupResult *result)
 
void LookupRealNamedPropertyInPrototypes (String *name, LookupResult *result)
 
MUST_USE_RESULT MaybeObject * SetElementWithCallbackSetterInPrototypes (uint32_t index, Object *value, bool *found, StrictModeFlag strict_mode)
 
void LookupCallback (String *name, LookupResult *result)
 
int NumberOfLocalProperties (PropertyAttributes filter=NONE)
 
void GetLocalPropertyNames (FixedArray *storage, int index)
 
int NumberOfLocalElements (PropertyAttributes filter)
 
int NumberOfEnumElements ()
 
int GetLocalElementKeys (FixedArray *storage, PropertyAttributes filter)
 
int GetEnumElementKeys (FixedArray *storage)
 
MUST_USE_RESULT MaybeObject * AddFastPropertyUsingMap (Map *new_map, String *name, Object *value)
 
MUST_USE_RESULT MaybeObject * AddConstantFunctionProperty (String *name, JSFunction *function, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * ReplaceSlowProperty (String *name, Object *value, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * GetElementsTransitionMap (Isolate *isolate, ElementsKind elements_kind)
 
MUST_USE_RESULT MaybeObject * GetElementsTransitionMapSlow (ElementsKind elements_kind)
 
MUST_USE_RESULT MaybeObject * TransitionElementsKind (ElementsKind to_kind)
 
MUST_USE_RESULT MaybeObject * ConvertDescriptorToFieldAndMapTransition (String *name, Object *new_value, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * ConvertDescriptorToField (String *name, Object *new_value, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * AddFastProperty (String *name, Object *value, PropertyAttributes attributes, StoreFromKeyed store_mode=MAY_BE_STORE_FROM_KEYED)
 
MUST_USE_RESULT MaybeObject * AddSlowProperty (String *name, Object *value, PropertyAttributes attributes)
 
MUST_USE_RESULT MaybeObject * AddProperty (String *name, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, StoreFromKeyed store_mode=MAY_BE_STORE_FROM_KEYED)
 
MUST_USE_RESULT MaybeObject * NormalizeProperties (PropertyNormalizationMode mode, int expected_additional_properties)
 
MUST_USE_RESULT MaybeObject * NormalizeElements ()
 
MUST_USE_RESULT MaybeObject * UpdateMapCodeCache (String *name, Code *code)
 
MUST_USE_RESULT MaybeObject * TransformToFastProperties (int unused_property_fields)
 
ObjectFastPropertyAt (int index)
 
ObjectFastPropertyAtPut (int index, Object *value)
 
int GetInObjectPropertyOffset (int index)
 
ObjectInObjectPropertyAt (int index)
 
ObjectInObjectPropertyAtPut (int index, Object *value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void InitializeBody (Map *map, Object *pre_allocated_value, Object *filler_value)
 
bool ReferencesObject (Object *obj)
 
MUST_USE_RESULT MaybeObject * PreventExtensions ()
 
void JSObjectShortPrint (StringStream *accumulator)
 
void PrintElementsTransition (FILE *file, ElementsKind from_kind, FixedArrayBase *from_elements, ElementsKind to_kind, FixedArrayBase *to_elements)
 
ObjectSlowReverseLookup (Object *value)
 
bool TooManyFastProperties (int properties, StoreFromKeyed store_mode)
 
 STATIC_CHECK (kHeaderSize==Internals::kJSObjectHeaderSize)
 
- Public Member Functions inherited from JSReceiver
MUST_USE_RESULT MaybeObject * SetProperty (String *key, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, StoreFromKeyed store_from_keyed=MAY_BE_STORE_FROM_KEYED)
 
MUST_USE_RESULT MaybeObject * SetProperty (LookupResult *result, String *key, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, StoreFromKeyed store_from_keyed=MAY_BE_STORE_FROM_KEYED)
 
MUST_USE_RESULT MaybeObject * SetPropertyWithDefinedSetter (JSReceiver *setter, Object *value)
 
MUST_USE_RESULT MaybeObject * DeleteProperty (String *name, DeleteMode mode)
 
MUST_USE_RESULT MaybeObject * DeleteElement (uint32_t index, DeleteMode mode)
 
MUST_USE_RESULT MaybeObject * SetElement (uint32_t index, Object *value, PropertyAttributes attributes, StrictModeFlag strict_mode, bool check_prototype)
 
bool IsSimpleEnum ()
 
Stringclass_name ()
 
Stringconstructor_name ()
 
PropertyAttributes GetPropertyAttribute (String *name)
 
PropertyAttributes GetPropertyAttributeWithReceiver (JSReceiver *receiver, String *name)
 
PropertyAttributes GetLocalPropertyAttribute (String *name)
 
bool HasProperty (String *name)
 
bool HasLocalProperty (String *name)
 
bool HasElement (uint32_t index)
 
ObjectGetPrototype ()
 
MUST_USE_RESULT MaybeObject * SetPrototype (Object *value, bool skip_hidden_prototypes)
 
MUST_USE_RESULT MaybeObject * GetIdentityHash (CreationFlag flag)
 
void LocalLookup (String *name, LookupResult *result)
 
void Lookup (String *name, LookupResult *result)
 
- 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 *global_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 ShortPrint ()
 
void ShortPrint (FILE *out)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static bool CompileLazy (Handle< JSFunction > function, ClearExceptionFlag flag)
 
static bool CompileOptimized (Handle< JSFunction > function, int osr_ast_id, ClearExceptionFlag flag)
 
static JSFunctioncast (Object *obj)
 
static ContextGlobalContextFromLiterals (FixedArray *literals)
 
- Static Public Member Functions inherited from JSObject
static Handle< ObjectSetLocalPropertyIgnoreAttributes (Handle< JSObject > object, Handle< String > key, Handle< Object > value, PropertyAttributes attributes)
 
static Handle< ObjectSetNormalizedProperty (Handle< JSObject > object, Handle< String > key, Handle< Object > value, PropertyDetails details)
 
static void DefineAccessor (Handle< JSObject > object, Handle< String > name, Handle< Object > getter, Handle< Object > setter, PropertyAttributes attributes)
 
static Handle< ObjectSetHiddenProperty (Handle< JSObject > obj, Handle< String > key, Handle< Object > value)
 
static int GetIdentityHash (Handle< JSObject > obj)
 
static Handle< ObjectDeleteProperty (Handle< JSObject > obj, Handle< String > name)
 
static Handle< ObjectDeleteElement (Handle< JSObject > obj, uint32_t index)
 
static int NewElementsCapacity (int old_capacity)
 
static Handle< ObjectSetOwnElement (Handle< JSObject > object, uint32_t index, Handle< Object > value, StrictModeFlag strict_mode)
 
static MUST_USE_RESULT Handle
< Object
SetElement (Handle< JSObject > object, uint32_t index, Handle< Object > value, PropertyAttributes attr, StrictModeFlag strict_mode, SetPropertyMode set_mode=SET_PROPERTY)
 
static Handle< MapGetElementsTransitionMap (Handle< JSObject > object, ElementsKind to_kind)
 
static Handle< ObjectTransitionElementsKind (Handle< JSObject > object, ElementsKind to_kind)
 
static void NormalizeProperties (Handle< JSObject > object, PropertyNormalizationMode mode, int expected_additional_properties)
 
static Handle
< SeededNumberDictionary
NormalizeElements (Handle< JSObject > object)
 
static void UpdateMapCodeCache (Handle< JSObject > object, Handle< String > name, Handle< Code > code)
 
static void TransformToFastProperties (Handle< JSObject > object, int unused_property_fields)
 
static JSObjectcast (Object *obj)
 
static Handle< ObjectPreventExtensions (Handle< JSObject > object)
 
- Static Public Member Functions inherited from JSReceiver
static JSReceivercast (Object *obj)
 
static Handle< ObjectSetProperty (Handle< JSReceiver > object, Handle< String > key, Handle< Object > value, PropertyAttributes attributes, StrictModeFlag strict_mode)
 
- 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 kCodeEntryOffset = JSObject::kHeaderSize
 
static const int kPrototypeOrInitialMapOffset
 
static const int kSharedFunctionInfoOffset
 
static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize
 
static const int kLiteralsOffset = kContextOffset + kPointerSize
 
static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize
 
static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset
 
static const int kSize = kNextFunctionLinkOffset + kPointerSize
 
static const int kLiteralsPrefixSize = 1
 
static const int kLiteralGlobalContextIndex = 0
 
static const int kBoundFunctionIndex = 0
 
static const int kBoundThisIndex = 1
 
static const int kBoundArgumentsStartIndex = 2
 
- Static Public Attributes inherited from JSObject
static const uint32_t kMaxElementCount = 0xffffffffu
 
static const uint32_t kMaxGap = 1024
 
static const int kMaxUncheckedFastElementsLength = 5000
 
static const int kMaxUncheckedOldFastElementsLength = 500
 
static const int kInitialMaxFastElementArray = 100000
 
static const int kFastPropertiesSoftLimit = 12
 
static const int kMaxFastProperties = 64
 
static const int kMaxInstanceSize = 255 * kPointerSize
 
static const int kFieldsAdded = 3
 
static const int kPropertiesOffset = HeapObject::kHeaderSize
 
static const int kElementsOffset = kPropertiesOffset + kPointerSize
 
static const int kHeaderSize = kElementsOffset + kPointerSize
 
- 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 JSObject
enum  LocalElementType {
  UNDEFINED_ELEMENT, INTERCEPTED_ELEMENT, STRING_CHARACTER_ELEMENT, FAST_ELEMENT,
  DICTIONARY_ELEMENT
}
 
enum  SetFastElementsCapacitySmiMode { kAllowSmiElements, kForceSmiElements, kDontAllowSmiElements }
 
- Public Types inherited from JSReceiver
enum  DeleteMode { NORMAL_DELETION, STRICT_DELETION, FORCE_DELETION }
 
enum  StoreFromKeyed { MAY_BE_STORE_FROM_KEYED, CERTAINLY_NOT_STORE_FROM_KEYED }
 
- Protected Member Functions inherited from JSReceiver
SmiGenerateIdentityHash ()
 
- 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 5829 of file objects.h.

Member Function Documentation

static JSFunction* cast ( Object obj)
inlinestatic

Referenced by Context::AddOptimizedFunction(), JSObject::AddProperty(), Heap::AllocateArgumentsObject(), Heap::AllocateFunction(), JSReceiver::class_name(), Context::closure(), Call::ComputeGlobalTarget(), Isolate::ComputeLocation(), CallICBase::ComputeMonomorphicStub(), JSReceiver::constructor_name(), Map::CopyDropDescriptors(), Date::DateTimeConfigurationChangeNotification(), BASE_EMBEDDED< Visitor >::GetConstantFunction(), DescriptorArray::GetConstantFunction(), BASE_EMBEDDED< Visitor >::GetConstantFunctionFromMap(), V8HeapExplorer::GetConstructorName(), OptimizedFrame::GetDeoptimizationData(), JavaScriptFrame::GetFunctions(), OptimizedFrame::GetFunctions(), JSObject::GetIndexedInterceptor(), v8::internal::GetKeysInFixedArrayFor(), MessageHandler::GetMessage(), JSObject::GetNamedInterceptor(), JavaScriptFrame::GetNumberOfIncomingArguments(), Context::global_context(), Execution::InstantiateFunction(), JSObject::IsDirty(), Object::IsInstanceOf(), JSObject::JSObjectShortPrint(), Isolate::MayIndexedAccess(), Isolate::MayNamedAccess(), Factory::NewError(), RuntimeProfiler::OptimizeNow(), JavaScriptFrame::Print(), ArgumentsAdaptorFrame::Print(), Isolate::PrintCurrentStackTrace(), StringStream::PrintFunction(), StringStream::PrintSecurityTokenIfChanged(), JavaScriptFrame::PrintTop(), JSObject::ReferencesObject(), Heap::ReinitializeJSReceiver(), Context::RemoveOptimizedFunction(), Isolate::ReportFailedAccessCheck(), Script::Run(), v8::internal::RUNTIME_FUNCTION(), JSFunction::set_initial_map_and_cache_transitions(), JSObject::SetPropertyForResult(), JavaScriptFrame::Summarize(), OptimizedFrame::Summarize(), TEST(), StringDictionary::TransformPropertiesToFastFor(), JavaScriptFrame::unchecked_code(), and Deoptimizer::VisitAllOptimizedFunctionsForContext().

bool CompileLazy ( Handle< JSFunction function,
ClearExceptionFlag  flag 
)
static

Definition at line 7465 of file objects.cc.

References ASSERT.

Referenced by v8::internal::RUNTIME_FUNCTION().

bool CompileOptimized ( Handle< JSFunction function,
int  osr_ast_id,
ClearExceptionFlag  flag 
)
static

Definition at line 7480 of file objects.cc.

Referenced by v8::internal::RUNTIME_FUNCTION().

FixedArray * function_bindings ( )
inline

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

References ASSERT.

Referenced by v8::internal::RUNTIME_FUNCTION().

Context * GlobalContextFromLiterals ( FixedArray literals)
static
bool has_instance_prototype ( )
inline

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

Referenced by Heap::AllocateInitialMap().

bool has_prototype ( )
inline

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

References Map::has_non_instance_prototype(), and HeapObject::map().

Object * instance_prototype ( )
inline

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

References ASSERT.

Referenced by Heap::AllocateInitialMap().

bool is_compiled ( )
inline
bool IsBuiltin ( )
inline

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

Referenced by JSFunction::IsInlineable(), and v8::internal::RUNTIME_FUNCTION().

bool IsInlineable ( )
bool IsMarkedForLazyRecompilation ( )
inline
bool IsOptimizable ( )
inline

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

References Code::FUNCTION.

bool IsOptimized ( )
inline

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

References Code::OPTIMIZED_FUNCTION.

Referenced by JSFunction::MarkForLazyRecompilation().

void JSFunctionIterateBody ( int  object_size,
ObjectVisitor *  v 
)
FixedArray * literals ( )
inline

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

References ASSERT.

bool NeedsArgumentsAdaption ( )
inline

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

References SharedFunctionInfo::kDontAdaptArgumentsSentinel.

int NumberOfLiterals ( )
inline

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

References ASSERT.

void PrintName ( )
inline

Definition at line 5950 of file objects.h.

Referenced by JavaScriptFrame::PrintTop().

void PrintName ( FILE *  out)

Definition at line 7636 of file objects.cc.

References v8::internal::PrintF().

Object * prototype ( )
inline

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

References ASSERT, and HeapObject::map().

void ReplaceCode ( Code code)
inline
void set_code ( Code code)
inline
void set_context ( Object context)
inline

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

References ASSERT, HeapObject::GetHeap(), WRITE_BARRIER, and WRITE_FIELD.

Referenced by Heap::ReinitializeJSReceiver().

void set_function_bindings ( FixedArray bindings)
inline

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

References ASSERT, HeapObject::GetHeap(), and HeapObject::map().

void set_initial_map ( Map value)
inline

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

Referenced by Heap::AllocateJSObject().

void set_literals ( FixedArray literals)
inline

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

References ASSERT.

Object * SetInstanceClassName ( String name)

Definition at line 7630 of file objects.cc.

bool should_have_prototype ( )
inline

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

References Map::function_with_prototype(), and HeapObject::map().

Referenced by JSFunction::SetPrototype().

Code * unchecked_code ( )
inline

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

References FIELD_ADDR, and Code::GetObjectFromEntryAddress().

Object * unchecked_context ( )
inline

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

References READ_FIELD.

Referenced by StringStream::PrintSecurityTokenIfChanged().

SharedFunctionInfo * unchecked_shared ( )
inline

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

References READ_FIELD.

Field Documentation

const int kBoundArgumentsStartIndex = 2
static

Definition at line 5999 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION().

const int kBoundFunctionIndex = 0
static

Definition at line 5997 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION().

const int kBoundThisIndex = 1
static

Definition at line 5998 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION().

const int kCodeEntryOffset = JSObject::kHeaderSize
static
const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize
static

Definition at line 5986 of file objects.h.

const int kLiteralGlobalContextIndex = 0
static
const int kLiteralsOffset = kContextOffset + kPointerSize
static

Definition at line 5987 of file objects.h.

const int kLiteralsPrefixSize = 1
static

Definition at line 5993 of file objects.h.

Referenced by Factory::NewSharedFunctionInfo().

const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset
static

Definition at line 5989 of file objects.h.

const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize
static

Definition at line 5988 of file objects.h.

Referenced by IncrementalMarking::Step().

const int kPrototypeOrInitialMapOffset
static
Initial value:

Definition at line 5982 of file objects.h.

const int kSharedFunctionInfoOffset
static
Initial value:

Definition at line 5984 of file objects.h.

const int kSize = kNextFunctionLinkOffset + kPointerSize
static

Definition at line 5990 of file objects.h.

Referenced by Factory::BecomeJSFunction(), and JSObject::GetHeaderSize().


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