v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Data Structures | |
class | BodyDescriptor |
Public Types | |
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 } |
enum | ExtensibilityCheck { PERFORM_EXTENSIBILITY_CHECK, OMIT_EXTENSIBILITY_CHECK } |
Static Public Attributes | |
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 |
Friends | |
class | DictionaryElementsAccessor |
Additional Inherited Members | |
Protected Member Functions inherited from JSReceiver | |
Smi * | GenerateIdentityHash () |
Protected Member Functions inherited from HeapObject | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
enum LocalElementType |
MaybeObject * AddConstantFunctionProperty | ( | String * | name, |
JSFunction * | function, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 1604 of file objects.cc.
References Map::CopyAddDescriptor(), Isolate::empty_object_map(), v8::internal::flag, HeapObject::GetHeap(), v8::internal::INSERT_TRANSITION, Heap::isolate(), HeapObject::map(), NONE, v8::internal::OMIT_TRANSITION, and HeapObject::set_map().
Referenced by JSObject::AddProperty().
MaybeObject * AddFastProperty | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StoreFromKeyed | store_mode = MAY_BE_STORE_FROM_KEYED |
||
) |
Definition at line 1537 of file objects.cc.
References JSObject::AddSlowProperty(), ASSERT, v8::internal::CLEAR_INOBJECT_PROPERTIES, Map::CopyAddDescriptor(), Isolate::empty_object_map(), JSObject::FastPropertyAtPut(), v8::internal::flag, HeapObject::GetHeap(), Isolate::heap(), Heap::hidden_symbol(), v8::internal::INSERT_TRANSITION, Heap::isolate(), JSObject::kFieldsAdded, DescriptorArray::kNotFound, HeapObject::map(), Map::NextFreePropertyIndex(), JSObject::NormalizeProperties(), v8::internal::NULL, v8::internal::OMIT_TRANSITION, v8::internal::Search(), HeapObject::set_map(), Map::set_unused_property_fields(), JSObject::TooManyFastProperties(), Isolate::unicode_cache(), and Map::unused_property_fields().
Referenced by JSObject::AddProperty().
Definition at line 2797 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
Referenced by JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::TryTransitionToField().
|
inline |
Definition at line 1417 of file objects-inl.h.
References ASSERT, FixedArray::CopySize(), HeapObject::map(), Map::NumberOfOwnDescriptors(), HeapObject::set_map(), and Map::unused_property_fields().
MaybeObject * AddFastPropertyUsingMap | ( | Map * | new_map, |
String * | name, | ||
Object * | value, | ||
int | field_index | ||
) |
Definition at line 1503 of file objects.cc.
References FixedArray::CopySize(), JSObject::FastPropertyAtPut(), HeapObject::map(), HeapObject::set_map(), and Map::unused_property_fields().
MaybeObject * AddProperty | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
JSReceiver::StoreFromKeyed | store_mode = MAY_BE_STORE_FROM_KEYED , |
||
ExtensibilityCheck | extensibility_check = PERFORM_EXTENSIBILITY_CHECK |
||
) |
Definition at line 1671 of file objects.cc.
References JSObject::AddConstantFunctionProperty(), JSObject::AddFastProperty(), JSObject::AddSlowProperty(), ASSERT, JSFunction::cast(), v8::internal::CLEAR_INOBJECT_PROPERTIES, FACTORY, HeapObject::GetHeap(), v8::internal::HandleVector(), JSObject::HasFastProperties(), Map::is_extensible(), Heap::isolate(), DescriptorArray::kMaxNumberOfDescriptors, v8::internal::kNonStrictMode, HeapObject::map(), JSObject::NormalizeProperties(), Map::NumberOfOwnDescriptors(), JSReceiver::PERFORM_EXTENSIBILITY_CHECK, and Isolate::Throw().
Referenced by JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::SetPropertyPostInterceptor().
MaybeObject * AddSlowProperty | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 1634 of file objects.cc.
References Dictionary< Shape, Key >::Add(), Heap::AllocateJSGlobalPropertyCell(), ASSERT, StringDictionary::cast(), JSGlobalPropertyCell::cast(), StringDictionary::FindEntry(), HeapObject::GetHeap(), JSObject::HasFastProperties(), HashTable< StringDictionaryShape, String * >::kNotFound, Dictionary< Shape, Key >::NextEnumerationIndex(), v8::internal::NORMAL, JSObject::property_dictionary(), Dictionary< Shape, Key >::SetEntry(), Dictionary< Shape, Key >::SetNextEnumerationIndex(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::AddFastProperty(), and JSObject::AddProperty().
|
inline |
Definition at line 5069 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), and JSReceiver::GetPrototype().
Referenced by Heap::AllocateArgumentsObject(), Heap::AllocateFunctionPrototype(), Heap::AllocateJSObjectFromMap(), v8::internal::BUILTIN(), Array::CloneElementAt(), Call::ComputeTarget(), JSReceiver::constructor_name(), Heap::CopyJSObject(), Heap::CreateApiObjects(), JSObject::DefineAccessor(), JSReceiver::DeleteElement(), JSObject::DeleteHiddenProperty(), JSReceiver::DeleteProperty(), Isolate::DoThrow(), Object::FindInstanceInPrototypeChain(), JSProxy::Fix(), IC::GetCodeCacheForObject(), IC::GetCodeCacheHolder(), Object::GetElementWithReceiver(), StackTrace::GetFrame(), JSObject::GetHiddenProperty(), JSReceiver::GetIdentityHash(), v8::internal::GetKeysInFixedArrayFor(), JSReceiver::GetLocalPropertyAttribute(), Object::GetProperty(), JSObject::GetPropertyAttributePostInterceptor(), JSReceiver::GetPropertyAttributeWithReceiver(), JSObject::GetPropertyWithCallback(), TypeFeedbackOracle::GetPrototypeForPrimitiveCheck(), JSReceiver::HasElement(), JSObject::HasElementWithInterceptor(), JSObject::HasElementWithReceiver(), JSObject::HasLocalElement(), Object::HasSpecificClassOf(), HeapObject::HeapObjectShortPrint(), BASE_EMBEDDED< Visitor >::holder(), Execution::InstantiateObject(), Object::IsInstanceOf(), Value::IsNativeError(), JSReceiver::IsSimpleEnum(), JSReceiver::LocalLookup(), JSObject::LocalLookupRealNamedProperty(), Context::Lookup(), JSReceiver::Lookup(), JSObject::LookupAccessor(), JSObject::LookupCallbackProperty(), JSObject::LookupRealNamedPropertyInPrototypes(), Deoptimizer::MaterializeHeapObjects(), MarkCompactMarkingVisitor::ObjectStatsVisitBase(), JSObject::PreventExtensions(), StringStream::PrintMentionedObjectCache(), StringStream::PrintPrototype(), JSObject::ReferencesObject(), Heap::ReinitializeJSReceiver(), v8::internal::RUNTIME_FUNCTION(), JSReceiver::SetElement(), JSObject::SetElement(), JSObject::SetElementWithCallbackSetterInPrototypes(), JSObject::SetHiddenProperty(), JSFunction::SetInstancePrototype(), JSObject::SetLocalPropertyIgnoreAttributes(), JSReceiver::SetProperty(), JSObject::SetPropertyForResult(), JSObject::SetPropertyWithCallback(), JSReceiver::SetPrototype(), TryCatch::StackTrace(), Logger::SuspectReadEvent(), V8HeapExplorer::TagGlobalObjects(), TEST(), CallICBase::UpdateCaches(), and Deoptimizer::VisitAllOptimizedFunctions().
MaybeObject * ConvertDescriptorToField | ( | String * | name, |
Object * | new_value, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 1808 of file objects.cc.
References v8::internal::CLEAR_INOBJECT_PROPERTIES, Map::CopyInsertDescriptor(), JSObject::FastPropertyAtPut(), JSObject::kFieldsAdded, HeapObject::map(), JSReceiver::MAY_BE_STORE_FROM_KEYED, Map::NextFreePropertyIndex(), JSObject::NormalizeProperties(), v8::internal::NULL, v8::internal::OMIT_TRANSITION, JSObject::ReplaceSlowProperty(), HeapObject::set_map(), Map::set_unused_property_fields(), JSObject::TooManyFastProperties(), and Map::unused_property_fields().
Referenced by JSObject::ConvertTransitionToMapTransition(), JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::SetPropertyForResult().
MaybeObject * ConvertTransitionToMapTransition | ( | int | transition_index, |
String * | name, | ||
Object * | new_value, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 1758 of file objects.cc.
References ASSERT, Map::cast(), JSObject::ConvertDescriptorToField(), Map::GetBackPointer(), HeapObject::GetIsolate(), Map::GetTransition(), JSObject::HasFastProperties(), Map::kInvalidEnumCache, HeapObject::map(), Map::owns_descriptors(), Map::set_owns_descriptors(), Map::SetBackPointer(), Map::SetEnumLength(), and Map::SetTransition().
Referenced by JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::SetPropertyForResult().
DECL_ACCESSORS | ( | properties | , |
FixedArray | |||
) |
|
static |
Definition at line 4576 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
Referenced by JSObject::DefineAccessor(), and v8::internal::RUNTIME_FUNCTION().
MaybeObject * DefineAccessor | ( | String * | name, |
Object * | getter, | ||
Object * | setter, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 4586 of file objects.cc.
References v8::ACCESS_SET, String::AsArrayIndex(), ASSERT, JSObject::cast(), JSObject::DefineAccessor(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), Isolate::heap(), Isolate::MayNamedAccess(), Isolate::ReportFailedAccessCheck(), and String::TryFlatten().
MaybeObject * DefineAccessor | ( | AccessorInfo * | info | ) |
Definition at line 4731 of file objects.cc.
References v8::ACCESS_SET, String::AsArrayIndex(), ASSERT, JSObject::cast(), String::cast(), JSObject::DefineAccessor(), v8::internal::DICTIONARY_ELEMENTS, v8::internal::EXTERNAL_BYTE_ELEMENTS, v8::internal::EXTERNAL_DOUBLE_ELEMENTS, v8::internal::EXTERNAL_FLOAT_ELEMENTS, v8::internal::EXTERNAL_INT_ELEMENTS, v8::internal::EXTERNAL_PIXEL_ELEMENTS, v8::internal::EXTERNAL_SHORT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_BYTE_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_INT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_SHORT_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, JSObject::GetElementsKind(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), Isolate::heap(), JSReceiver::LocalLookup(), Isolate::MayNamedAccess(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, AccessorInfo::property_attributes(), Isolate::ReportFailedAccessCheck(), String::TryFlatten(), and UNIMPLEMENTED.
MaybeObject * DefineFastAccessor | ( | String * | name, |
AccessorComponent | component, | ||
Object * | accessor, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 4651 of file objects.cc.
References Heap::AllocateAccessorPair(), ASSERT, AccessorPair::cast(), AccessorPair::Copy(), Map::CopyInsertDescriptor(), AccessorPair::get(), HeapObject::GetHeap(), HeapObject::GetIsolate(), v8::internal::INSERT_TRANSITION, Map::LastAdded(), JSReceiver::LocalLookup(), Map::LookupTransition(), HeapObject::map(), v8::internal::NULL, Map::NumberOfOwnDescriptors(), AccessorPair::set(), and HeapObject::set_map().
Definition at line 3875 of file objects.cc.
References CALL_HEAP_FUNCTION, JSReceiver::NORMAL_DELETION, and v8::internal::Object.
Referenced by Object::Delete(), JSReceiver::DeleteElement(), JSObject::DeleteElement(), and JSObject::DeleteProperty().
MaybeObject * DeleteElement | ( | uint32_t | index, |
DeleteMode | mode | ||
) |
Definition at line 3883 of file objects.cc.
References v8::ACCESS_DELETE, ASSERT, JSGlobalObject::cast(), ElementsAccessor::Delete(), JSObject::DeleteElement(), Isolate::factory(), JSReceiver::FORCE_DELETION, JSObject::GetElementsAccessor(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), v8::internal::HandleVector(), JSObject::HasIndexedInterceptor(), Isolate::heap(), Object::IsStringObjectWithCharacterAt(), Isolate::MayIndexedAccess(), Factory::NewNumberFromUint(), Factory::NewTypeError(), Isolate::ReportFailedAccessCheck(), JSReceiver::STRICT_DELETION, and Isolate::Throw().
void DeleteHiddenProperty | ( | String * | key | ) |
Definition at line 3651 of file objects.cc.
References ASSERT, JSObject::cast(), ObjectHashTable::cast(), JSObject::DeleteHiddenProperty(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), ObjectHashTable::Put(), and v8::internal::USE().
Referenced by JSObject::DeleteHiddenProperty().
MaybeObject * DeleteNormalizedProperty | ( | String * | name, |
DeleteMode | mode | ||
) |
Definition at line 518 of file objects.cc.
References ASSERT, JSGlobalPropertyCell::cast(), Map::CopyDropDescriptors(), Dictionary< Shape, Key >::DeleteProperty(), Dictionary< Shape, Key >::DetailsAt(), Dictionary< Shape, Key >::DetailsAtPut(), StringDictionary::FindEntry(), JSReceiver::FORCE_DELETION, HeapObject::GetHeap(), JSObject::HasFastProperties(), Map::is_dictionary_map(), HashTable< StringDictionaryShape, String * >::kNotFound, HeapObject::map(), v8::internal::NULL, JSObject::property_dictionary(), HeapObject::set_map(), Dictionary< Shape, Key >::Shrink(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::DeleteProperty().
Definition at line 3926 of file objects.cc.
References CALL_HEAP_FUNCTION, JSReceiver::NORMAL_DELETION, and v8::internal::Object.
Referenced by Object::Delete(), JSReceiver::DeleteProperty(), and JSObject::DeleteProperty().
MaybeObject * DeleteProperty | ( | String * | name, |
DeleteMode | mode | ||
) |
Definition at line 3934 of file objects.cc.
References v8::ACCESS_DELETE, String::AsArrayIndex(), ASSERT, JSGlobalObject::cast(), v8::internal::CLEAR_INOBJECT_PROPERTIES, JSObject::DeleteElement(), JSObject::DeleteNormalizedProperty(), JSObject::DeleteProperty(), Isolate::factory(), JSReceiver::FORCE_DELETION, HeapObject::GetIsolate(), JSReceiver::GetPrototype(), v8::internal::HandleVector(), Isolate::heap(), JSReceiver::LocalLookup(), Isolate::MayNamedAccess(), Factory::NewTypeError(), JSObject::NormalizeProperties(), Isolate::ReportFailedAccessCheck(), JSReceiver::STRICT_DELETION, and Isolate::Throw().
|
inline |
Definition at line 4905 of file objects-inl.h.
References ASSERT, and SeededNumberDictionary::cast().
Referenced by JSObject::GetLocalElementKeys(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), JSObject::LookupAccessor(), JSObject::PrepareElementsForSort(), JSObject::PrepareSlowElementsForSort(), and JSObject::SetElementWithCallbackSetterInPrototypes().
|
inline |
Definition at line 1268 of file objects-inl.h.
References v8::internal::ALLOW_CONVERTED_DOUBLE_ELEMENTS, v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS, ASSERT, Map::elements_kind(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, HeapObject::GetHeap(), v8::internal::GetHoleyElementsKind(), v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastSmiElementsKind(), HeapObject::map(), and JSObject::TransitionElementsKind().
Referenced by v8::internal::BUILTIN(), JSObject::EnsureCanContainElements(), and JSArray::SetContent().
|
inline |
Definition at line 1308 of file objects-inl.h.
References v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS, ASSERT, FixedArray::cast(), FixedDoubleArray::cast(), v8::internal::DONT_ALLOW_DOUBLE_ELEMENTS, JSObject::EnsureCanContainElements(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, JSObject::GetElementsKind(), FixedArray::GetFirstElementAddress(), HeapObject::GetHeap(), FixedDoubleArray::is_the_hole(), HeapObject::map(), and JSObject::TransitionElementsKind().
MaybeObject * EnsureCanContainElements | ( | Arguments * | arguments, |
uint32_t | first_arg, | ||
uint32_t | arg_count, | ||
EnsureElementsMode | mode | ||
) |
Definition at line 9098 of file objects.cc.
References JSObject::EnsureCanContainElements().
|
inline |
Definition at line 1254 of file objects-inl.h.
References Map::elements_kind(), v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastObjectElementsKind(), HeapObject::map(), JSObject::TransitionElementsKind(), and JSObject::ValidateElements().
|
inline |
Definition at line 4881 of file objects-inl.h.
References ASSERT, FixedArray::cast(), Heap::CopyFixedArrayWithMap(), Isolate::counters(), HeapObject::GetIsolate(), Isolate::heap(), and HeapObject::map().
Referenced by FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), JSObject::PrepareElementsForSort(), JSObject::SetFastElement(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
|
inline |
Definition at line 1566 of file objects-inl.h.
References ASSERT, Map::inobject_properties(), Map::instance_size(), v8::internal::kPointerSize, HeapObject::map(), and READ_FIELD.
Referenced by JSObject::LocalLookupRealNamedProperty(), JSObject::NormalizeProperties(), StringStream::PrintUsingMap(), v8::internal::RUNTIME_FUNCTION(), and JSObject::SlowReverseLookup().
Definition at line 1579 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), Map::inobject_properties(), Map::instance_size(), v8::internal::kPointerSize, HeapObject::map(), WRITE_BARRIER, and WRITE_FIELD.
Referenced by JSObject::AddFastProperty(), JSObject::AddFastPropertyUsingMap(), JSObject::ConvertDescriptorToField(), and JSObject::SetLocalPropertyIgnoreAttributes().
|
inline |
Definition at line 4799 of file objects-inl.h.
References ElementsAccessor::ForKind().
Referenced by FixedArray::AddKeysFromJSArray(), JSObject::DeleteElement(), Object::GetElementWithReceiver(), JSObject::HasElementWithReceiver(), JSArray::SetElementsLength(), and JSObject::ValidateElements().
|
inline |
Definition at line 4776 of file objects-inl.h.
References ASSERT, v8::internal::DICTIONARY_ELEMENTS, Map::elements_kind(), HeapObject::GetHeap(), v8::internal::IsFastDoubleElementsKind(), v8::internal::IsFastSmiOrObjectElementsKind(), FixedArrayBase::length(), HeapObject::map(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, and READ_FIELD.
Referenced by v8::internal::BUILTIN(), ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >::CopyElements(), Heap::CopyJSObject(), JSObject::DefineAccessor(), DictionaryElementsAccessor::DeleteCommon(), JSObject::EnsureCanContainElements(), JSObject::GetLocalElementKeys(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), JSObject::ReferencesObject(), JSArray::SetContent(), JSObject::SetFastDoubleElement(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElement(), JSObject::SetFastElementsCapacityAndLength(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
|
static |
Definition at line 2329 of file objects.cc.
References CALL_HEAP_FUNCTION.
Referenced by JSObject::NormalizeElements(), JSObject::PrepareElementsForSort(), JSObject::ResetElements(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElement(), JSObject::SetFastElementsCapacityAndLength(), and JSObject::TransitionElementsKind().
|
inline |
Definition at line 1338 of file objects-inl.h.
References FixedArray::cast(), Map::cast(), Isolate::context(), Map::elements_kind(), FixedArray::get(), JSObject::GetElementsTransitionMapSlow(), HeapObject::map(), and Context::native_context().
MaybeObject * GetElementsTransitionMapSlow | ( | ElementsKind | elements_kind | ) |
Definition at line 2338 of file objects.cc.
References Map::CopyAsElementsKind(), Map::elements_kind(), Isolate::empty_object_map(), HeapObject::GetIsolate(), Map::is_shared(), v8::internal::IsFastElementsKind(), v8::internal::IsMoreGeneralElementsKindTransition(), v8::internal::IsTransitionableFastElementsKind(), HeapObject::map(), and v8::internal::OMIT_TRANSITION.
Referenced by JSObject::GetElementsTransitionMap().
MaybeObject * GetElementWithInterceptor | ( | Object * | receiver, |
uint32_t | index | ||
) |
Definition at line 10179 of file objects.cc.
References ElementsAccessor::Get(), Object::GetElementWithReceiver(), JSObject::GetIndexedInterceptor(), HeapObject::GetIsolate(), LOG, and RETURN_IF_SCHEDULED_EXCEPTION.
Referenced by Object::GetElementWithReceiver(), and v8::internal::RUNTIME_FUNCTION().
int GetEnumElementKeys | ( | FixedArray * | storage | ) |
Definition at line 10922 of file objects.cc.
References DONT_ENUM, and JSObject::GetLocalElementKeys().
|
inline |
Definition at line 1480 of file objects-inl.h.
References Map::instance_type(), v8::internal::JS_ARRAY_TYPE, v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_CONTEXT_EXTENSION_OBJECT_TYPE, v8::internal::JS_DATE_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, v8::internal::JS_GLOBAL_PROXY_TYPE, v8::internal::JS_MESSAGE_OBJECT_TYPE, v8::internal::JS_MODULE_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::JS_REGEXP_TYPE, v8::internal::JS_VALUE_TYPE, v8::internal::JS_WEAK_MAP_TYPE, JSObject::kHeaderSize, JSModule::kSize, JSFunction::kSize, JSGlobalProxy::kSize, JSGlobalObject::kSize, JSBuiltinsObject::kSize, JSValue::kSize, JSDate::kSize, JSMessageObject::kSize, JSRegExp::kSize, JSWeakMap::kSize, JSArray::kSize, HeapObject::map(), and UNREACHABLE.
Referenced by JSObject::GetInternalField(), JSObject::GetInternalFieldCount(), JSObject::GetInternalFieldOffset(), and JSObject::SetInternalField().
Definition at line 3568 of file objects.cc.
References ASSERT, JSObject::cast(), ObjectHashTable::cast(), HeapObject::GetHeap(), JSObject::GetHiddenProperty(), JSReceiver::GetPrototype(), and ObjectHashTable::Lookup().
Referenced by Isolate::DoThrow(), JSObject::GetHiddenProperty(), and JSObject::GetIdentityHash().
Definition at line 3531 of file objects.cc.
References v8::internal::ALLOW_CREATION, CALL_AND_RETRY, Smi::cast(), and Smi::value().
Referenced by JSProxy::Fix(), JSReceiver::GetIdentityHash(), and Object::GetIdentityHash().
MaybeObject * GetIdentityHash | ( | CreationFlag | flag | ) |
Definition at line 3539 of file objects.cc.
References Smi::FromInt(), JSReceiver::GenerateIdentityHash(), HeapObject::GetHeap(), JSObject::GetHiddenProperty(), v8::internal::OMIT_CREATION, and JSObject::SetHiddenProperty().
InterceptorInfo * GetIndexedInterceptor | ( | ) |
Definition at line 10440 of file objects.cc.
References ASSERT, JSFunction::cast(), InterceptorInfo::cast(), and HeapObject::map().
Referenced by JSObject::GetElementWithInterceptor(), and JSObject::HasElementWithInterceptor().
|
inline |
Definition at line 1594 of file objects-inl.h.
References ASSERT, Map::inobject_properties(), Map::instance_size(), v8::internal::kPointerSize, and HeapObject::map().
|
inline |
Definition at line 1533 of file objects-inl.h.
References ASSERT, JSObject::GetHeaderSize(), JSObject::GetInternalFieldCount(), v8::internal::kPointerSize, and READ_FIELD.
|
inline |
Definition at line 1518 of file objects-inl.h.
References ASSERT, JSObject::GetHeaderSize(), Map::inobject_properties(), v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, HeapObject::map(), and HeapObject::Size().
Referenced by JSObject::GetInternalField(), JSObject::GetInternalFieldOffset(), and JSObject::SetInternalField().
|
inline |
Definition at line 1527 of file objects-inl.h.
References ASSERT, JSObject::GetHeaderSize(), JSObject::GetInternalFieldCount(), and v8::internal::kPointerSize.
int GetLocalElementKeys | ( | FixedArray * | storage, |
PropertyAttributes | filter | ||
) |
Definition at line 10786 of file objects.cc.
References ASSERT, Smi::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), SeededNumberDictionary::cast(), ExternalPixelArray::cast(), JSValue::cast(), String::cast(), JSArray::cast(), Dictionary< Shape, Key >::CopyKeysTo(), v8::internal::DICTIONARY_ELEMENTS, JSObject::element_dictionary(), v8::internal::EXTERNAL_BYTE_ELEMENTS, v8::internal::EXTERNAL_DOUBLE_ELEMENTS, v8::internal::EXTERNAL_FLOAT_ELEMENTS, v8::internal::EXTERNAL_INT_ELEMENTS, v8::internal::EXTERNAL_PIXEL_ELEMENTS, v8::internal::EXTERNAL_SHORT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_BYTE_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_INT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_SHORT_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, Smi::FromInt(), FixedArray::get(), JSObject::GetElementsKind(), FixedArrayBase::length(), String::length(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, v8::internal::NULL, Dictionary< Shape, Key >::NumberOfElementsFilterAttributes(), FixedArray::set(), Dictionary< SeededNumberDictionaryShape, uint32_t >::SORTED, FixedArray::SortPairs(), Dictionary< SeededNumberDictionaryShape, uint32_t >::UNSORTED, and Smi::value().
Referenced by JSObject::GetEnumElementKeys(), and JSObject::NumberOfLocalElements().
void GetLocalPropertyNames | ( | FixedArray * | storage, |
int | index | ||
) |
Definition at line 10750 of file objects.cc.
References ASSERT, Dictionary< Shape, Key >::CopyKeysTo(), DescriptorArray::GetKey(), JSObject::HasFastProperties(), FixedArrayBase::length(), HeapObject::map(), JSObject::NumberOfLocalProperties(), Map::NumberOfOwnDescriptors(), JSObject::property_dictionary(), FixedArray::set(), and Dictionary< StringDictionaryShape, String * >::UNSORTED.
MaybeObject * GetLocalPropertyPostInterceptor | ( | Object * | receiver, |
String * | name, | ||
PropertyAttributes * | attributes | ||
) |
Definition at line 10468 of file objects.cc.
References HeapObject::GetHeap(), HeapObject::GetIsolate(), Object::GetProperty(), and JSObject::LocalLookupRealNamedProperty().
InterceptorInfo * GetNamedInterceptor | ( | ) |
Definition at line 10430 of file objects.cc.
References ASSERT, JSFunction::cast(), InterceptorInfo::cast(), and HeapObject::map().
Referenced by JSObject::GetPropertyAttributeWithInterceptor(), JSObject::GetPropertyWithInterceptor(), and JSObject::SetPropertyWithInterceptor().
Object * GetNormalizedProperty | ( | LookupResult * | result | ) |
Definition at line 434 of file objects.cc.
References ASSERT, JSGlobalPropertyCell::cast(), JSObject::HasFastProperties(), JSObject::property_dictionary(), and Dictionary< Shape, Key >::ValueAt().
PropertyAttributes GetPropertyAttributePostInterceptor | ( | JSObject * | receiver, |
String * | name, | ||
bool | continue_search | ||
) |
Definition at line 3056 of file objects.cc.
References ABSENT, JSObject::cast(), HeapObject::GetIsolate(), JSReceiver::GetPropertyAttributeWithReceiver(), JSReceiver::GetPrototype(), and JSObject::LocalLookupRealNamedProperty().
Referenced by JSObject::HasHiddenProperties().
PropertyAttributes GetPropertyAttributeWithFailedAccessCheck | ( | Object * | receiver, |
LookupResult * | result, | ||
String * | name, | ||
bool | continue_search | ||
) |
Definition at line 371 of file objects.cc.
References ABSENT, v8::ACCESS_HAS, AccessorInfo::all_can_read(), v8::internal::CALLBACKS, AccessorInfo::cast(), v8::internal::CONSTANT_FUNCTION, v8::internal::FIELD, HeapObject::GetIsolate(), v8::internal::HANDLER, v8::internal::INTERCEPTOR, v8::internal::NONEXISTENT, v8::internal::NORMAL, Isolate::ReportFailedAccessCheck(), v8::internal::TRANSITION, and UNREACHABLE.
PropertyAttributes GetPropertyAttributeWithInterceptor | ( | JSObject * | receiver, |
String * | name, | ||
bool | continue_search | ||
) |
Definition at line 3077 of file objects.cc.
References ASSERT, DONT_ENUM, HeapObject::GetIsolate(), JSObject::GetNamedInterceptor(), Value::Int32Value(), Handle< T >::IsEmpty(), Value::IsInt32(), LOG, and Utils::ToLocal().
MaybeObject * GetPropertyPostInterceptor | ( | Object * | receiver, |
String * | name, | ||
PropertyAttributes * | attributes | ||
) |
Definition at line 10450 of file objects.cc.
References ABSENT, HeapObject::GetHeap(), HeapObject::GetIsolate(), Object::GetProperty(), Object::GetPropertyWithReceiver(), JSReceiver::GetPrototype(), and JSObject::LocalLookupRealNamedProperty().
Definition at line 165 of file objects.cc.
References ARRAY_SIZE, JSReceiver::cast(), JSObject::cast(), Foreign::cast(), AccessorInfo::cast(), AccessorPair::cast(), AccessorDescriptor::data, Isolate::factory(), Foreign::foreign_address(), HeapObject::GetIsolate(), Object::GetPropertyWithDefinedGetter(), AccessorDescriptor::getter, v8::internal::HandleVector(), Isolate::heap(), AccessorInfo::IsCompatibleReceiver(), LOG, Factory::NewTypeError(), v8::internal::NULL, RETURN_IF_SCHEDULED_EXCEPTION, Isolate::Throw(), Utils::ToLocal(), UNREACHABLE, and Object::VerifyApiCallResultType().
MaybeObject * GetPropertyWithFailedAccessCheck | ( | Object * | receiver, |
LookupResult * | result, | ||
String * | name, | ||
PropertyAttributes * | attributes | ||
) |
Definition at line 311 of file objects.cc.
References ABSENT, v8::ACCESS_GET, AccessorInfo::all_can_read(), v8::internal::CALLBACKS, AccessorInfo::cast(), v8::internal::CONSTANT_FUNCTION, v8::internal::FIELD, HeapObject::GetHeap(), HeapObject::GetIsolate(), v8::internal::INTERCEPTOR, Heap::isolate(), v8::internal::NORMAL, Isolate::ReportFailedAccessCheck(), and UNREACHABLE.
Referenced by Object::GetProperty().
MaybeObject * GetPropertyWithInterceptor | ( | Object * | receiver, |
String * | name, | ||
PropertyAttributes * | attributes | ||
) |
Definition at line 10482 of file objects.cc.
References HeapObject::GetIsolate(), JSObject::GetNamedInterceptor(), LOG, NONE, RETURN_IF_SCHEDULED_EXCEPTION, and Utils::ToLocal().
bool HasDictionaryArgumentsElements | ( | ) |
Definition at line 9480 of file objects.cc.
References FixedArray::cast(), FixedArray::get(), HeapObject::GetHeap(), and HeapObject::map().
Referenced by JSObject::NormalizeElements(), JSObject::PreventExtensions(), JSObject::SetDictionaryElement(), and JSObject::ShouldConvertToFastElements().
|
inline |
Definition at line 4829 of file objects-inl.h.
References v8::internal::DICTIONARY_ELEMENTS.
Referenced by JSObject::LookupAccessor(), JSObject::NormalizeElements(), JSObject::PrepareElementsForSort(), JSObject::PrepareSlowElementsForSort(), JSObject::PreventExtensions(), JSObject::SetDictionaryElement(), JSObject::SetElementWithCallbackSetterInPrototypes(), JSObject::SetFastDoubleElement(), JSObject::ShouldConvertToFastDoubleElements(), and JSObject::ShouldConvertToFastElements().
bool HasElementWithInterceptor | ( | JSReceiver * | receiver, |
uint32_t | index | ||
) |
Definition at line 9111 of file objects.cc.
References ABSENT, ASSERT, JSObject::cast(), JSProxy::cast(), JSProxy::GetElementAttributeWithHandler(), JSObject::GetIndexedInterceptor(), HeapObject::GetIsolate(), JSObject::HasElementWithReceiver(), Handle< T >::IsEmpty(), Value::IsInt32(), and LOG.
Referenced by JSObject::HasElementWithReceiver(), and JSObject::HasLocalElement().
bool HasElementWithReceiver | ( | JSReceiver * | receiver, |
uint32_t | index | ||
) |
Definition at line 9277 of file objects.cc.
References ABSENT, v8::ACCESS_HAS, JSObject::cast(), JSProxy::cast(), JSProxy::GetElementAttributeWithHandler(), JSObject::GetElementsAccessor(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), ElementsAccessor::HasElement(), JSObject::HasElementWithInterceptor(), JSObject::HasElementWithReceiver(), JSObject::HasIndexedInterceptor(), Heap::isolate(), Object::IsStringObjectWithCharacterAt(), Isolate::MayIndexedAccess(), and Isolate::ReportFailedAccessCheck().
Referenced by JSReceiver::GetPropertyAttributeWithReceiver(), JSReceiver::HasElement(), JSObject::HasElementWithInterceptor(), and JSObject::HasElementWithReceiver().
|
inline |
Definition at line 4839 of file objects-inl.h.
References ASSERT, and v8::internal::NULL.
Referenced by JSArray::AllowsSetElementsLength(), JSObject::NormalizeElements(), JSObject::PrepareElementsForSort(), JSObject::PreventExtensions(), JSObject::SetElement(), JSObject::SetFastDoubleElementsCapacityAndLength(), and JSObject::SetFastElementsCapacityAndLength().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool HasFastArgumentsElements | ( | ) |
Definition at line 9468 of file objects.cc.
References FixedArray::cast(), FixedArray::get(), HeapObject::GetHeap(), and HeapObject::map().
Referenced by FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), JSObject::NormalizeElements(), and JSObject::SetFastElement().
|
inline |
Definition at line 4819 of file objects-inl.h.
References v8::internal::IsFastDoubleElementsKind().
Referenced by Heap::CopyJSObject(), FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), JSObject::NormalizeElements(), JSObject::PrepareElementsForSort(), and JSObject::SetFastDoubleElement().
|
inline |
Definition at line 4824 of file objects-inl.h.
References v8::internal::IsFastHoleyElementsKind().
Referenced by JSObject::SetFastElement().
|
inline |
Definition at line 4804 of file objects-inl.h.
References v8::internal::IsFastObjectElementsKind().
Referenced by JSObject::IsDirty(), JSObject::NumberOfEnumElements(), and StringStream::PrintMentionedObjectCache().
|
inline |
Definition at line 1649 of file objects-inl.h.
References ASSERT, and HeapObject::map().
Referenced by JSObject::AddProperty(), JSObject::AddSlowProperty(), Heap::AllocateGlobalObject(), JSObject::ConvertTransitionToMapTransition(), JSObject::DeleteNormalizedProperty(), GlobalObject::EnsurePropertyCell(), IC::GetCodeCacheForObject(), JSObject::GetLocalPropertyNames(), JSObject::GetNormalizedProperty(), GlobalObject::GetPropertyCell(), JSObject::IsDirty(), JSObject::LocalLookupRealNamedProperty(), JSObject::NormalizeProperties(), JSObject::NumberOfLocalProperties(), JSObject::OptimizeAsPrototype(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetNormalizedProperty(), JSObject::SlowReverseLookup(), StringDictionary::TransformPropertiesToFastFor(), JSObject::TransformToFastProperties(), and JSObject::UpdateMapCodeCache().
|
inline |
Definition at line 4809 of file objects-inl.h.
References v8::internal::IsFastSmiElementsKind().
Referenced by JSObject::SetFastElement(), FastSmiOrObjectElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >::SetFastElementsCapacityAndLength(), and JSObject::SetFastElementsCapacityAndLength().
|
inline |
Definition at line 4814 of file objects-inl.h.
References v8::internal::IsFastSmiOrObjectElementsKind().
Referenced by v8::internal::BUILTIN(), FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), JSArray::EnsureSize(), JSObject::NormalizeElements(), JSObject::PrepareElementsForSort(), JSObject::SetFastElement(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
bool HasHiddenProperties | ( | ) |
Definition at line 3678 of file objects.cc.
References ABSENT, HeapObject::GetHeap(), and JSObject::GetPropertyAttributePostInterceptor().
|
inline |
Definition at line 4876 of file objects-inl.h.
References Map::has_indexed_interceptor(), and HeapObject::map().
Referenced by JSObject::DeleteElement(), Object::GetElementWithReceiver(), JSObject::HasElementWithReceiver(), JSObject::HasLocalElement(), JSReceiver::IsSimpleEnum(), and JSObject::SetElement().
JSObject::LocalElementType HasLocalElement | ( | uint32_t | index | ) |
Definition at line 9168 of file objects.cc.
References v8::ACCESS_HAS, ASSERT, Smi::cast(), JSObject::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), SeededNumberDictionary::cast(), ExternalPixelArray::cast(), JSArray::cast(), JSObject::DICTIONARY_ELEMENT, v8::internal::DICTIONARY_ELEMENTS, JSObject::element_dictionary(), v8::internal::EXTERNAL_BYTE_ELEMENTS, v8::internal::EXTERNAL_DOUBLE_ELEMENTS, v8::internal::EXTERNAL_FLOAT_ELEMENTS, v8::internal::EXTERNAL_INT_ELEMENTS, v8::internal::EXTERNAL_PIXEL_ELEMENTS, v8::internal::EXTERNAL_SHORT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_BYTE_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_INT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_SHORT_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, JSObject::FAST_ELEMENT, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, HashTable< Shape, Key >::FindEntry(), FixedArray::get(), JSObject::GetElementsKind(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), JSObject::HasElementWithInterceptor(), JSObject::HasIndexedInterceptor(), JSObject::HasLocalElement(), JSObject::INTERCEPTED_ELEMENT, FixedDoubleArray::is_the_hole(), Heap::isolate(), Object::IsStringObjectWithCharacterAt(), HashTable< SeededNumberDictionaryShape, uint32_t >::kNotFound, FixedArrayBase::length(), Isolate::MayIndexedAccess(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, v8::internal::NULL, Isolate::ReportFailedAccessCheck(), JSObject::STRING_CHARACTER_ELEMENT, JSObject::UNDEFINED_ELEMENT, and Smi::value().
Referenced by JSReceiver::GetLocalPropertyAttribute(), and JSObject::HasLocalElement().
|
inline |
Definition at line 4871 of file objects-inl.h.
References Map::has_named_interceptor(), and HeapObject::map().
Referenced by JSReceiver::IsSimpleEnum(), and JSReceiver::LocalLookup().
|
inline |
Definition at line 4834 of file objects-inl.h.
References v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS.
bool HasRealElementProperty | ( | uint32_t | index | ) |
Definition at line 10540 of file objects.cc.
References v8::ACCESS_HAS, Smi::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), ExternalPixelArray::cast(), JSArray::cast(), v8::internal::DICTIONARY_ELEMENTS, JSObject::element_dictionary(), v8::internal::EXTERNAL_BYTE_ELEMENTS, v8::internal::EXTERNAL_DOUBLE_ELEMENTS, v8::internal::EXTERNAL_FLOAT_ELEMENTS, v8::internal::EXTERNAL_INT_ELEMENTS, v8::internal::EXTERNAL_PIXEL_ELEMENTS, v8::internal::EXTERNAL_SHORT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_BYTE_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_INT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_SHORT_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, HashTable< Shape, Key >::FindEntry(), FixedArray::get(), JSObject::GetElementsKind(), HeapObject::GetHeap(), FixedDoubleArray::is_the_hole(), Heap::isolate(), Object::IsStringObjectWithCharacterAt(), HashTable< SeededNumberDictionaryShape, uint32_t >::kNotFound, FixedArrayBase::length(), Isolate::MayIndexedAccess(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, Isolate::ReportFailedAccessCheck(), UNIMPLEMENTED, UNREACHABLE, and Smi::value().
bool HasRealNamedCallbackProperty | ( | String * | key | ) |
Definition at line 10604 of file objects.cc.
References v8::ACCESS_HAS, HeapObject::GetIsolate(), JSObject::LocalLookupRealNamedProperty(), Isolate::MayNamedAccess(), and Isolate::ReportFailedAccessCheck().
bool HasRealNamedProperty | ( | String * | key | ) |
Definition at line 10524 of file objects.cc.
References v8::ACCESS_HAS, HeapObject::GetIsolate(), JSObject::LocalLookupRealNamedProperty(), Isolate::MayNamedAccess(), and Isolate::ReportFailedAccessCheck().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 1394 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), JSObject::kElementsOffset, HeapObject::map(), and WRITE_FIELD.
Referenced by Heap::AllocateJSMessageObject(), JSObject::ResetElements(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
Definition at line 1625 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), Heap::InNewSpace(), Map::instance_size(), JSObject::kHeaderSize, v8::internal::kPointerSize, Map::pre_allocated_property_fields(), and WRITE_FIELD.
|
inline |
Definition at line 1602 of file objects-inl.h.
References ASSERT, Map::inobject_properties(), Map::instance_size(), v8::internal::kPointerSize, HeapObject::map(), and READ_FIELD.
Referenced by v8::internal::BUILTIN().
|
inline |
Definition at line 1611 of file objects-inl.h.
References ASSERT, CONDITIONAL_WRITE_BARRIER, HeapObject::GetHeap(), Map::inobject_properties(), Map::instance_size(), v8::internal::kPointerSize, HeapObject::map(), and WRITE_FIELD.
Referenced by Heap::AllocateArgumentsObject(), v8::internal::RUNTIME_FUNCTION(), and StringDictionary::TransformPropertiesToFastFor().
bool IsDirty | ( | ) |
Definition at line 560 of file objects.cc.
References JSFunction::cast(), JSObject::HasFastObjectElements(), JSObject::HasFastProperties(), JSFunction::initial_map(), and HeapObject::map().
void JSObjectShortPrint | ( | StringStream * | accumulator | ) |
Definition at line 1087 of file objects.cc.
References StringStream::Add(), HeapObject::cast(), JSFunction::cast(), JSValue::cast(), String::cast(), JSArray::cast(), JSReceiver::constructor_name(), Heap::Contains(), HeapObject::GetHeap(), v8::internal::JS_ARRAY_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_REGEXP_TYPE, v8::internal::JS_WEAK_MAP_TYPE, String::length(), HeapObject::map(), Object::Number(), StringStream::Put(), and Object::ShortPrint().
Referenced by HeapObject::HeapObjectShortPrint().
|
inline |
Definition at line 1447 of file objects-inl.h.
References Map::LastAdded(), and HeapObject::map().
void LocalLookupRealNamedProperty | ( | String * | name, |
LookupResult * | result | ||
) |
Definition at line 2375 of file objects.cc.
References ASSERT, JSObject::cast(), JSGlobalPropertyCell::cast(), Dictionary< Shape, Key >::DetailsAt(), JSObject::FastPropertyAt(), StringDictionary::FindEntry(), JSReceiver::GetPrototype(), JSObject::HasFastProperties(), HashTable< StringDictionaryShape, String * >::kNotFound, JSObject::LocalLookupRealNamedProperty(), Map::LookupDescriptor(), HeapObject::map(), JSObject::property_dictionary(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::GetLocalPropertyPostInterceptor(), JSObject::GetPropertyAttributePostInterceptor(), JSObject::GetPropertyPostInterceptor(), JSObject::HasRealNamedCallbackProperty(), JSObject::HasRealNamedProperty(), JSReceiver::LocalLookup(), JSObject::LocalLookupRealNamedProperty(), JSObject::LookupCallbackProperty(), JSObject::LookupRealNamedProperty(), JSObject::LookupRealNamedPropertyInPrototypes(), and JSObject::SetPropertyPostInterceptor().
Object * LookupAccessor | ( | String * | name, |
AccessorComponent | component | ||
) |
Definition at line 4813 of file objects.cc.
References v8::ACCESS_HAS, String::AsArrayIndex(), v8::internal::CALLBACKS, JSReceiver::cast(), JSObject::cast(), AccessorPair::cast(), Dictionary< Shape, Key >::DetailsAt(), JSObject::element_dictionary(), HashTable< Shape, Key >::FindEntry(), AccessorPair::GetComponent(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), JSObject::HasDictionaryElements(), Heap::isolate(), HashTable< SeededNumberDictionaryShape, uint32_t >::kNotFound, JSReceiver::LocalLookup(), Isolate::MayNamedAccess(), Isolate::ReportFailedAccessCheck(), and Dictionary< Shape, Key >::ValueAt().
Referenced by v8::internal::RUNTIME_FUNCTION().
void LookupCallbackProperty | ( | String * | name, |
LookupResult * | result | ||
) |
Definition at line 4323 of file objects.cc.
References JSObject::cast(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), and JSObject::LocalLookupRealNamedProperty().
void LookupRealNamedProperty | ( | String * | name, |
LookupResult * | result | ||
) |
Definition at line 2424 of file objects.cc.
References JSObject::LocalLookupRealNamedProperty(), and JSObject::LookupRealNamedPropertyInPrototypes().
Referenced by JSObject::SetPropertyWithFailedAccessCheck().
void LookupRealNamedPropertyInPrototypes | ( | String * | name, |
LookupResult * | result | ||
) |
Definition at line 2432 of file objects.cc.
References ASSERT, JSObject::cast(), JSProxy::cast(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), v8::internal::INTERCEPTOR, and JSObject::LocalLookupRealNamedProperty().
Referenced by JSObject::LookupRealNamedProperty(), and JSObject::SetPropertyWithFailedAccessCheck().
|
inlinestatic |
|
static |
Definition at line 3408 of file objects.cc.
References CALL_HEAP_FUNCTION.
Referenced by FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), and ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >::SetLengthImpl().
MaybeObject * NormalizeElements | ( | ) |
Definition at line 3416 of file objects.cc.
References SeededNumberDictionary::AddNumberEntry(), Dictionary< SeededNumberDictionaryShape, uint32_t >::Allocate(), Heap::AllocateHeapNumber(), ASSERT, Smi::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), SeededNumberDictionary::cast(), Map::cast(), JSArray::cast(), Isolate::counters(), v8::internal::DICTIONARY_ELEMENTS, FixedArray::get(), FixedDoubleArray::get_scalar(), JSObject::GetElementsTransitionMap(), HeapObject::GetHeap(), HeapObject::GetIsolate(), Map::has_fast_smi_or_object_elements(), JSObject::HasDictionaryArgumentsElements(), JSObject::HasDictionaryElements(), JSObject::HasExternalArrayElements(), JSObject::HasFastArgumentsElements(), JSObject::HasFastDoubleElements(), JSObject::HasFastSmiOrObjectElements(), Isolate::heap(), FixedDoubleArray::is_the_hole(), Heap::isolate(), FixedArrayBase::length(), HeapObject::map(), NONE, v8::internal::NORMAL, v8::internal::NULL, Print(), v8::internal::PrintF(), FixedArray::set(), HeapObject::set_map(), v8::internal::TENURED, and Smi::value().
Referenced by JSObject::PreventExtensions(), JSObject::SetElement(), JSObject::SetFastDoubleElement(), and JSObject::SetFastElement().
|
static |
Definition at line 3275 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
Referenced by JSObject::AddFastProperty(), JSObject::AddProperty(), JSObject::ConvertDescriptorToField(), JSObject::DeleteProperty(), and v8::internal::RUNTIME_FUNCTION().
MaybeObject * NormalizeProperties | ( | PropertyNormalizationMode | mode, |
int | expected_additional_properties | ||
) |
Definition at line 3284 of file objects.cc.
References Dictionary< Shape, Key >::Add(), HeapObject::address(), Dictionary< StringDictionaryShape, String * >::Allocate(), ASSERT, v8::internal::CALLBACKS, v8::internal::CONSTANT_FUNCTION, Isolate::context(), Isolate::counters(), Heap::CreateFillerObjectAt(), JSObject::FastPropertyAt(), v8::internal::FIELD, DescriptorArray::GetCallbacksObject(), DescriptorArray::GetConstantFunction(), DescriptorArray::GetDetails(), DescriptorArray::GetFieldIndex(), HeapObject::GetHeap(), DescriptorArray::GetKey(), v8::internal::HANDLER, JSObject::HasFastProperties(), MemoryChunk::IncrementLiveBytesFromMutator(), Map::instance_size(), v8::internal::INTERCEPTOR, Map::is_dictionary_map(), Marking::IsBlack(), Heap::isolate(), HeapObject::map(), Marking::MarkBitFrom(), Context::native_context(), v8::internal::NONEXISTENT, v8::internal::NORMAL, Map::NumberOfOwnDescriptors(), Print(), v8::internal::PrintF(), HeapObject::set_map(), Dictionary< Shape, Key >::SetNextEnumerationIndex(), v8::internal::TRANSITION, and UNREACHABLE.
int NumberOfEnumElements | ( | ) |
Definition at line 10772 of file objects.cc.
References Smi::cast(), FixedArray::cast(), JSArray::cast(), DONT_ENUM, JSObject::HasFastObjectElements(), FixedArrayBase::length(), JSObject::NumberOfLocalElements(), and Smi::value().
Referenced by JSReceiver::IsSimpleEnum().
int NumberOfLocalElements | ( | PropertyAttributes | filter | ) |
Definition at line 10767 of file objects.cc.
References JSObject::GetLocalElementKeys(), and v8::internal::NULL.
Referenced by JSObject::NumberOfEnumElements().
int NumberOfLocalProperties | ( | PropertyAttributes | filter = NONE | ) |
Definition at line 10620 of file objects.cc.
References DONT_ENUM, Map::EnumLength(), JSObject::HasFastProperties(), Map::kInvalidEnumCache, HeapObject::map(), NONE, Map::NumberOfDescribedProperties(), Dictionary< Shape, Key >::NumberOfElementsFilterAttributes(), Map::NumberOfOwnDescriptors(), v8::internal::OWN_DESCRIPTORS, and JSObject::property_dictionary().
Referenced by JSObject::GetLocalPropertyNames().
MaybeObject * OptimizeAsPrototype | ( | ) |
Definition at line 7688 of file objects.cc.
References ASSERT, JSObject::HasFastProperties(), and JSObject::TransformToFastProperties().
Referenced by JSFunction::SetInstancePrototype(), and JSReceiver::SetPrototype().
MaybeObject * PrepareElementsForSort | ( | uint32_t | limit | ) |
Definition at line 11711 of file objects.cc.
References Heap::AllocateFixedArray(), Heap::AllocateHeapNumber(), ASSERT, ASSERT_NE, HeapNumber::cast(), FixedArrayBase::cast(), FixedArray::cast(), FixedDoubleArray::cast(), Map::cast(), Dictionary< Shape, Key >::CopyValuesTo(), JSObject::element_dictionary(), JSObject::EnsureWritableFastElements(), v8::internal::FAST_HOLEY_ELEMENTS, Smi::FromInt(), FixedArray::get(), FixedDoubleArray::get_scalar(), JSObject::GetElementsTransitionMap(), HeapObject::GetHeap(), HeapObject::GetIsolate(), HeapObject::GetWriteBarrierMode(), JSObject::HasDictionaryElements(), JSObject::HasExternalArrayElements(), JSObject::HasFastDoubleElements(), JSObject::HasFastSmiOrObjectElements(), Heap::InNewSpace(), FixedDoubleArray::is_the_hole(), Smi::kMaxValue, FixedArrayBase::length(), HeapObject::map(), SeededNumberDictionary::max_number_key(), v8::internal::NOT_TENURED, v8::internal::NULL, HashTable< Shape, Key >::NumberOfElements(), JSObject::PrepareSlowElementsForSort(), SeededNumberDictionary::requires_slow_elements(), FixedArray::set(), FixedDoubleArray::set(), JSObject::set_map_and_elements(), FixedArray::set_the_hole(), FixedDoubleArray::set_the_hole(), FixedArray::set_undefined(), HeapNumber::set_value(), v8::internal::TENURED, and JSObject::ValidateElements().
MaybeObject * PrepareSlowElementsForSort | ( | uint32_t | limit | ) |
Definition at line 11612 of file objects.cc.
References SeededNumberDictionary::AddNumberEntry(), Dictionary< SeededNumberDictionaryShape, uint32_t >::Allocate(), Heap::AllocateHeapNumber(), ASSERT, ASSERT_NE, v8::internal::CALLBACKS, HashTable< Shape, Key >::Capacity(), Smi::cast(), HeapNumber::cast(), SeededNumberDictionary::cast(), Dictionary< Shape, Key >::DetailsAt(), JSObject::element_dictionary(), Smi::FromInt(), HeapObject::GetHeap(), JSObject::HasDictionaryElements(), HashTable< Shape, Key >::IsKey(), HashTable< Shape, Key >::KeyAt(), v8::internal::kMaxUInt32, Smi::kMaxValue, NONE, v8::internal::NORMAL, v8::internal::NULL, HashTable< Shape, Key >::NumberOfElements(), v8::internal::NumberToUint32(), HeapNumber::set_value(), Smi::value(), HeapNumber::value(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::PrepareElementsForSort().
Definition at line 4138 of file objects.cc.
References CALL_HEAP_FUNCTION, and v8::internal::Object.
Referenced by JSObject::PreventExtensions(), and v8::internal::RUNTIME_FUNCTION().
MaybeObject * PreventExtensions | ( | ) |
Definition at line 4143 of file objects.cc.
References v8::ACCESS_KEYS, ASSERT, JSObject::cast(), Map::Copy(), Isolate::factory(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), v8::internal::HandleVector(), JSObject::HasDictionaryArgumentsElements(), JSObject::HasDictionaryElements(), JSObject::HasExternalArrayElements(), Isolate::heap(), HeapObject::map(), Isolate::MayNamedAccess(), Factory::NewTypeError(), JSObject::NormalizeElements(), v8::internal::NULL, JSObject::PreventExtensions(), Isolate::ReportFailedAccessCheck(), Map::set_is_extensible(), HeapObject::set_map(), SeededNumberDictionary::set_requires_slow_elements(), and Isolate::Throw().
Referenced by Scope::LinkModules().
void PrintElementsTransition | ( | FILE * | file, |
ElementsKind | from_kind, | ||
FixedArrayBase * | from_elements, | ||
ElementsKind | to_kind, | ||
FixedArrayBase * | to_elements | ||
) |
Definition at line 1167 of file objects.cc.
References v8::internal::PrintElementsKind(), v8::internal::PrintF(), JavaScriptFrame::PrintTop(), and Object::ShortPrint().
Referenced by JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElementsCapacityAndLength(), and JSObject::TransitionElementsKind().
|
inline |
Definition at line 4899 of file objects-inl.h.
References ASSERT, and StringDictionary::cast().
Referenced by JSObject::AddSlowProperty(), JSObject::DeleteNormalizedProperty(), BASE_EMBEDDED< Visitor >::DictionaryResult(), GlobalObject::EnsurePropertyCell(), JSObject::GetLocalPropertyNames(), JSObject::GetNormalizedProperty(), GlobalObject::GetPropertyCell(), JSObject::LocalLookupRealNamedProperty(), JSObject::NumberOfLocalProperties(), JSObject::ReplaceSlowProperty(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetNormalizedProperty(), JSObject::SlowReverseLookup(), and JSObject::TransformToFastProperties().
bool ReferencesObject | ( | Object * | obj | ) |
Definition at line 4030 of file objects.cc.
References JSObject::cast(), FixedArray::cast(), JSFunction::cast(), Isolate::context(), v8::internal::DICTIONARY_ELEMENTS, Context::extension(), v8::internal::EXTERNAL_BYTE_ELEMENTS, v8::internal::EXTERNAL_DOUBLE_ELEMENTS, v8::internal::EXTERNAL_FLOAT_ELEMENTS, v8::internal::EXTERNAL_INT_ELEMENTS, v8::internal::EXTERNAL_PIXEL_ELEMENTS, v8::internal::EXTERNAL_SHORT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_BYTE_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_INT_ELEMENTS, v8::internal::EXTERNAL_UNSIGNED_SHORT_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, FixedArray::get(), JSObject::GetElementsKind(), HeapObject::GetHeap(), Context::has_extension(), Context::IsCatchContext(), Heap::isolate(), FixedArrayBase::length(), HeapObject::map(), Context::MIN_CONTEXT_SLOTS, Context::native_context(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, JSObject::ReferencesObject(), and JSObject::SlowReverseLookup().
Referenced by JSObject::ReferencesObject().
MaybeObject * ReplaceSlowProperty | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 1742 of file objects.cc.
References Dictionary< Shape, Key >::DetailsAt(), StringDictionary::FindEntry(), v8::internal::NORMAL, JSObject::property_dictionary(), and JSObject::SetNormalizedProperty().
Referenced by JSObject::ConvertDescriptorToField().
|
inline |
Definition at line 1402 of file objects-inl.h.
References Map::cast(), v8::internal::FastSmiToObjectElementsKind(), JSObject::GetElementsTransitionMap(), v8::internal::GetInitialFastElementsKind(), HeapObject::GetIsolate(), JSObject::initialize_elements(), and HeapObject::set_map().
Referenced by DictionaryElementsAccessor::SetLengthWithoutNormalize().
|
inline |
Definition at line 1360 of file objects-inl.h.
References ASSERT, CONDITIONAL_WRITE_BARRIER, HeapObject::GetHeap(), Object::HasValidElements(), JSObject::kElementsOffset, HeapObject::map(), v8::internal::NULL, HeapObject::set_map(), HeapObject::set_map_no_write_barrier(), v8::internal::SKIP_WRITE_BARRIER, v8::internal::UPDATE_WRITE_BARRIER, and WRITE_FIELD.
Referenced by JSObject::PrepareElementsForSort(), JSObject::SetFastDoubleElementsCapacityAndLength(), and JSObject::SetFastElementsCapacityAndLength().
MaybeObject * SetDictionaryElement | ( | uint32_t | index, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
bool | check_prototype, | ||
SetPropertyMode | set_mode = SET_PROPERTY |
||
) |
Definition at line 9615 of file objects.cc.
References SeededNumberDictionary::AddNumberEntry(), AliasedArgumentsEntry::aliased_context_slot(), ASSERT, v8::internal::CALLBACKS, Context::cast(), FixedArray::cast(), SeededNumberDictionary::cast(), AliasedArgumentsEntry::cast(), JSArray::cast(), CHECK, v8::internal::DEFINE_PROPERTY, Dictionary< Shape, Key >::DetailsAt(), Dictionary< Shape, Key >::DetailsAtPut(), Isolate::factory(), HashTable< Shape, Key >::FindEntry(), FixedArray::get(), HeapObject::GetIsolate(), v8::internal::HandleVector(), JSObject::HasDictionaryArgumentsElements(), JSObject::HasDictionaryElements(), Isolate::heap(), JSArray::JSArrayUpdateLengthFromIndex(), JSObject::kAllowSmiElements, JSObject::kDontAllowSmiElements, JSObject::kForceSmiElements, v8::internal::kNonStrictMode, HashTable< SeededNumberDictionaryShape, uint32_t >::kNotFound, HeapObject::map(), SeededNumberDictionary::max_number_key(), Factory::NewNumberFromUint(), Factory::NewTypeError(), v8::internal::NORMAL, v8::internal::NULL, Factory::NumberToString(), Print(), v8::internal::PrintF(), FixedArray::set(), v8::internal::SET_PROPERTY, JSObject::SetElementWithCallbackSetterInPrototypes(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElementsCapacityAndLength(), JSObject::ShouldConvertToFastDoubleElements(), JSObject::ShouldConvertToFastElements(), Isolate::Throw(), Object::ToArrayIndex(), SeededNumberDictionary::UpdateMaxNumberKey(), JSObject::ValidateElements(), Dictionary< Shape, Key >::ValueAt(), and Dictionary< Shape, Key >::ValueAtPut().
Referenced by JSObject::SetFastElement().
|
static |
Definition at line 9886 of file objects.cc.
References CALL_HEAP_FUNCTION, v8::internal::Object, and Execution::ToNumber().
Referenced by Scope::ResolveVariable(), Object::Set(), JSReceiver::SetElement(), JSObject::SetElement(), JSObject::SetFastDoubleElement(), Runtime::SetObjectProperty(), StoreIC::Store(), KeyedStoreIC::Store(), and THREADED_TEST().
MaybeObject * SetElement | ( | uint32_t | index, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
bool | check_prototype = true , |
||
SetPropertyMode | set_mode = SET_PROPERTY |
||
) |
Definition at line 9907 of file objects.cc.
References v8::ACCESS_SET, ARRAY_SIZE, ASSERT, JSObject::cast(), v8::internal::DEFINE_PROPERTY, DONT_DELETE, DONT_ENUM, Isolate::factory(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), v8::internal::HandleVector(), JSObject::HasExternalArrayElements(), JSObject::HasIndexedInterceptor(), Heap::isolate(), Isolate::MayIndexedAccess(), Factory::NewNumberFromUint(), Factory::NewTypeError(), JSObject::NormalizeElements(), READ_ONLY, Isolate::ReportFailedAccessCheck(), SeededNumberDictionary::set_requires_slow_elements(), JSObject::SetElement(), and Isolate::Throw().
MaybeObject * SetElementWithCallbackSetterInPrototypes | ( | uint32_t | index, |
Object * | value, | ||
bool * | found, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 2022 of file objects.cc.
References v8::internal::CALLBACKS, JSObject::cast(), JSProxy::cast(), Dictionary< Shape, Key >::DetailsAt(), JSObject::element_dictionary(), HashTable< Shape, Key >::FindEntry(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), JSObject::HasDictionaryElements(), HashTable< SeededNumberDictionaryShape, uint32_t >::kNotFound, NONE, JSProxy::SetPropertyViaPrototypesWithHandler(), Heap::Uint32ToString(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::SetDictionaryElement(), JSObject::SetFastDoubleElement(), and JSObject::SetFastElement().
MUST_USE_RESULT MaybeObject * SetFastDoubleElement | ( | uint32_t | index, |
Object * | value, | ||
StrictModeFlag | strict_mode, | ||
bool | check_prototype = true |
||
) |
Definition at line 9756 of file objects.cc.
References ASSERT, Smi::cast(), HeapNumber::cast(), FixedArrayBase::cast(), FixedDoubleArray::cast(), JSArray::cast(), CHECK, Smi::FromInt(), JSObject::GetElementsKind(), v8::internal::GetHoleyElementsKind(), JSObject::HasDictionaryElements(), JSObject::HasFastDoubleElements(), v8::internal::IsFastHoleyElementsKind(), JSObject::kDontAllowSmiElements, JSObject::kMaxGap, FixedArrayBase::length(), HeapObject::map(), JSObject::NewElementsCapacity(), NONE, JSObject::NormalizeElements(), FixedDoubleArray::set(), JSArray::set_length(), JSObject::SetElement(), JSObject::SetElementWithCallbackSetterInPrototypes(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElement(), JSObject::SetFastElementsCapacityAndLength(), JSObject::ShouldConvertToSlowElements(), Object::ToArrayIndex(), JSObject::TransitionElementsKind(), JSObject::ValidateElements(), Smi::value(), and HeapNumber::value().
MaybeObject * SetFastDoubleElementsCapacityAndLength | ( | int | capacity, |
int | length | ||
) |
Definition at line 8855 of file objects.cc.
References Heap::AllocateUninitializedFixedDoubleArray(), ASSERT, FixedArray::cast(), JSArray::cast(), ElementsAccessor::CopyElements(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, ElementsAccessor::ForKind(), Smi::FromInt(), JSObject::GetElementsKind(), JSObject::GetElementsTransitionMap(), HeapObject::GetHeap(), JSObject::HasExternalArrayElements(), v8::internal::IsHoleyElementsKind(), Heap::isolate(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, JSObject::PrintElementsTransition(), FixedArray::set(), JSArray::set_length(), JSObject::set_map_and_elements(), and JSObject::ValidateElements().
Referenced by JSObject::SetDictionaryElement(), JSObject::SetFastDoubleElement(), JSObject::SetFastElement(), FastDoubleElementsAccessor< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >::SetFastElementsCapacityAndLength(), and JSObject::TransitionElementsKind().
MaybeObject * SetFastElement | ( | uint32_t | index, |
Object * | value, | ||
StrictModeFlag | strict_mode, | ||
bool | check_prototype | ||
) |
Definition at line 9495 of file objects.cc.
References ASSERT, FixedArray::cast(), FixedDoubleArray::cast(), JSArray::cast(), CHECK, JSObject::EnsureWritableFastElements(), v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, Smi::FromInt(), FixedArray::get(), JSObject::GetElementsKind(), JSObject::GetElementsTransitionMap(), HeapObject::GetHeap(), v8::internal::GetHoleyElementsKind(), HeapObject::GetIsolate(), JSObject::HasFastArgumentsElements(), JSObject::HasFastHoleyElements(), JSObject::HasFastSmiElements(), JSObject::HasFastSmiOrObjectElements(), v8::internal::IsFastElementsKind(), v8::internal::IsFastHoleyElementsKind(), JSObject::kAllowSmiElements, JSObject::kDontAllowSmiElements, JSObject::kMaxGap, FixedArrayBase::length(), HeapObject::map(), JSObject::NewElementsCapacity(), NONE, JSObject::NormalizeElements(), Object::Number(), FixedArray::set(), FixedDoubleArray::set(), JSArray::set_length(), HeapObject::set_map(), JSObject::SetDictionaryElement(), JSObject::SetElementWithCallbackSetterInPrototypes(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElementsCapacityAndLength(), JSObject::ShouldConvertToSlowElements(), Object::ToArrayIndex(), JSObject::TransitionElementsKind(), and JSObject::ValidateElements().
Referenced by JSObject::SetFastDoubleElement().
MaybeObject * SetFastElementsCapacityAndLength | ( | int | capacity, |
int | length, | ||
SetFastElementsCapacitySmiMode | smi_mode | ||
) |
Definition at line 8789 of file objects.cc.
References Heap::AllocateFixedArrayWithHoles(), ASSERT, FixedArray::cast(), JSArray::cast(), ElementsAccessor::CopyElements(), v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, ElementsAccessor::ForKind(), Smi::FromInt(), JSObject::GetElementsKind(), JSObject::GetElementsTransitionMap(), HeapObject::GetHeap(), HeapObject::GetIsolate(), JSObject::HasExternalArrayElements(), JSObject::HasFastSmiElements(), v8::internal::IsHoleyElementsKind(), JSObject::kAllowSmiElements, JSObject::kForceSmiElements, HeapObject::map(), v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS, JSObject::PrintElementsTransition(), FixedArray::set(), JSArray::set_length(), JSObject::set_map_and_elements(), and JSObject::ValidateElements().
Referenced by JSObject::SetDictionaryElement(), JSObject::SetFastDoubleElement(), JSObject::SetFastElement(), FastSmiOrObjectElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >::SetFastElementsCapacityAndLength(), and JSObject::TransitionElementsKind().
|
static |
Definition at line 3601 of file objects.cc.
References CALL_HEAP_FUNCTION, and v8::internal::Object.
Referenced by Isolate::CaptureAndSetCurrentStackTraceFor(), JSObject::GetIdentityHash(), JSObject::SetHiddenProperty(), Object::SetHiddenValue(), and JSObject::SetIdentityHash().
Definition at line 3610 of file objects.cc.
References ASSERT, JSObject::cast(), HeapObject::GetHeap(), JSReceiver::GetPrototype(), ObjectHashTable::Put(), and JSObject::SetHiddenProperty().
MaybeObject * SetIdentityHash | ( | Smi * | hash, |
CreationFlag | flag | ||
) |
Definition at line 3523 of file objects.cc.
References HeapObject::GetHeap(), and JSObject::SetHiddenProperty().
|
inline |
Definition at line 1542 of file objects-inl.h.
References ASSERT, JSObject::GetHeaderSize(), HeapObject::GetHeap(), JSObject::GetInternalFieldCount(), v8::internal::kPointerSize, WRITE_BARRIER, and WRITE_FIELD.
|
inline |
Definition at line 1553 of file objects-inl.h.
References ASSERT, JSObject::GetHeaderSize(), JSObject::GetInternalFieldCount(), v8::internal::kPointerSize, and WRITE_FIELD.
|
static |
Definition at line 2952 of file objects.cc.
References CALL_HEAP_FUNCTION, and v8::internal::Object.
Referenced by Heap::AllocateFunctionPrototype(), Isolate::CaptureCurrentStackTrace(), Factory::NewFunctionWithPrototype(), v8::internal::RUNTIME_FUNCTION(), and JSObject::SetLocalPropertyIgnoreAttributes().
MaybeObject * SetLocalPropertyIgnoreAttributes | ( | String * | key, |
Object * | value, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 2964 of file objects.cc.
References v8::ACCESS_SET, JSObject::AddFastPropertyUsingMap(), JSObject::AddProperty(), ASSERT, v8::internal::CALLBACKS, JSObject::cast(), v8::internal::CONSTANT_FUNCTION, JSObject::ConvertDescriptorToField(), JSObject::ConvertTransitionToMapTransition(), JSObject::FastPropertyAtPut(), v8::internal::FIELD, DescriptorArray::GetDetails(), DescriptorArray::GetFieldIndex(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), v8::internal::HANDLER, v8::internal::INTERCEPTOR, v8::internal::kNonStrictMode, Map::LastAdded(), JSReceiver::LocalLookup(), Map::LookupTransition(), HeapObject::map(), Isolate::MayNamedAccess(), v8::internal::NONEXISTENT, v8::internal::NORMAL, JSObject::SetLocalPropertyIgnoreAttributes(), JSObject::SetNormalizedProperty(), JSObject::SetPropertyWithFailedAccessCheck(), v8::internal::TRANSITION, and UNREACHABLE.
Definition at line 445 of file objects.cc.
References ASSERT, JSGlobalPropertyCell::cast(), JSObject::HasFastProperties(), JSObject::property_dictionary(), and Dictionary< Shape, Key >::ValueAtPut().
Referenced by JSObject::ReplaceSlowProperty(), and JSObject::SetLocalPropertyIgnoreAttributes().
|
static |
Definition at line 459 of file objects.cc.
References CALL_HEAP_FUNCTION, and v8::internal::Object.
Definition at line 469 of file objects.cc.
References Dictionary< Shape, Key >::Add(), Heap::AllocateJSGlobalPropertyCell(), ASSERT, StringDictionary::cast(), JSGlobalPropertyCell::cast(), Dictionary< Shape, Key >::DetailsAt(), Dictionary< Shape, Key >::DetailsAtPut(), StringDictionary::FindEntry(), HeapObject::GetHeap(), JSObject::HasFastProperties(), HashTable< StringDictionaryShape, String * >::kNotFound, Dictionary< Shape, Key >::NextEnumerationIndex(), JSObject::property_dictionary(), Dictionary< Shape, Key >::SetEntry(), and Dictionary< Shape, Key >::SetNextEnumerationIndex().
|
static |
Definition at line 9874 of file objects.cc.
References ASSERT, CALL_HEAP_FUNCTION, NONE, and v8::internal::Object.
MaybeObject * SetPropertyForResult | ( | LookupResult * | result, |
String * | key, | ||
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
StoreFromKeyed | store_mode | ||
) |
Definition at line 2805 of file objects.cc.
References v8::ACCESS_SET, ARRAY_SIZE, ASSERT, v8::internal::CALLBACKS, JSObject::cast(), String::cast(), v8::internal::CONSTANT_FUNCTION, JSObject::ConvertDescriptorToField(), JSObject::ConvertTransitionToMapTransition(), Isolate::factory(), v8::internal::FIELD, DescriptorArray::GetDetails(), DescriptorArray::GetFieldIndex(), HeapObject::GetHeap(), HeapObject::GetIsolate(), JSReceiver::GetPrototype(), DescriptorArray::GetValue(), v8::internal::HANDLER, v8::internal::HandleVector(), v8::internal::INTERCEPTOR, Heap::isolate(), v8::internal::kStrictMode, Map::LastAdded(), String::length(), Heap::LookupSymbol(), Isolate::MayNamedAccess(), Factory::NewTypeError(), v8::internal::NONEXISTENT, v8::internal::NORMAL, JSObject::SetPropertyForResult(), JSObject::SetPropertyWithFailedAccessCheck(), Isolate::Throw(), v8::internal::TRANSITION, and UNREACHABLE.
Referenced by JSReceiver::SetProperty(), and JSObject::SetPropertyForResult().
MaybeObject * SetPropertyPostInterceptor | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
ExtensibilityCheck | extensibility_check | ||
) |
Definition at line 1716 of file objects.cc.
References JSObject::AddProperty(), HeapObject::GetIsolate(), JSObject::LocalLookupRealNamedProperty(), Map::LookupTransition(), HeapObject::map(), JSReceiver::MAY_BE_STORE_FROM_KEYED, and JSReceiver::SetProperty().
MaybeObject * SetPropertyWithCallback | ( | Object * | structure, |
String * | name, | ||
Object * | value, | ||
JSObject * | holder, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 1918 of file objects.cc.
References ARRAY_SIZE, ASSERT, JSReceiver::cast(), JSObject::cast(), Foreign::cast(), AccessorInfo::cast(), AccessorPair::cast(), AccessorDescriptor::data, Isolate::factory(), Foreign::foreign_address(), HeapObject::GetIsolate(), v8::internal::HandleVector(), AccessorInfo::IsCompatibleReceiver(), v8::internal::kNonStrictMode, LOG, Factory::NewTypeError(), v8::internal::NULL, RETURN_IF_SCHEDULED_EXCEPTION, JSReceiver::SetPropertyWithDefinedSetter(), AccessorDescriptor::setter, Isolate::Throw(), Utils::ToLocal(), and UNREACHABLE.
Referenced by JSObject::SetPropertyWithFailedAccessCheck().
MaybeObject * SetPropertyWithFailedAccessCheck | ( | LookupResult * | result, |
String * | name, | ||
Object * | value, | ||
bool | check_prototype, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 2450 of file objects.cc.
References v8::ACCESS_SET, AccessorInfo::all_can_write(), v8::internal::CALLBACKS, AccessorInfo::cast(), HeapObject::GetIsolate(), v8::internal::INTERCEPTOR, JSObject::LookupRealNamedProperty(), JSObject::LookupRealNamedPropertyInPrototypes(), Isolate::ReportFailedAccessCheck(), and JSObject::SetPropertyWithCallback().
Referenced by JSObject::SetLocalPropertyIgnoreAttributes(), and JSObject::SetPropertyForResult().
MaybeObject * SetPropertyWithInterceptor | ( | String * | name, |
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 1850 of file objects.cc.
References HeapObject::GetIsolate(), JSObject::GetNamedInterceptor(), Isolate::heap(), LOG, JSReceiver::PERFORM_EXTENSIBILITY_CHECK, RETURN_IF_SCHEDULED_EXCEPTION, and Utils::ToLocal().
bool ShouldConvertToFastDoubleElements | ( | bool * | has_smi_only_elements | ) |
Definition at line 10361 of file objects.cc.
References ASSERT, HashTable< Shape, Key >::Capacity(), SeededNumberDictionary::cast(), JSObject::HasDictionaryElements(), HashTable< Shape, Key >::KeyAt(), and Dictionary< Shape, Key >::ValueAt().
Referenced by JSObject::SetDictionaryElement().
bool ShouldConvertToFastElements | ( | ) |
Definition at line 10328 of file objects.cc.
References ASSERT, HashTable< Shape, Key >::Capacity(), FixedArray::cast(), SeededNumberDictionary::cast(), JSArray::cast(), CHECK, FixedArray::get(), HeapObject::GetHeap(), JSObject::HasDictionaryArgumentsElements(), JSObject::HasDictionaryElements(), HashTable< SeededNumberDictionaryShape, uint32_t >::kEntrySize, HeapObject::map(), SeededNumberDictionary::max_number_key(), v8::internal::NULL, SeededNumberDictionary::requires_slow_elements(), and Object::ToArrayIndex().
Referenced by JSObject::SetDictionaryElement().
bool ShouldConvertToSlowElements | ( | int | new_capacity | ) |
Definition at line 10308 of file objects.cc.
References HashTable< SeededNumberDictionaryShape, uint32_t >::ComputeCapacity(), HeapObject::GetHeap(), HashTable< SeededNumberDictionaryShape, uint32_t >::kEntrySize, JSObject::kMaxUncheckedFastElementsLength, JSObject::kMaxUncheckedOldFastElementsLength, and v8::internal::STATIC_ASSERT().
Referenced by JSObject::SetFastDoubleElement(), JSObject::SetFastElement(), and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize().
Definition at line 4867 of file objects.cc.
References v8::internal::CONSTANT_FUNCTION, JSObject::FastPropertyAt(), v8::internal::FIELD, DescriptorArray::GetConstantFunction(), DescriptorArray::GetFieldIndex(), HeapObject::GetHeap(), DescriptorArray::GetKey(), DescriptorArray::GetType(), JSObject::HasFastProperties(), HeapObject::map(), Map::NumberOfOwnDescriptors(), JSObject::property_dictionary(), and Dictionary< Shape, Key >::SlowReverseLookup().
Referenced by StringStream::PrintPrototype(), and JSObject::ReferencesObject().
STATIC_CHECK | ( | kHeaderSize | = =Internals::kJSObjectHeaderSize | ) |
|
inline |
Definition at line 1655 of file objects-inl.h.
References JSReceiver::CERTAINLY_NOT_STORE_FROM_KEYED, Map::inobject_properties(), JSObject::kFastPropertiesSoftLimit, JSObject::kMaxFastProperties, HeapObject::map(), and v8::internal::Max().
Referenced by JSObject::AddFastProperty(), and JSObject::ConvertDescriptorToField().
Definition at line 3392 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
Referenced by JSObject::OptimizeAsPrototype(), v8::internal::RUNTIME_FUNCTION(), and Object::SetAccessor().
MaybeObject * TransformToFastProperties | ( | int | unused_property_fields | ) |
Definition at line 3400 of file objects.cc.
References ASSERT, JSObject::HasFastProperties(), and JSObject::property_dictionary().
|
static |
Definition at line 10072 of file objects.cc.
References CALL_HEAP_FUNCTION, and v8::internal::Object.
Referenced by FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::DeleteCommon(), JSObject::EnsureCanContainElements(), JSObject::EnsureCanContainHeapObjectElements(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetFastDoubleElement(), JSObject::SetFastElement(), FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize(), and v8::internal::TransitionElements().
MaybeObject * TransitionElementsKind | ( | ElementsKind | to_kind | ) |
Definition at line 10080 of file objects.cc.
References ASSERT, FixedArrayBase::cast(), JSArray::cast(), CHECK, Map::elements_kind(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, JSObject::GetElementsTransitionMap(), v8::internal::GetHoleyElementsKind(), HeapObject::GetIsolate(), Isolate::heap(), v8::internal::IsFastDoubleElementsKind(), v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastObjectElementsKind(), v8::internal::IsFastSmiElementsKind(), v8::internal::IsFastSmiOrObjectElementsKind(), JSObject::kDontAllowSmiElements, FixedArrayBase::length(), HeapObject::map(), JSObject::PrintElementsTransition(), HeapObject::set_map(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElementsCapacityAndLength(), v8::internal::TERMINAL_FAST_ELEMENTS_KIND, Object::ToArrayIndex(), UNREACHABLE, and JSObject::ValidateElements().
Definition at line 1432 of file objects-inl.h.
References JSObject::AddFastPropertyUsingMap(), v8::internal::FIELD, TransitionArray::kNotFound, and NONE.
|
static |
Definition at line 3248 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
Definition at line 3257 of file objects.cc.
References ASSERT, Map::cast(), Map::CopyNormalized(), Isolate::counters(), HeapObject::GetIsolate(), JSObject::HasFastProperties(), v8::internal::KEEP_INOBJECT_PROPERTIES, HeapObject::map(), HeapObject::set_map(), v8::internal::UNIQUE_NORMALIZED_MAP, and Map::UpdateCodeCache().
|
inline |
Definition at line 1244 of file objects-inl.h.
References FLAG_enable_slow_asserts, JSObject::GetElementsAccessor(), and ElementsAccessor::Validate().
Referenced by Heap::AllocateJSArrayWithElements(), JSObject::EnsureCanContainHeapObjectElements(), JSObject::PrepareElementsForSort(), JSObject::SetDictionaryElement(), JSObject::SetFastDoubleElement(), JSObject::SetFastDoubleElementsCapacityAndLength(), JSObject::SetFastElement(), JSObject::SetFastElementsCapacityAndLength(), FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >::SetLengthWithoutNormalize(), and JSObject::TransitionElementsKind().
|
friend |
|
static |
Definition at line 2172 of file objects.h.
Referenced by JSObject::initialize_elements(), and JSObject::set_map_and_elements().
|
static |
Definition at line 2162 of file objects.h.
Referenced by JSObject::TooManyFastProperties().
|
static |
Definition at line 2168 of file objects.h.
Referenced by JSObject::AddFastProperty(), and JSObject::ConvertDescriptorToField().
|
static |
Definition at line 2173 of file objects.h.
Referenced by Heap::AllocateArgumentsObject(), Factory::BecomeJSObject(), SharedFunctionInfo::CalculateInObjectProperties(), SharedFunctionInfo::CalculateInstanceSize(), Heap::CopyJSObject(), Factory::CreateApiFunction(), Heap::CreateApiObjects(), JSObject::GetHeaderSize(), JSObject::InitializeBody(), Factory::NewFunction(), Factory::NewFunctionWithPrototype(), SeqAsciiString::SeqAsciiStringReadBlock(), SeqAsciiString::SeqAsciiStringReadBlockIntoBuffer(), SeqTwoByteString::SeqTwoByteStringGetData(), SeqTwoByteString::SeqTwoByteStringReadBlockIntoBuffer(), and TEST().
|
static |
Definition at line 2144 of file objects.h.
Referenced by ArrayConcatVisitor::increase_index_offset(), v8::internal::RUNTIME_FUNCTION(), and ArrayConcatVisitor::visit().
|
static |
Definition at line 2163 of file objects.h.
Referenced by JSObject::TooManyFastProperties().
|
static |
Definition at line 2151 of file objects.h.
Referenced by JSObject::SetFastDoubleElement(), and JSObject::SetFastElement().
|
static |
Definition at line 2164 of file objects.h.
Referenced by SharedFunctionInfo::CalculateInstanceSize(), and Factory::CopyMap().
|
static |
Definition at line 2155 of file objects.h.
Referenced by JSObject::ShouldConvertToSlowElements().
|
static |
Definition at line 2159 of file objects.h.
Referenced by JSObject::ShouldConvertToSlowElements().
|
static |
Definition at line 2171 of file objects.h.
Referenced by JSFunction::JSFunctionIterateBody(), StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionStrongCode(), StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionWeakCode(), StaticMarkingVisitor< StaticVisitor >::VisitJSRegExp(), and IncrementalMarkingMarkingVisitor::VisitJSWeakMap().