V8 Project
|
#include <objects.h>
Private Member Functions | |
DISALLOW_IMPLICIT_CONSTRUCTORS (JSFunction) | |
Additional Inherited Members | |
![]() | |
enum | ExecutableAccessorInfoHandling { DEFAULT_HANDLING , DONT_FORCE_FIELD } |
enum | SetFastElementsCapacitySmiMode { kAllowSmiElements , kForceSmiElements , kDontAllowSmiElements } |
enum | DeepCopyHints { kNoHints = 0 , kObjectIsShallow = 1 } |
![]() | |
enum | DeleteMode { NORMAL_DELETION , STRICT_DELETION , FORCE_DELETION } |
enum | KeyCollectionType { OWN_ONLY , INCLUDE_PROTOS } |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
|
static |
Definition at line 9160 of file objects.cc.
References context(), v8::internal::Isolate::factory(), v8::internal::HeapObject::map(), and v8::internal::JSObject::SetPrototype().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 5838 of file objects-inl.h.
References FIELD_ADDR, v8::internal::Code::GetObjectFromEntryAddress(), and kCodeEntryOffset.
Referenced by v8::internal::OptimizedFrame::GetDeoptimizationData(), is_compiled(), IsInOptimizationQueue(), IsMarkedForConcurrentOptimization(), IsMarkedForOptimization(), IsOptimizable(), IsOptimized(), MarkForConcurrentOptimization(), MarkForOptimization(), v8::internal::StaticMarkingVisitor< StaticVisitor >::MarkInlinedFunctionsCode(), MarkInOptimizationQueue(), v8::internal::Debug::PrepareForBreakPoints(), and ReplaceCode().
void v8::internal::JSFunction::CompleteInobjectSlackTracking | ( | ) |
Definition at line 9982 of file objects.cc.
References DCHECK, v8::internal::Map::done_inobject_slack_tracking(), v8::internal::GetMinInobjectSlack(), has_initial_map(), initial_map(), kNoSlackTracking, v8::internal::HeapObject::map(), v8::internal::Map::set_construction_count(), v8::internal::ShrinkInstanceSize(), v8::internal::Map::TraverseTransitionTree(), and v8::internal::Map::unused_property_fields().
|
inline |
Definition at line 5885 of file objects-inl.h.
References v8::internal::Context::cast(), kContextOffset, and READ_FIELD.
Referenced by CloneClosure(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::Deoptimizer::FindDeoptimizingCode(), global_proxy(), IsBuiltin(), v8::internal::Context::native_context(), v8::internal::JSObject::ReferencesObject(), RemovePrototype(), and ReplaceCode().
|
private |
|
static |
Definition at line 9503 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::handle(), v8::internal::Map::has_fast_object_elements(), v8::internal::JS_GENERATOR_OBJECT_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::JSGeneratorObject::kSize, v8::internal::HeapObject::map(), prototype(), v8::internal::Map::set_inobject_properties(), v8::internal::Map::set_unused_property_fields(), and SetInitialMap().
|
inline |
Definition at line 5965 of file objects-inl.h.
References DCHECK.
Referenced by v8::internal::V8HeapExplorer::ExtractClosureReferences().
|
inline |
Definition at line 5890 of file objects-inl.h.
References context(), and v8::internal::Context::global_proxy().
|
inline |
Definition at line 5910 of file objects-inl.h.
Referenced by v8::internal::Heap::AllocateJSObject(), CompleteInobjectSlackTracking(), has_instance_prototype(), instance_prototype(), IsInobjectSlackTrackingInProgress(), and StartInobjectSlackTracking().
|
inline |
Definition at line 5915 of file objects-inl.h.
References has_initial_map().
Referenced by has_prototype(), and instance_prototype().
|
inline |
Definition at line 5920 of file objects-inl.h.
References has_instance_prototype(), v8::internal::Map::has_non_instance_prototype(), and v8::internal::HeapObject::map().
Referenced by prototype().
|
inline |
Referenced by v8::internal::Heap::AllocateJSObject(), CompleteInobjectSlackTracking(), v8::internal::IC::GetICCacheHolder(), instance_prototype(), v8::internal::JSObject::IsDirty(), IsInobjectSlackTrackingInProgress(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), SetInstancePrototype(), and StartInobjectSlackTracking().
|
inline |
Definition at line 5925 of file objects-inl.h.
References DCHECK, has_initial_map(), has_instance_prototype(), and initial_map().
Referenced by v8::internal::IC::GetHandlerCacheHolder(), and prototype().
|
inline |
Definition at line 5948 of file objects-inl.h.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), code(), and v8::internal::HeapObject::GetIsolate().
Referenced by MarkForConcurrentOptimization(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 5777 of file objects-inl.h.
References context(), and v8::internal::Context::global_object().
Referenced by v8::internal::FindCaller(), IsFromNativeScript(), and v8::internal::IsVisibleInStackTrace().
|
inline |
Definition at line 5791 of file objects-inl.h.
References v8::internal::Script::TYPE_EXTENSION.
Referenced by v8::internal::IsVisibleInStackTrace().
|
inline |
Definition at line 5782 of file objects-inl.h.
References DCHECK, IsBuiltin(), and v8::internal::Script::TYPE_NATIVE.
Referenced by v8::internal::IsVisibleInStackTrace().
|
inline |
Definition at line 5832 of file objects-inl.h.
References v8::internal::Map::construction_count(), has_initial_map(), initial_map(), and kNoSlackTracking.
Referenced by StartInobjectSlackTracking().
|
inline |
Definition at line 5826 of file objects-inl.h.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), code(), and v8::internal::HeapObject::GetIsolate().
|
inline |
Definition at line 5820 of file objects-inl.h.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), code(), and v8::internal::HeapObject::GetIsolate().
Referenced by MarkInOptimizationQueue().
|
inline |
Definition at line 5814 of file objects-inl.h.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), code(), and v8::internal::HeapObject::GetIsolate().
|
inline |
Definition at line 5809 of file objects-inl.h.
References code(), v8::internal::Code::kind(), and v8::internal::Code::optimizable().
|
inline |
Definition at line 5804 of file objects-inl.h.
References code(), and v8::internal::Code::kind().
Referenced by MarkForConcurrentOptimization(), MarkForOptimization(), MarkInOptimizationQueue(), v8::internal::JavaScriptFrame::PrintFunctionAndOffset(), and ReplaceCode().
void v8::internal::JSFunction::JSFunctionIterateBody | ( | int | object_size, |
ObjectVisitor * | v | ||
) |
Definition at line 9105 of file objects.cc.
References v8::internal::HeapObject::address(), v8::internal::HeapObject::IteratePointers(), kCodeEntryOffset, v8::internal::kPointerSize, and v8::internal::JSObject::kPropertiesOffset.
|
inline |
Definition at line 5953 of file objects-inl.h.
References DCHECK.
Referenced by NativeContextFromLiterals(), NumberOfLiterals(), set_literals(), and v8::internal::LiteralFixer::ClearValuesVisitor::visit().
void v8::internal::JSFunction::MarkForConcurrentOptimization | ( | ) |
Definition at line 9125 of file objects.cc.
References code(), DCHECK, v8::internal::HeapObject::GetIsolate(), is_compiled(), IsOptimized(), v8::internal::PrintF(), set_code_no_write_barrier(), and v8::internal::Object::ShortPrint().
void v8::internal::JSFunction::MarkForOptimization | ( | ) |
Definition at line 9114 of file objects.cc.
References code(), DCHECK, v8::internal::HeapObject::GetIsolate(), IsOptimized(), and set_code_no_write_barrier().
void v8::internal::JSFunction::MarkInOptimizationQueue | ( | ) |
Definition at line 9142 of file objects.cc.
References code(), DCHECK, v8::internal::HeapObject::GetIsolate(), IsMarkedForConcurrentOptimization(), IsOptimized(), v8::internal::PrintF(), set_code_no_write_barrier(), and v8::internal::Object::ShortPrint().
|
static |
Definition at line 9554 of file objects.cc.
References v8::internal::Context::cast(), v8::internal::FixedArray::get(), kLiteralNativeContextIndex, and literals().
Referenced by v8::internal::Runtime::CreateArrayLiteralBoilerplate(), v8::internal::CreateObjectLiteralBoilerplate(), v8::internal::LiteralFixer::PatchLiterals(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 5798 of file objects-inl.h.
References v8::internal::SharedFunctionInfo::kDontAdaptArgumentsSentinel.
|
inline |
Definition at line 5981 of file objects-inl.h.
References DCHECK, v8::internal::FixedArrayBase::length(), and literals().
bool v8::internal::JSFunction::PassesFilter | ( | const char * | raw_filter | ) |
Definition at line 9567 of file objects.cc.
References v8::internal::CStrVector(), v8::internal::Vector< T >::length(), name, and v8::internal::Vector< T >::SubVector().
void v8::internal::JSFunction::PrintName | ( | FILE * | out = stdout | ) |
Definition at line 9548 of file objects.cc.
References name, and v8::internal::PrintF().
Referenced by v8::internal::Deoptimizer::PrintFunctionName().
|
inline |
Definition at line 5934 of file objects-inl.h.
References DCHECK, has_prototype(), instance_prototype(), and v8::internal::HeapObject::map().
Referenced by EnsureHasInitialMap(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), and SetInitialMap().
bool v8::internal::JSFunction::RemovePrototype | ( | ) |
Definition at line 9469 of file objects.cc.
References context(), v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::map(), v8::internal::Context::native_context(), v8::internal::HeapObject::set_map(), and v8::internal::SLOPPY.
|
inline |
Definition at line 5862 of file objects-inl.h.
References v8::internal::Context::AddOptimizedFunction(), code(), context(), IsOptimized(), v8::internal::Code::kind(), v8::internal::Context::native_context(), v8::internal::Context::RemoveOptimizedFunction(), and set_code().
|
inline |
Definition at line 5844 of file objects-inl.h.
References DCHECK, v8::internal::Code::entry(), v8::internal::HeapObject::GetHeap(), v8::internal::Heap::incremental_marking(), kCodeEntryOffset, v8::internal::HeapObject::RawField(), and WRITE_INTPTR_FIELD.
Referenced by v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), and ReplaceCode().
|
inline |
Definition at line 5855 of file objects-inl.h.
References DCHECK, v8::internal::Code::entry(), v8::internal::HeapObject::GetHeap(), kCodeEntryOffset, and WRITE_INTPTR_FIELD.
Referenced by MarkForConcurrentOptimization(), MarkForOptimization(), and MarkInOptimizationQueue().
|
inline |
Definition at line 5895 of file objects-inl.h.
References DCHECK, v8::internal::HeapObject::GetHeap(), kContextOffset, WRITE_BARRIER, and WRITE_FIELD.
|
inline |
Definition at line 5971 of file objects-inl.h.
References DCHECK, v8::internal::HeapObject::GetHeap(), and v8::internal::HeapObject::map().
|
inline |
Definition at line 5959 of file objects-inl.h.
References DCHECK, and literals().
|
static |
Definition at line 9491 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::FAST_PROTOTYPE, v8::internal::HeapObject::map(), v8::internal::JSObject::OptimizeAsPrototype(), and prototype().
Referenced by EnsureHasInitialMap(), and SetInstancePrototype().
void v8::internal::JSFunction::SetInstanceClassName | ( | String * | name | ) |
Definition at line 9543 of file objects.cc.
References name.
|
static |
Definition at line 9386 of file objects.cc.
References v8::internal::Context::ARRAY_FUNCTION_INDEX, v8::internal::Isolate::bootstrapper(), v8::internal::CacheInitialJSArrayMaps(), v8::internal::Heap::ClearInstanceofCache(), v8::internal::Map::Copy(), DCHECK, v8::internal::FixedArray::get(), v8::internal::HeapObject::GetIsolate(), v8::internal::handle(), v8::internal::Isolate::heap(), initial_map(), v8::internal::Map::instance_type(), v8::internal::JS_OBJECT_TYPE, v8::internal::DependentCode::kInitialMapChangedGroup, v8::internal::Context::native_context(), and SetInitialMap().
Referenced by SetPrototype().
|
static |
Definition at line 9439 of file objects.cc.
References v8::internal::Isolate::context(), v8::internal::Map::Copy(), DCHECK, v8::internal::handle(), v8::internal::JSObject::MigrateToMap(), v8::internal::Context::native_context(), and SetInstancePrototype().
Referenced by v8::internal::GetFunctionPrototype(), and v8::internal::SetFunctionPrototype().
|
inline |
Definition at line 5943 of file objects-inl.h.
References v8::internal::Map::function_with_prototype(), and v8::internal::HeapObject::map().
void v8::internal::JSFunction::StartInobjectSlackTracking | ( | ) |
Definition at line 9923 of file objects.cc.
References DCHECK, v8::internal::Map::done_inobject_slack_tracking(), v8::internal::HeapObject::GetIsolate(), has_initial_map(), initial_map(), IsInobjectSlackTrackingInProgress(), kGenerousAllocationCount, v8::internal::HeapObject::map(), v8::internal::Isolate::serializer_enabled(), v8::internal::Map::set_construction_count(), v8::internal::Map::set_done_inobject_slack_tracking(), and v8::internal::Map::unused_property_fields().
|
static |
Definition at line 7394 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractClosureReferences(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 7392 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractClosureReferences(), v8::internal::Debug::FloodBoundFunctionWithOneShot(), v8::Function::GetBoundFunction(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 7393 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractClosureReferences(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 7376 of file objects.h.
Referenced by v8::internal::LCodeGen::CallKnownFunction(), code(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateJSFunction(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForCodeEntryPointer(), v8::internal::StaticNewSpaceVisitor< StaticVisitor >::INLINE(), JSFunctionIterateBody(), v8::internal::MarkCompactCollector::MigrateObject(), v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), set_code(), set_code_no_write_barrier(), v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionStrongCode(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionWeakCode().
|
static |
Definition at line 7381 of file objects.h.
Referenced by v8::internal::LCodeGen::CallKnownFunction(), context(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForFunctionContextPointer(), and set_context().
|
static |
|
static |
Definition at line 7261 of file objects.h.
Referenced by StartInobjectSlackTracking().
|
static |
Definition at line 7389 of file objects.h.
Referenced by NativeContextFromLiterals(), v8::internal::LiteralFixer::PatchLiterals(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 7382 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), and v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForLiteralsPointer().
|
static |
Definition at line 7388 of file objects.h.
Referenced by v8::internal::ParserBase< Traits >::BASE_EMBEDDED::materialized_literal_count(), v8::internal::LiteralFixer::PatchLiterals(), and v8::internal::LiteralFixer::ClearValuesVisitor::visit().
|
static |
Definition at line 7384 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForNextFunctionLinkPointer(), v8::internal::CodeFlusher::GetNextCandidateSlot(), and v8::internal::WeakListVisitor< JSFunction >::WeakNextOffset().
|
static |
Definition at line 7383 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::StaticNewSpaceVisitor< StaticVisitor >::INLINE(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::PromoteObject(), v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionStrongCode(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionWeakCode().
|
static |
Definition at line 7263 of file objects.h.
Referenced by CompleteInobjectSlackTracking(), IsInobjectSlackTrackingInProgress(), and v8::internal::Map::RawCopy().
|
static |
Definition at line 7377 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForPrototypeOrInitialMap(), v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionStrongCode(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionWeakCode().
|
static |
Definition at line 7379 of file objects.h.
Referenced by v8::internal::LCodeGen::EmitClassOfTest(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), and v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForSharedFunctionInfoPointer().
|
static |
Definition at line 7385 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::EvacuateJSFunction(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::JSObject::GetHeaderSize(), v8::internal::ScavengingVisitor< marks_handling, logging_and_profiling_mode >::Initialize(), and v8::internal::StaticNewSpaceVisitor< StaticVisitor >::INLINE().