Lines Matching full:object
15 #include "src/objects/object-macros.h"
65 // 2) Smi - This is the hash code of the object.
68 // the hash code of the object in its length field. This is a fast
78 DECL_ACCESSORS(raw_properties_or_hash, Object)
79 DECL_RELAXED_ACCESSORS(raw_properties_or_hash, Object)
83 // Deletes an existing named property in a normalized object.
84 static void DeleteNormalizedProperty(Handle<JSReceiver> object,
88 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> ToPrimitive(
93 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> OrdinaryToPrimitive(
107 Isolate* isolate, Handle<JSReceiver> object, Handle<Object> proto);
114 Isolate* isolate, Handle<JSReceiver> target, Handle<Object> source,
116 const base::ScopedVector<Handle<Object>>* excluded_properties = nullptr,
123 Isolate* isolate, Handle<JSReceiver> object, Handle<Name> name);
125 Isolate* isolate, Handle<JSReceiver> object, uint32_t index);
128 Isolate* isolate, Handle<JSReceiver> object, Handle<Name> name);
130 Isolate* isolate, Handle<JSReceiver> object, uint32_t index);
132 V8_WARN_UNUSED_RESULT static inline MaybeHandle<Object> GetProperty(
134 V8_WARN_UNUSED_RESULT static inline MaybeHandle<Object> GetProperty(
136 V8_WARN_UNUSED_RESULT static inline MaybeHandle<Object> GetElement(
141 DeletePropertyOrElement(Handle<JSReceiver> object, Handle<Name> name,
144 Handle<JSReceiver> object, Handle<Name> name,
149 Handle<JSReceiver> object, uint32_t index,
152 V8_WARN_UNUSED_RESULT static Object DefineProperty(Isolate* isolate,
153 Handle<Object> object,
154 Handle<Object> name,
155 Handle<Object> attributes);
156 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> DefineProperties(
157 Isolate* isolate, Handle<Object> object, Handle<Object> properties);
161 Isolate* isolate, Handle<JSReceiver> object, Handle<Object> key,
164 // Check if private name property can be store on the object. It will return
169 // Check if a data property can be created on the object. It will fail with
172 Isolate* isolate, LookupIterator* it, Handle<Object> value,
177 Isolate* isolate, Handle<JSReceiver> object, Handle<Name> key,
178 Handle<Object> value, Maybe<ShouldThrow> should_throw);
180 LookupIterator* it, Handle<Object> value,
187 LookupIterator* it, Handle<Object> value,
192 Isolate* isolate, Handle<JSObject> object, Handle<Object> key,
195 Isolate* isolate, Handle<JSObject> object, const PropertyKey& key,
214 GetOwnPropertyDescriptor(Isolate* isolate, Handle<JSReceiver> object,
215 Handle<Object> key, PropertyDescriptor* desc);
224 Handle<JSReceiver> object, IntegrityLevel lvl, ShouldThrow should_throw);
229 Handle<JSReceiver> object, IntegrityLevel lvl);
233 Handle<JSReceiver> object, ShouldThrow should_throw);
236 Handle<JSReceiver> object);
242 // object).
247 // that was used to instantiate the object), if any. If a FunctionTemplate is
248 // used to instantiate the object, the class_name of the FunctionTemplate is
256 GetPropertyAttributes(Handle<JSReceiver> object, Handle<Name> name);
258 GetOwnPropertyAttributes(Handle<JSReceiver> object, Handle<Name> name);
260 GetOwnPropertyAttributes(Handle<JSReceiver> object, uint32_t index);
263 GetElementAttributes(Handle<JSReceiver> object, uint32_t index);
265 GetOwnElementAttributes(Handle<JSReceiver> object, uint32_t index);
270 // Set the object's prototype (only JSReceiver and null are allowed values).
272 Isolate* isolate, Handle<JSReceiver> object, Handle<Object> value,
275 inline static Handle<Object> GetDataProperty(Isolate* isolate,
276 Handle<JSReceiver> object,
278 V8_EXPORT_PRIVATE static Handle<Object> GetDataProperty(
282 // Retrieves a permanent object identity hash code. The undefined value might
284 V8_EXPORT_PRIVATE Object GetIdentityHash();
286 // Retrieves a permanent object identity hash code. May create and store a
297 Handle<JSReceiver> object);
300 Handle<JSReceiver> object, PropertyFilter filter,
304 Handle<JSReceiver> object, PropertyFilter filter,
317 DECL_ACCESSORS(properties_or_hash, Object)
335 // Notice: This is NOT 19.1.2.2 Object.create ( O, Properties )
337 Isolate* isolate, Handle<Object> prototype);
353 static inline void SetMapAndElements(Handle<JSObject> object, Handle<Map> map,
358 // Returns true if an object has elements of PACKED_SMI_ELEMENTS or
361 // Returns true if an object has elements of PACKED_ELEMENTS or
364 // Returns true if an object has elements of PACKED_SMI_ELEMENTS,
367 // Returns true if an object has any of the "fast" elements kinds.
369 // Returns true if an object has any of the PACKED elements kinds.
371 // Returns true if an object has elements of PACKED_DOUBLE_ELEMENTS or
374 // Returns true if an object has elements of HOLEY_SMI_ELEMENTS,
381 // Returns true if an object has elements of PACKED_ELEMENTS
412 static void EnsureWritableFastElements(Handle<JSObject> object);
416 Handle<Object> value);
423 V8_WARN_UNUSED_RESULT static MaybeHandle<Object>
425 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes,
430 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes,
436 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> V8_EXPORT_PRIVATE
437 SetOwnPropertyIgnoreAttributes(Handle<JSObject> object, Handle<Name> name,
438 Handle<Object> value,
441 V8_WARN_UNUSED_RESULT static MaybeHandle<Object>
442 SetOwnElementIgnoreAttributes(Handle<JSObject> object, size_t index,
443 Handle<Object> value,
448 V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static MaybeHandle<Object>
449 DefinePropertyOrElementIgnoreAttributes(Handle<JSObject> object,
451 Handle<Object> value,
457 LookupIterator* it, Handle<Object> value,
461 Handle<JSObject> object,
463 Handle<Object> value,
467 static void AddProperty(Isolate* isolate, Handle<JSObject> object,
468 const char* name, Handle<Object> value,
472 Handle<JSObject> receiver, uint32_t index, Handle<Object> value,
477 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map);
479 // Migrates the given object to a map whose field representations are the
483 // Migrates the given object only if the target map is already available,
487 // Sets the property value in a normalized object given (key, value, details).
489 static void SetNormalizedProperty(Handle<JSObject> object, Handle<Name> name,
490 Handle<Object> value,
492 static void SetNormalizedElement(Handle<JSObject> object, uint32_t index,
493 Handle<Object> value,
496 static void OptimizeAsPrototype(Handle<JSObject> object,
498 static void ReoptimizeIfPrototype(Handle<JSObject> object);
499 static void MakePrototypesFast(Handle<Object> receiver,
509 // Updates prototype chain tracking information when an object changes its
515 static inline bool PrototypeHasNoElements(Isolate* isolate, JSObject object);
531 // Defines an AccessorPair property on the given object.
532 V8_EXPORT_PRIVATE static MaybeHandle<Object> DefineAccessor(
533 Handle<JSObject> object, Handle<Name> name, Handle<Object> getter,
534 Handle<Object> setter, PropertyAttributes attributes);
535 static MaybeHandle<Object> DefineAccessor(LookupIterator* it,
536 Handle<Object> getter,
537 Handle<Object> setter,
540 // Defines an AccessorInfo property on the given object.
541 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> SetAccessor(
542 Handle<JSObject> object, Handle<Name> name, Handle<AccessorInfo> info,
548 V8_WARN_UNUSED_RESULT static MaybeHandle<Object> GetPropertyWithInterceptor(
551 static void ValidateElements(JSObject object);
553 // Makes sure that this object can contain HeapObject as elements.
556 // Makes sure that this object can contain the specified elements.
559 static inline void EnsureCanContainElements(Handle<JSObject> object,
562 static inline void EnsureCanContainElements(Handle<JSObject> object,
566 static void EnsureCanContainElements(Handle<JSObject> object,
586 static bool UpdateAllocationSite(Handle<JSObject> object,
596 Isolate* isolate, Handle<JSObject> object, Handle<Name> name);
598 Isolate* isolate, Handle<JSObject> object, uint32_t index);
600 Isolate* isolate, Handle<JSObject> object, Handle<Name> name);
619 inline Object GetEmbedderField(int index);
620 inline void SetEmbedderField(int index, Object value);
623 // Returns true if this object is an Api object which can, if unmodified, be
627 // Returns a new map with all transitions dropped from the object's current
629 static Handle<Map> GetElementsTransitionMap(Handle<JSObject> object,
631 V8_EXPORT_PRIVATE static void TransitionElementsKind(Handle<JSObject> object,
634 // Always use this to migrate an object to a new map.
638 Isolate* isolate, Handle<JSObject> object, Handle<Map> new_map,
643 static void ForceSetPrototype(Isolate* isolate, Handle<JSObject> object,
646 // Convert the object to use the canonical dictionary
647 // representation. If the object is expected to have additional properties
651 Isolate* isolate, Handle<JSObject> object, PropertyNormalizationMode mode,
657 Handle<JSObject> object);
662 V8_EXPORT_PRIVATE static void MigrateSlowToFast(Handle<JSObject> object,
666 // Access property in dictionary mode object at the given dictionary index.
667 static Handle<Object> DictionaryPropertyAt(Isolate* isolate,
668 Handle<JSObject> object,
671 // bounds of the object or if the dictionary is pending allocation. Use this
673 static base::Optional<Object> DictionaryPropertyAt(Handle<JSObject> object,
677 // Access fast-case object properties at index.
678 static Handle<Object> FastPropertyAt(Isolate* isolate,
679 Handle<JSObject> object,
682 static Handle<Object> FastPropertyAt(Isolate* isolate,
683 Handle<JSObject> object,
686 inline Object RawFastPropertyAt(FieldIndex index) const;
687 inline Object RawFastPropertyAt(PtrComprCageBase cage_base,
689 inline Object RawFastPropertyAt(FieldIndex index, SeqCstAccessTag tag) const;
690 inline Object RawFastPropertyAt(PtrComprCageBase cage_base, FieldIndex index,
695 // provides against invalid reads from another thread during object
697 inline base::Optional<Object> RawInobjectPropertyAt(
700 inline void FastPropertyAtPut(FieldIndex index, Object value,
702 inline void FastPropertyAtPut(FieldIndex index, Object value,
705 FieldIndex index, Object value,
707 inline void RawFastInobjectPropertyAtPut(FieldIndex index, Object value,
710 Object value);
712 inline Object RawFastPropertyAtSwap(FieldIndex index, Object value,
714 inline Object RawFastPropertyAtSwap(PtrComprCageBase cage_base,
715 FieldIndex index, Object value,
718 // Access to in object properties.
720 inline Object InObjectPropertyAt(int index);
721 inline Object InObjectPropertyAtPut(
722 int index, Object value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER);
724 // Set the object's prototype (only JSReceiver and null are allowed values).
726 Isolate* isolate, Handle<JSObject> object, Handle<Object> value,
729 // Makes the object prototype immutable
731 static void SetImmutableProto(Handle<JSObject> object);
734 // the caller to initialize object header. Fill the pre-allocated fields with
740 MapWord filler_map, Object undefined_value);
742 // Check whether this object references another object
743 bool ReferencesObject(Object obj);
746 Handle<JSObject> object, IntegrityLevel lvl);
749 Handle<JSObject> object, ShouldThrow should_throw);
751 static bool IsExtensible(Handle<JSObject> object);
753 static MaybeHandle<Object> ReadFromOptionsBag(Handle<Object> options,
769 static void PrintElementsTransition(FILE* file, Handle<JSObject> object,
800 // If a GC was caused while constructing this object, the elements pointer
801 // may point to a one pointer filler map. The object won't be rooted, but
807 Object SlowReverseLookup(Object value);
829 // This constant applies only to the initial map of "global.Object" and
839 // to the same object requires fewer allocations and copies.
874 friend class Object; variable
876 // Used from Object::GetProperty().
877 V8_WARN_UNUSED_RESULT static MaybeHandle<Object>
881 LookupIterator* it, Handle<Object> value,
888 Object object);
894 Handle<JSObject> object, ShouldThrow should_throw);
954 // map. This initial map adds in-object properties for "get", "set",
972 // Indices of in-object properties.
983 // This initial map adds in-object properties for "value", "writable",
1001 // Indices of in-object properties.
1012 // This initial map adds in-object properties for "done" and "value",
1016 DECL_ACCESSORS(value, Object)
1018 DECL_ACCESSORS(done, Object)
1031 // Indices of in-object properties.
1063 // JavaScript global object.
1069 static void InvalidatePropertyCell(Handle<JSGlobalObject> object,
1074 // May be called by the concurrent GC when the global object is not
1076 DECL_GETTER(native_context_unchecked, Object)
1111 // {raw_date} is a tagged Object pointer.
1113 // The return value is a tagged Object pointer.
1117 static Handle<Object> SetValue(Handle<JSDate> date, double v);
1119 void SetValue(Object value, bool is_value_nan);
1155 Object DoGetField(Isolate* isolate, FieldIndex index);
1156 Object GetUTCField(FieldIndex index, double value, DateCache* date_cache);
1165 // the API. The messages are formatted in JavaScript so this object is
1166 // a real JavaScript object. The information used for formatting the
1177 // Initializes the source positions in the object if possible. Does nothing if
1245 // The [Async-from-Sync Iterator] object
1247 // An object which wraps an ordinary Iterator and converts it to behave
1257 // properties from the %AsyncFromSyncIteratorPrototype% intrinsic object.
1278 #include "src/objects/object-macros-undef.h"