Lines Matching defs:cons
35 Handle<String> String::SlowFlatten(Isolate* isolate, Handle<ConsString> cons,
37 DCHECK_NE(cons->second().length(), 0);
38 DCHECK(!cons->InSharedHeap());
40 // TurboFan can create cons strings with empty first parts.
41 while (cons->first().length() == 0) {
45 if (cons->second().IsConsString() && !cons->second().IsFlat()) {
46 cons = handle(ConsString::cast(cons->second()), isolate);
48 return String::Flatten(isolate, handle(cons->second(), isolate),
54 int length = cons->length();
57 ObjectInYoungGeneration(*cons) ? allocation : AllocationType::kOld;
60 if (cons->IsOneByteRepresentation()) {
66 WriteToFlat(*cons, flat->GetChars(no_gc), 0, length);
74 WriteToFlat(*cons, flat->GetChars(no_gc), 0, length);
77 cons->set_first(*result);
78 cons->set_second(ReadOnlyRoots(isolate).empty_string());
757 // Extract cons- and sliced strings.
759 ConsString cons = ConsString::cast(string);
760 if (!cons.IsFlat(cage_base)) return FlatContent(no_gc);
761 string = cons.first(cage_base);
908 // When repeatedly appending to a string, we get a cons string that
1269 // Extract flattened substrings of cons strings before getting encoding.
1771 // Check for a flattened cons string