Home | History | Annotate | Download | only in core

Lines Matching refs:fRec

257     if (fRec != &gEmptyRec) {
258 SkASSERT(fRec->fLength > 0);
259 SkASSERT(fRec->fRefCnt > 0);
260 SkASSERT(0 == fRec->data()[fRec->fLength]);
267 SkString::SkString() : fRec(const_cast<Rec*>(&gEmptyRec)) {
271 fRec = AllocRec(nullptr, len);
277 fRec = AllocRec(text, len);
281 fRec = AllocRec(text, len);
287 fRec = RefRec(src.fRec);
293 fRec = src.fRec;
294 src.fRec = const_cast<Rec*>(&gEmptyRec);
300 if (fRec->fLength) {
301 SkASSERT(fRec->fRefCnt > 0);
302 if (sk_atomic_dec(&fRec->fRefCnt) == 1) {
303 sk_free(fRec);
309 return fRec == src.fRec || this->equals(src.c_str(), src.size());
319 return fRec->fLength == len && !memcmp(fRec->data(), text, len);
325 if (fRec != src.fRec) {
335 if (fRec != src.fRec) {
353 if (fRec->fLength) {
354 SkASSERT(fRec->fRefCnt > 0);
355 if (sk_atomic_dec(&fRec->fRefCnt) == 1) {
356 sk_free(fRec);
360 fRec = const_cast<Rec*>(&gEmptyRec);
366 if (fRec->fLength) {
367 if (fRec->fRefCnt > 1) {
368 Rec* rec = AllocRec(fRec->data(), fRec->fLength);
369 if (sk_atomic_dec(&fRec->fRefCnt) == 1) {
372 // data (fRec and rec), so we need to delete one of them.
373 sk_free(fRec);
375 fRec = rec;
378 return fRec->data();
390 } else if (1 == fRec->fRefCnt && len <= fRec->fLength) {
398 fRec->fLength = SkToU32(len);
399 } else if (1 == fRec->fRefCnt && (fRec->fLength >> 2) == (len >> 2)) {
406 fRec->fLength = SkToU32(len);
427 } else if (count <= fRec->fLength) {
429 if (count < fRec->fLength) {
454 size_t length = fRec->fLength;
475 if (1 == fRec->fRefCnt && (length >> 2) == ((length + len) >> 2)) {
484 fRec->fLength = SkToU32(length + len);
489 SkString tmp(fRec->fLength + len);
493 memcpy(dst, fRec->data(), offset);
496 if (offset < fRec->fLength) {
497 memcpy(dst + offset + len, fRec->data() + offset,
498 fRec->fLength - offset);
635 SkTSwap<Rec*>(fRec, other.fRec);