Fix some RefData<->TypedValue<->Variant<->Value type puns

Our ext_hhvm generated code is casting TypedValue* to Value*
on the assumption that the offset of TypedValue::m_data is 0.
Fix this assumption, and also while in the same code, replace
some (t == KindOfString || t == KindOfStaticString) with
IS_STATIC_STRING(t), which does a single bit test instead of
two comparisons.
Esse commit está contido em:
smith
2013-03-21 09:39:59 -07:00
commit de Sara Golemon
commit d55c44a8ca
83 arquivos alterados com 3999 adições e 4016 exclusões
+1 -1
Ver Arquivo
@@ -550,7 +550,7 @@ MArrayIter::~MArrayIter() {
}
// unprotect the data
if (hasVar()) {
RefData* ref = (RefData*)getVar();
RefData* ref = RefData::refDataFromVariantIfYouDare(getVar());
decRefRef(ref);
} else if (hasAd()) {
decRefArr(getAd());