ArrayData *ZendArray::set(CStrRef k, CVarRef v, bool copy) { if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); a->update(k.get(), v); return a; } update(k.get(), v); return NULL; }
HOT_FUNC_HPHP ArrayData *ZendArray::set(int64 k, CVarRef v, bool copy) { if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); a->update(k, v); return a; } update(k, v); return NULL; }
ArrayData *ZendArray::set(CVarRef k, CVarRef v, bool copy) { TypedValueAccessor tva = k.getTypedAccessor(); if (isIntKey(tva)) { if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); a->update(getIntKey(tva), v); return a; } update(getIntKey(tva), v); return NULL; } else { ASSERT(k.isString()); StringData *sd = getStringKey(tva); if (UNLIKELY(copy)) { ZendArray *a = copyImpl(); a->update(sd, v); return a; } update(sd, v); return NULL; } }