Lines Matching defs:isolate

8 #include "src/execution/isolate-inl.h"
61 inline Isolate* isolate() { return site_context()->isolate(); }
70 Isolate* isolate = this->isolate();
74 StackLimitCheck check(isolate);
77 isolate->StackOverflow();
82 if (object->map(isolate).is_deprecated()) {
84 isolate->boilerplate_migration_access());
85 JSObject::MigrateInstance(isolate, object);
91 DCHECK(!object->IsJSFunction(isolate));
96 copy = isolate->factory()->CopyJSObjectWithAllocationSite(object,
104 HandleScope scope(isolate);
107 if (!copy->IsJSArray(isolate)) {
108 if (copy->HasFastProperties(isolate)) {
110 copy->map(isolate).instance_descriptors(isolate), isolate);
111 for (InternalIndex i : copy->map(isolate).IterateOwnDescriptors()) {
116 copy->map(isolate), details.field_index(),
118 Object raw = copy->RawFastPropertyAt(isolate, index);
119 if (raw.IsJSObject(isolate)) {
120 Handle<JSObject> value(JSObject::cast(raw), isolate);
122 isolate, value, VisitElementOrProperty(copy, value), JSObject);
127 auto value = isolate->factory()->NewHeapNumberFromBits(double_value);
134 copy->property_dictionary_swiss(isolate), isolate);
137 if (!raw.IsJSObject(isolate)) continue;
139 Handle<JSObject> value(JSObject::cast(raw), isolate);
141 isolate, value, VisitElementOrProperty(copy, value), JSObject);
145 Handle<NameDictionary> dict(copy->property_dictionary(isolate),
146 isolate);
148 Object raw = dict->ValueAt(isolate, i);
149 if (!raw.IsJSObject(isolate)) continue;
150 DCHECK(dict->KeyAt(isolate, i).IsName());
151 Handle<JSObject> value(JSObject::cast(raw), isolate);
153 isolate, value, VisitElementOrProperty(copy, value), JSObject);
160 if (copy->elements(isolate).length() == 0) return copy;
164 switch (copy->GetElementsKind(isolate)) {
173 Handle<FixedArray> elements(FixedArray::cast(copy->elements(isolate)),
174 isolate);
175 if (elements->map(isolate) ==
176 ReadOnlyRoots(isolate).fixed_cow_array_map()) {
184 Object raw = elements->get(isolate, i);
185 if (!raw.IsJSObject(isolate)) continue;
186 Handle<JSObject> value(JSObject::cast(raw), isolate);
188 isolate, value, VisitElementOrProperty(copy, value), JSObject);
196 copy->element_dictionary(isolate), isolate);
198 Object raw = element_dictionary->ValueAt(isolate, i);
199 if (!raw.IsJSObject(isolate)) continue;
200 Handle<JSObject> value(JSObject::cast(raw), isolate);
202 isolate, value, VisitElementOrProperty(copy, value), JSObject);
238 explicit DeprecationUpdateContext(Isolate* isolate) { isolate_ = isolate; }
239 Isolate* isolate() { return isolate_; }
258 explicit AllocationSiteCreationContext(Isolate* isolate)
259 : AllocationSiteContext(isolate) {}
266 InitializeTraversal(isolate()->factory()->NewAllocationSite(true));
267 scope_site = Handle<AllocationSite>(*top(), isolate());
274 scope_site = isolate()->factory()->NewAllocationSite(false);
339 Isolate* isolate,
344 Isolate* isolate,
349 static inline Handle<JSObject> Create(Isolate* isolate,
354 return CreateObjectLiteral(isolate, object_boilerplate_description, flags,
360 static inline Handle<JSObject> Create(Isolate* isolate,
366 return CreateArrayLiteral(isolate, array_boilerplate_description,
372 Isolate* isolate,
375 Handle<NativeContext> native_context = isolate->native_context();
391 isolate)
392 : isolate->factory()->ObjectLiteralMapFromCache(native_context,
396 isolate->factory()->NewFastOrSlowJSObjectFromMap(
406 Handle<Object> key(object_boilerplate_description->name(isolate, index),
407 isolate);
408 Handle<Object> value(object_boilerplate_description->value(isolate, index),
409 isolate);
412 if (HeapObject::cast(*value).IsArrayBoilerplateDescription(isolate)) {
415 value = CreateArrayLiteral(isolate, array_boilerplate, allocation);
418 isolate)) {
421 value = CreateObjectLiteral(isolate, object_boilerplate,
429 if (value->IsUninitialized(isolate)) {
430 value = handle(Smi::zero(), isolate);
453 Isolate* isolate,
460 array_boilerplate_description->constant_elements(isolate), isolate);
465 copied_elements_values = isolate->factory()->CopyFixedDoubleArray(
469 const bool is_cow = (constant_elements_values->map(isolate) ==
470 ReadOnlyRoots(isolate).fixed_cow_array_map());
484 isolate->factory()->CopyFixedArray(fixed_array_values);
487 Object value = fixed_array_values_copy->get(isolate, i);
489 if (value.GetHeapObject(isolate, &value_heap_object)) {
490 if (value_heap_object.IsArrayBoilerplateDescription(isolate)) {
491 HandleScope sub_scope(isolate);
493 ArrayBoilerplateDescription::cast(value_heap_object), isolate);
495 CreateArrayLiteral(isolate, boilerplate, allocation);
499 isolate)) {
500 HandleScope sub_scope(isolate);
502 ObjectBoilerplateDescription::cast(value_heap_object), isolate);
504 isolate, boilerplate, boilerplate->flags(), allocation);
511 return isolate->factory()->NewJSArrayWithElements(
518 Isolate* isolate, Handle<HeapObject> description, int flags) {
519 Handle<JSObject> literal = LiteralHelper::Create(isolate, description, flags,
521 DeprecationUpdateContext update_context(isolate);
522 RETURN_ON_EXCEPTION(isolate, DeepWalk(literal, &update_context), JSObject);
527 MaybeHandle<JSObject> CreateLiteral(Isolate* isolate,
533 isolate, description, flags);
540 isolate);
546 boilerplate = Handle<JSObject>(site->boilerplate(), isolate);
555 isolate, description, flags);
557 boilerplate = LiteralHelper::Create(isolate, description, flags,
561 AllocationSiteCreationContext creation_context(isolate);
563 RETURN_ON_EXCEPTION(isolate, DeepWalk(boilerplate, &creation_context),
575 AllocationSiteUsageContext usage_context(isolate, site, enable_mementos);
585 HandleScope scope(isolate);
599 isolate, CreateLiteral<ObjectLiteralHelper>(
600 isolate, vector, literals_index, description, flags));
604 HandleScope scope(isolate);
610 isolate, CreateLiteralWithoutAllocationSite<ObjectLiteralHelper>(
611 isolate, description, flags));
615 HandleScope scope(isolate);
621 isolate, CreateLiteralWithoutAllocationSite<ArrayLiteralHelper>(
622 isolate, description, flags));
626 HandleScope scope(isolate);
640 isolate, CreateLiteral<ArrayLiteralHelper>(
641 isolate, vector, literals_index, elements, flags));
645 HandleScope scope(isolate);
656 isolate, JSRegExp::New(isolate, pattern, JSRegExp::Flags(flags)));
662 isolate);
671 isolate, regexp_instance,
672 JSRegExp::New(isolate, pattern, JSRegExp::Flags(flags)));
681 Handle<FixedArray> data(FixedArray::cast(regexp_instance->data()), isolate);
682 Handle<String> source(String::cast(regexp_instance->source()), isolate);
684 isolate->factory()->NewRegExpBoilerplateDescription(
690 handle(vector->Get(literal_slot)->cast<Object>(), isolate)));