mirror of
https://github.com/php/php-src.git
synced 2024-12-02 22:34:55 +08:00
Revert "Fixed bug #70656 (require() statement broken after opcache_reset() or a few hours of use)"
This reverts commit 3ef96c2cc6
.
This commit is contained in:
parent
3ef96c2cc6
commit
31553f07f2
6
NEWS
6
NEWS
@ -2,13 +2,9 @@ PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? 2015, PHP 7.0.1
|
||||
|
||||
- Opcache:
|
||||
. Fixed bug #70656 (require() statement broken after opcache_reset() or a
|
||||
few hours of use). (Laruence)
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #70808 (array_merge_recursive corrupts memory of unset items).
|
||||
(Laruence)
|
||||
(laruence)
|
||||
|
||||
- XSL:
|
||||
. Fixed bug #70678 (PHP7 returns true when false is expected). (Felipe)
|
||||
|
@ -249,28 +249,24 @@ static void accel_interned_strings_restore_state(void)
|
||||
uint nIndex;
|
||||
Bucket *p;
|
||||
|
||||
if (EXPECTED(ZCSG(interned_strings_top) > ZCSG(interned_strings_saved_top))) {
|
||||
memset(ZCSG(interned_strings_saved_top),
|
||||
0, ZCSG(interned_strings_top) - ZCSG(interned_strings_saved_top));
|
||||
ZCSG(interned_strings_top) = ZCSG(interned_strings_saved_top);
|
||||
while (idx > 0) {
|
||||
idx--;
|
||||
p = ZCSG(interned_strings).arData + idx;
|
||||
if ((char*)p->key < ZCSG(interned_strings_top)) break;
|
||||
ZCSG(interned_strings).nNumUsed--;
|
||||
ZCSG(interned_strings).nNumOfElements--;
|
||||
ZCSG(interned_strings_top) = ZCSG(interned_strings_saved_top);
|
||||
while (idx > 0) {
|
||||
idx--;
|
||||
p = ZCSG(interned_strings).arData + idx;
|
||||
if ((char*)p->key < ZCSG(interned_strings_top)) break;
|
||||
ZCSG(interned_strings).nNumUsed--;
|
||||
ZCSG(interned_strings).nNumOfElements--;
|
||||
|
||||
nIndex = p->h | ZCSG(interned_strings).nTableMask;
|
||||
if (HT_HASH(&ZCSG(interned_strings), nIndex) == HT_IDX_TO_HASH(idx)) {
|
||||
HT_HASH(&ZCSG(interned_strings), nIndex) = Z_NEXT(p->val);
|
||||
} else {
|
||||
uint32_t prev = HT_HASH(&ZCSG(interned_strings), nIndex);
|
||||
while (Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val) != idx) {
|
||||
prev = Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val);
|
||||
}
|
||||
Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val) = Z_NEXT(p->val);
|
||||
}
|
||||
}
|
||||
nIndex = p->h | ZCSG(interned_strings).nTableMask;
|
||||
if (HT_HASH(&ZCSG(interned_strings), nIndex) == HT_IDX_TO_HASH(idx)) {
|
||||
HT_HASH(&ZCSG(interned_strings), nIndex) = Z_NEXT(p->val);
|
||||
} else {
|
||||
uint32_t prev = HT_HASH(&ZCSG(interned_strings), nIndex);
|
||||
while (Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val) != idx) {
|
||||
prev = Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val);
|
||||
}
|
||||
Z_NEXT(HT_HASH_TO_BUCKET(&ZCSG(interned_strings), prev)->val) = Z_NEXT(p->val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user