Lines Matching defs:object

29   V8_WARN_UNUSED_RESULT MaybeHandle<Object> Stringify(Handle<Object> object,
40 Handle<Object> object, Handle<Object> key);
44 // Entry point to serialize the object.
51 V8_INLINE Result SerializeElement(Isolate* isolate, Handle<Object> object,
53 return Serialize_<false>(object, false,
57 // Serialize a object property.
60 V8_INLINE Result SerializeProperty(Handle<Object> object, bool deferred_comma,
63 return Serialize_<true>(object, deferred_comma, deferred_key);
67 Result Serialize_(Handle<Object> object, bool comma, Handle<Object> key);
72 Result SerializeSmi(Smi object);
75 V8_INLINE Result SerializeHeapNumber(Handle<HeapNumber> object) {
76 return SerializeDouble(object->value());
79 Result SerializeJSPrimitiveWrapper(Handle<JSPrimitiveWrapper> object,
82 V8_INLINE Result SerializeJSArray(Handle<JSArray> object, Handle<Object> key);
83 V8_INLINE Result SerializeJSObject(Handle<JSObject> object,
86 Result SerializeJSProxy(Handle<JSProxy> object, Handle<Object> key);
87 Result SerializeJSReceiverSlow(Handle<JSReceiver> object);
88 Result SerializeArrayLikeSlow(Handle<JSReceiver> object, uint32_t start,
91 void SerializeString(Handle<String> object);
113 Result StackPush(Handle<Object> object, Handle<Object> key);
142 MaybeHandle<Object> JsonStringify(Isolate* isolate, Handle<Object> object,
145 return stringifier.Stringify(object, replacer, gap);
225 MaybeHandle<Object> JsonStringifier::Stringify(Handle<Object> object,
232 Result result = SerializeObject(object);
330 MaybeHandle<Object> JsonStringifier::ApplyToJsonFunction(Handle<Object> object,
335 // the ToObject() equivalent ("GetRoot") if {object} is a BigInt.
337 LookupIterator it(isolate_, object, tojson_string_,
340 if (!fun->IsCallable()) return object;
345 ASSIGN_RETURN_ON_EXCEPTION(isolate_, object,
346 Execution::Call(isolate_, fun, object, 1, argv),
348 return scope.CloseAndEscape(object);
377 JsonStringifier::Result JsonStringifier::StackPush(Handle<Object> object,
387 Object raw_obj = *object;
401 stack_.emplace_back(key, object);
414 builder_.AppendCStringLiteral("starting at object with constructor ");
418 void AppendNormalLine(Handle<Object> key, Handle<Object> object) {
421 builder_.AppendCStringLiteral(" -> object with constructor ");
422 AppendConstructorName(object);
439 void AppendConstructorName(Handle<Object> object) {
442 builder_.isolate(), Handle<JSReceiver>::cast(object));
519 JsonStringifier::Result JsonStringifier::Serialize_(Handle<Object> object,
528 Handle<Object> initial_value = object;
530 if (!object->IsSmi()) {
532 HeapObject::cast(*object).map(cage_base).instance_type();
536 isolate_, object, ApplyToJsonFunction(object, key), EXCEPTION);
541 isolate_, object, ApplyReplacerFunction(object, key, initial_value),
545 if (object->IsSmi()) {
547 return SerializeSmi(Smi::cast(*object));
551 HeapObject::cast(*object).map(cage_base).instance_type();
555 return SerializeHeapNumber(Handle<HeapNumber>::cast(object));
561 switch (Oddball::cast(*object).kind()) {
579 return SerializeJSArray(Handle<JSArray>::cast(object), key);
583 Handle<JSPrimitiveWrapper>::cast(object), key);
589 SerializeString(Handle<String>::cast(object));
592 DCHECK(object->IsJSReceiver());
593 if (HeapObject::cast(*object).IsCallable(cage_base)) return UNCHANGED;
597 return SerializeJSProxy(Handle<JSProxy>::cast(object), key);
599 return SerializeJSObject(Handle<JSObject>::cast(object), key);
607 Handle<JSPrimitiveWrapper> object, Handle<Object> key) {
608 Object raw = object->value();
612 isolate_, value, Object::ToString(isolate_, object), EXCEPTION);
617 isolate_, value, Object::ToNumber(isolate_, object), EXCEPTION);
632 return SerializeJSObject(object, key);
637 JsonStringifier::Result JsonStringifier::SerializeSmi(Smi object) {
641 builder_.AppendCString(IntToCString(object.value(), buffer));
658 Handle<JSArray> object, Handle<Object> key) {
660 CHECK(object->length().ToArrayLength(&length));
661 DCHECK(!object->IsAccessCheckNeeded());
668 Result stack_push = StackPush(object, key);
681 switch (object->GetElementsKind(cage_base)) {
684 FixedArray::cast(object->elements(cage_base)), isolate_);
703 FixedDoubleArray::cast(object->elements(cage_base)), isolate_);
722 Handle<Object> old_length(object->length(), isolate_);
724 if (object->length() != *old_length ||
725 object->GetElementsKind(cage_base) != PACKED_ELEMENTS) {
732 handle(FixedArray::cast(object->elements()).get(cage_base, i),
749 Result result = SerializeArrayLikeSlow(object, i, length);
760 Handle<JSReceiver> object, uint32_t start, uint32_t length) {
772 isolate_, element, JSReceiver::GetElement(isolate_, object, i),
801 Handle<JSObject> object, Handle<Object> key) {
806 !CanFastSerializeJSObject(cage_base, *object, isolate_)) {
807 Result stack_push = StackPush(object, key);
809 Result result = SerializeJSReceiverSlow(object);
815 DCHECK(!object->IsJSGlobalProxy());
816 DCHECK(!object->HasIndexedInterceptor());
817 DCHECK(!object->HasNamedInterceptor());
819 Handle<Map> map(object->map(cage_base), isolate_);
825 Result stack_push = StackPush(object, key);
845 *map == object->map(cage_base)) {
849 isolate_, object, details.representation(), field_index);
853 Object::GetPropertyOrElement(isolate_, object, key_name), EXCEPTION);
867 Handle<JSReceiver> object) {
872 KeyAccumulator::GetKeys(object, KeyCollectionMode::kOwnOnly,
884 isolate_, property, Object::GetPropertyOrElement(isolate_, object, key),
897 Handle<JSProxy> object, Handle<Object> key) {
899 Result stack_push = StackPush(object, key);
901 Maybe<bool> is_array = Object::IsArray(object);
908 Handle<JSReceiver>::cast(object)),
920 Result result = SerializeArrayLikeSlow(object, 0, length);
926 Result result = SerializeJSReceiverSlow(object);
1097 void JsonStringifier::SerializeString(Handle<String> object) {
1098 object = String::Flatten(isolate_, object);
1100 if (String::IsOneByteRepresentationUnderneath(*object)) {
1101 SerializeString_<uint8_t, uint8_t>(object);
1104 SerializeString(object);
1107 if (String::IsOneByteRepresentationUnderneath(*object)) {
1108 SerializeString_<uint8_t, base::uc16>(object);
1110 SerializeString_<base::uc16, base::uc16>(object);