ArrayData *SharedMap::setRef(StringData* k, CVarRef v, bool copy) { ArrayData *escalated = escalate(); ArrayData *ee = escalated->setRef(k, v, false); if (ee) { escalated->release(); return ee; } return escalated; }
ArrayData *SharedMap::setRef(StringData* k, CVarRef v, bool copy) { ArrayData *escalated = SharedMap::escalate(); return releaseIfCopied(escalated, escalated->setRef(k, v, false)); }
ArrayData* APCLocalArray::SetRefStr(ArrayData* ad, StringData* k, Variant& v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->setRef(k, v, false)); }
ArrayData* APCLocalArray::SetRefInt(ArrayData* ad, int64_t k, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->setRef(k, v, false)); }
ArrayData* SharedMap::SetRefStr(ArrayData* ad, StringData* k, CVarRef v, bool copy) { ArrayData *escalated = Escalate(ad); return releaseIfCopied(escalated, escalated->setRef(k, v, false)); }