Lines Matching refs:cage_base

752   PtrComprCageBase cage_base = GetPtrComprCageBase(*this);
754 StringShape shape(string, cage_base);
760 if (!cons.IsFlat(cage_base)) return FlatContent(no_gc);
761 string = cons.first(cage_base);
762 shape = StringShape(string, cage_base);
766 string = slice.parent(cage_base);
767 shape = StringShape(string, cage_base);
776 string = thin.actual(cage_base);
777 shape = StringShape(string, cage_base);
781 return TryGetFlatContentFromDirectString(cage_base, no_gc, string, offset,
848 PtrComprCageBase cage_base,
856 switch (StringShape(source, cage_base).representation_and_encoding_tag()) {
860 ExternalOneByteString::cast(source).GetChars(cage_base) + start,
866 ExternalTwoByteString::cast(source).GetChars(cage_base) + start,
884 String first = cons_string.first(cage_base);
891 WriteToFlat(first, sink, start, first_length, cage_base,
893 if (start == 0 && cons_string.second(cage_base) == first) {
903 source = cons_string.second(cage_base);
907 String second = cons_string.second(cage_base);
913 static_cast<sinkchar>(second.Get(0, cage_base, access_guard));
914 } else if (second.IsSeqOneByteString(cage_base)) {
921 cage_base, access_guard);
934 source = slice.parent(cage_base);
940 source = ThinString::cast(source).actual(cage_base);
1022 PtrComprCageBase cage_base = GetPtrComprCageBase(*this);
1026 if (this->IsThinString(cage_base) || other.IsThinString(cage_base)) {
1027 if (other.IsThinString(cage_base))
1028 other = ThinString::cast(other).actual(cage_base);
1029 if (this->IsThinString(cage_base)) {
1030 return ThinString::cast(*this).actual(cage_base).Equals(other);
1058 if (this->Get(0, cage_base, access_guard) !=
1059 other.Get(0, cage_base, access_guard))
1592 PtrComprCageBase cage_base,
1603 if (string.IsConsString(cage_base)) {
1607 String::WriteToFlat(string, buffer.get(), 0, length, cage_base,
1611 chars = string.GetChars<Char>(cage_base, no_gc, access_guard) + start;
1638 PtrComprCageBase cage_base = GetPtrComprCageBase(string);
1639 StringShape shape(string, cage_base);
1643 string = sliced.parent(cage_base);
1644 shape = StringShape(string, cage_base);
1646 if (shape.IsCons() && string.IsFlat(cage_base)) {
1647 string = ConsString::cast(string).first(cage_base);
1648 shape = StringShape(string, cage_base);
1651 string = ThinString::cast(string).actual(cage_base);
1652 shape = StringShape(string, cage_base);
1660 ? HashString<uint8_t>(string, start, length(), seed, cage_base,
1662 : HashString<uint16_t>(string, start, length(), seed, cage_base,
1767 int index, PtrComprCageBase cage_base,
1772 if (second(cage_base).length() == 0) {
1773 String left = first(cage_base);
1780 if (StringShape(string, cage_base).IsCons()) {
1787 string = cons_string.second(cage_base);
1790 return string.Get(index, cage_base, access_guard);
1798 int index, PtrComprCageBase cage_base,
1800 return actual(cage_base).Get(index, cage_base, access_guard);
1804 int index, PtrComprCageBase cage_base,
1806 return parent(cage_base).Get(offset() + index, cage_base, access_guard);
1973 PtrComprCageBase cage_base = GetPtrComprCageBase(subject);
1974 StringShape shape(subject, cage_base);
1975 if (subject.IsConsString(cage_base)) {
1976 subject = ConsString::cast(subject).first(cage_base);
1977 shape = StringShape(subject, cage_base);
1978 } else if (subject.IsSlicedString(cage_base)) {
1980 subject = SlicedString::cast(subject).parent(cage_base);
1981 shape = StringShape(subject, cage_base);
1983 if (subject.IsThinString(cage_base)) {
1984 subject = ThinString::cast(subject).actual(cage_base);
1985 shape = StringShape(subject, cage_base);
1998 ExternalOneByteString::cast(subject).GetChars(cage_base) +
2002 ExternalTwoByteString::cast(subject).GetChars(cage_base) +
2014 String source, uint16_t* sink, int from, int to, PtrComprCageBase cage_base,
2017 String source, uint8_t* sink, int from, int to, PtrComprCageBase cage_base,