![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Data Structures | |
class | DeoptCountBits |
class | ICAgeBits |
class | OptReenableTriesBits |
Public Types | |
enum | CompilerHints { kHasOnlySimpleThisPropertyAssignments, kAllowLazyCompilation, kLiveObjectsMayExist, kCodeAgeShift, kOptimizationDisabled = kCodeAgeShift + kCodeAgeSize, kStrictModeFunction, kExtendedModeFunction, kUsesArguments, kHasDuplicateParameters, kNative, kBoundFunction, kIsAnonymous, kNameShouldPrintAsAnonymous, kIsFunction, kDontOptimize, kDontInline, kCompilerHintsCount } |
typedef FixedBodyDescriptor < kNameOffset, kThisPropertyAssignmentsOffset+kPointerSize, kSize > | BodyDescriptor |
Static Public Member Functions | |
static bool | EnsureCompiled (Handle< SharedFunctionInfo > shared, ClearExceptionFlag flag) |
static bool | CompileLazy (Handle< SharedFunctionInfo > shared, ClearExceptionFlag flag) |
static SharedFunctionInfo * | cast (Object *obj) |
![]() | |
static HeapObject * | FromAddress (Address address) |
static Object ** | RawField (HeapObject *obj, int offset) |
static HeapObject * | cast (Object *obj) |
![]() | |
static Handle< Object > | GetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes) |
static Handle< Object > | GetElement (Handle< Object > object, uint32_t index) |
static Object * | cast (Object *value) |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
enum CompilerHints |
|
inline |
void AttachInitialMap | ( | Map * | map | ) |
Definition at line 7959 of file objects.cc.
References ASSERT_EQ, Map::bit_field2(), Builtins::builtin(), Isolate::builtins(), HeapObject::GetHeap(), Heap::isolate(), Map::kAttachedToSharedFunctionInfo, SharedFunctionInfo::kConstructStubOffset, HeapObject::RawField(), and Map::set_bit_field2().
|
inline |
Definition at line 3967 of file objects-inl.h.
References ASSERT, Smi::cast(), and Smi::value().
int CalculateInObjectProperties | ( | ) |
Definition at line 7698 of file objects.cc.
References SharedFunctionInfo::CalculateInstanceSize(), JSObject::kHeaderSize, and v8::internal::kPointerSize.
int CalculateInstanceSize | ( | ) |
Definition at line 7687 of file objects.cc.
References SharedFunctionInfo::expected_nof_properties(), JSObject::kHeaderSize, JSObject::kMaxInstanceSize, and v8::internal::kPointerSize.
Referenced by SharedFunctionInfo::CalculateInObjectProperties().
bool CanGenerateInlineConstructor | ( | Object * | prototype | ) |
Definition at line 7703 of file objects.cc.
References ASSERT, v8::internal::CALLBACKS, JSObject::cast(), HeapObject::GetHeap(), Object::GetPrototype(), SharedFunctionInfo::GetThisPropertyAssignmentName(), SharedFunctionInfo::has_only_simple_this_property_assignments(), Heap::isolate(), JSObject::LocalLookupRealNamedProperty(), and SharedFunctionInfo::this_property_assignments_count().
|
inlinestatic |
void ClearThisPropertyAssignmentsInfo | ( | ) |
|
inline |
Definition at line 3973 of file objects-inl.h.
References v8::internal::compiler_hints.
|
static |
Definition at line 7458 of file objects.cc.
Referenced by SharedFunctionInfo::EnsureCompiled().
|
inline |
void CompleteInobjectSlackTracking | ( | ) |
Definition at line 8010 of file objects.cc.
References ASSERT, ASSERT_EQ, Isolate::builtins(), Map::cast(), SharedFunctionInfo::expected_nof_properties(), HeapObject::GetHeap(), SharedFunctionInfo::IsInobjectSlackTrackingInProgress(), Heap::isolate(), SharedFunctionInfo::set_expected_nof_properties(), Map::TraverseTransitionTree(), and Map::unused_property_fields().
|
inline |
Definition at line 3787 of file objects-inl.h.
References READ_BYTE_FIELD.
Referenced by SharedFunctionInfo::StartInobjectSlackTracking().
|
inline |
String * DebugName | ( | ) |
Definition at line 7662 of file objects.cc.
References String::cast(), and String::length().
Referenced by Logger::CodeCreateEvent(), CpuProfiler::CodeCreateEvent(), SharedFunctionInfo::DisableOptimization(), and Deoptimizer::GetOutputInfo().
|
inline |
Definition at line 3994 of file objects-inl.h.
Referenced by RuntimeProfiler::OptimizeNow().
void DetachInitialMap | ( | ) |
Definition at line 7935 of file objects.cc.
References ASSERT_EQ, Map::bit_field2(), Isolate::builtins(), HeapObject::GetHeap(), Heap::isolate(), Map::kAttachedToSharedFunctionInfo, SharedFunctionInfo::kConstructStubOffset, HeapObject::RawField(), and Map::set_bit_field2().
void DisableOptimization | ( | ) |
Definition at line 7875 of file objects.cc.
References ASSERT, Code::BUILTIN, SharedFunctionInfo::DebugName(), Code::FUNCTION, v8::internal::PrintF(), Code::set_optimizable(), and ToCString().
|
inline |
Definition at line 3896 of file objects-inl.h.
References ASSERT, and Code::BUILTIN.
void EnableDeoptimizationSupport | ( | Code * | recompiled | ) |
Definition at line 7856 of file objects.cc.
References ASSERT, SharedFunctionInfo::has_deoptimization_support(), and Code::set_has_deoptimization_support().
|
inline |
|
static |
Definition at line 7438 of file objects.cc.
References SharedFunctionInfo::CompileLazy().
|
inline |
void ForbidInlineConstructor | ( | ) |
Definition at line 7739 of file objects.cc.
References SharedFunctionInfo::compiler_hints(), SharedFunctionInfo::kHasOnlySimpleThisPropertyAssignments, BooleanBit::set(), and SharedFunctionInfo::set_compiler_hints().
|
inline |
|
inline |
|
inline |
Definition at line 3956 of file objects-inl.h.
References ASSERT, and FunctionTemplateInfo::cast().
Definition at line 7675 of file objects.cc.
References Script::cast(), String::cast(), SharedFunctionInfo::end_position(), Isolate::factory(), HeapObject::GetIsolate(), SharedFunctionInfo::HasSourceCode(), SharedFunctionInfo::start_position(), and v8::internal::SubString().
int GetThisPropertyAssignmentArgument | ( | int | index | ) |
Definition at line 7786 of file objects.cc.
References ASSERT, Smi::cast(), FixedArray::cast(), FixedArray::get(), SharedFunctionInfo::IsThisPropertyAssignmentArgument(), v8::internal::this_property_assignments, and Smi::value().
Object * GetThisPropertyAssignmentConstant | ( | int | index | ) |
Definition at line 7794 of file objects.cc.
References ASSERT, FixedArray::cast(), FixedArray::get(), SharedFunctionInfo::IsThisPropertyAssignmentArgument(), and v8::internal::this_property_assignments.
String * GetThisPropertyAssignmentName | ( | int | index | ) |
Definition at line 7767 of file objects.cc.
References ASSERT, FixedArray::cast(), String::cast(), FixedArray::get(), v8::internal::this_property_assignments, and SharedFunctionInfo::this_property_assignments_count().
Referenced by SharedFunctionInfo::CanGenerateInlineConstructor().
|
inline |
Definition at line 4022 of file objects-inl.h.
References Code::FUNCTION, Code::has_deoptimization_support(), and Code::kind().
Referenced by SharedFunctionInfo::EnableDeoptimizationSupport().
|
inline |
Referenced by SharedFunctionInfo::CanGenerateInlineConstructor().
|
inline |
Definition at line 3962 of file objects-inl.h.
bool HasSourceCode | ( | ) |
Definition at line 7669 of file objects.cc.
Referenced by SharedFunctionInfo::GetSourceCode(), SharedFunctionInfo::SourceCodePrint(), and StringSharedKey::StringSharedHashHelper().
|
inline |
Definition at line 3984 of file objects-inl.h.
Referenced by IncrementalMarkingMarkingVisitor::VisitSharedFunctionInfo().
|
inline |
Definition at line 4004 of file objects-inl.h.
|
inline |
Definition at line 3860 of file objects-inl.h.
References v8::internal::compiler_hints, and BooleanBit::get().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 3945 of file objects-inl.h.
|
inline |
|
inline |
Definition at line 3951 of file objects-inl.h.
|
inline |
bool IsThisPropertyAssignmentArgument | ( | int | index | ) |
Definition at line 7777 of file objects.cc.
References ASSERT, Smi::cast(), FixedArray::cast(), FixedArray::get(), v8::internal::this_property_assignments, SharedFunctionInfo::this_property_assignments_count(), and Smi::value().
Referenced by SharedFunctionInfo::GetThisPropertyAssignmentArgument(), and SharedFunctionInfo::GetThisPropertyAssignmentConstant().
|
inline |
Definition at line 3833 of file objects-inl.h.
References ASSERT, v8::internal::CLASSIC_MODE, v8::internal::compiler_hints, v8::internal::EXTENDED_MODE, BooleanBit::get(), and v8::internal::STRICT_MODE.
Referenced by CompilationCacheTable::PutEval().
|
inline |
|
inline |
|
inline |
Referenced by SharedFunctionInfo::ResetForNewContext().
|
inline |
Definition at line 4012 of file objects-inl.h.
|
inline |
Definition at line 3827 of file objects-inl.h.
References Code::FUNCTION.
void ResetForNewContext | ( | int | new_ic_age | ) |
Definition at line 7974 of file objects.cc.
References Code::ClearInlineCaches(), Code::FUNCTION, Compiler::kDefaultMaxOptCount, SharedFunctionInfo::opt_count(), SharedFunctionInfo::set_deopt_count(), SharedFunctionInfo::set_ic_age(), SharedFunctionInfo::set_opt_count(), Code::set_optimizable(), and Code::set_profiler_ticks().
Referenced by IncrementalMarkingMarkingVisitor::VisitSharedFunctionInfo().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Definition at line 3978 of file objects-inl.h.
References v8::internal::compiler_hints.
|
inline |
|
inline |
Definition at line 3792 of file objects-inl.h.
References ASSERT, and WRITE_BYTE_FIELD.
Referenced by SharedFunctionInfo::StartInobjectSlackTracking().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Definition at line 3999 of file objects-inl.h.
Referenced by SharedFunctionInfo::ResetForNewContext().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Definition at line 3989 of file objects-inl.h.
Referenced by SharedFunctionInfo::ResetForNewContext().
|
inline |
Definition at line 3844 of file objects-inl.h.
References ASSERT, v8::internal::CLASSIC_MODE, v8::internal::compiler_hints, v8::internal::EXTENDED_MODE, and BooleanBit::set().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo(), and SharedFunctionInfo::ResetForNewContext().
|
inline |
Definition at line 4017 of file objects-inl.h.
|
inline |
Definition at line 3907 of file objects-inl.h.
References v8::internal::start_position_and_type.
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
Referenced by Heap::AllocateSharedFunctionInfo().
|
inline |
void SetThisPropertyAssignmentsInfo | ( | bool | has_only_simple_this_property_assignments, |
FixedArray * | this_property_assignments | ||
) |
Definition at line 7746 of file objects.cc.
References SharedFunctionInfo::compiler_hints(), SharedFunctionInfo::kHasOnlySimpleThisPropertyAssignments, FixedArrayBase::length(), BooleanBit::set(), SharedFunctionInfo::set_compiler_hints(), and SharedFunctionInfo::set_this_property_assignments_count().
void SharedFunctionInfoIterateBody | ( | ObjectVisitor * | v | ) |
Definition at line 8034 of file objects.cc.
References FixedBodyDescriptor< start_offset, end_offset, size >::IterateBody().
Referenced by HeapObject::IterateBody().
void SourceCodePrint | ( | StringStream * | accumulator, |
int | max_length | ||
) |
Definition at line 7804 of file objects.cc.
References StringStream::Add(), Script::cast(), String::cast(), SharedFunctionInfo::end_position(), SharedFunctionInfo::HasSourceCode(), String::length(), String::LooksValid(), StringStream::PrintName(), StringStream::Put(), and SharedFunctionInfo::start_position().
Referenced by Deoptimizer::GetOutputInfo(), and JavaScriptFrame::Print().
int SourceSize | ( | ) |
Definition at line 7682 of file objects.cc.
References SharedFunctionInfo::end_position(), and SharedFunctionInfo::start_position().
Referenced by RuntimeProfiler::OptimizeNow().
|
inline |
Definition at line 3902 of file objects-inl.h.
References v8::internal::start_position_and_type.
Referenced by SharedFunctionInfo::GetSourceCode(), SharedFunctionInfo::SourceCodePrint(), and SharedFunctionInfo::SourceSize().
|
inline |
void StartInobjectSlackTracking | ( | Map * | map | ) |
Definition at line 7907 of file objects.cc.
References ASSERT, ASSERT_EQ, Builtins::builtin(), Isolate::builtins(), SharedFunctionInfo::construction_count(), Serializer::enabled(), HeapObject::GetHeap(), SharedFunctionInfo::IsInobjectSlackTrackingInProgress(), Heap::isolate(), SharedFunctionInfo::kGenerousAllocationCount, SharedFunctionInfo::set_construction_count(), and Map::unused_property_fields().
|
inline |
|
inline |
|
inline |
Definition at line 4028 of file objects-inl.h.
Referenced by RuntimeProfiler::OptimizeNow().
|
inline |
Definition at line 3918 of file objects-inl.h.
References READ_FIELD.
bool VerifyBailoutId | ( | int | id | ) |
Definition at line 7896 of file objects.cc.
References ASSERT, DeoptimizationOutputData::cast(), Deoptimizer::GetOutputInfo(), AstNode::kNoNumber, and v8::internal::USE().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 5608 of file objects.h.
Referenced by SharedFunctionInfo::AttachInitialMap(), and SharedFunctionInfo::DetachInitialMap().
|
static |
|
static |
|
static |
Definition at line 5601 of file objects.h.
Referenced by JSFunction::NeedsArgumentsAdaption().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 5302 of file objects.h.
Referenced by SharedFunctionInfo::StartInobjectSlackTracking().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |