com php-src: Revert "Fixed bug #70656 (require() statement broken after opcache_reset() or a few hours of use)" : NEWS ext/opcache/ZendAccelerator.c
| From: | Xinchen Hui | Date: | Tue, 27 Oct 2015 00:26:30 +0000 |
| Subject: | com php-src: Revert "Fixed bug #70656 (require() statement broken after opcache_reset() or a few hours of use)" : NEWS ext/opcache/ZendAccelerator.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89579@lists.php.net to get a copy of this message | ||
Commit: 31553f07f25184ff451ddb3c91c3cc90b88c6da1
Author: Xinchen Hui <laruence@gmail.com> Mon, 26 Oct 2015 17:26:30 -0700
Parents: 3ef96c2cc6f3a1dddd8479e6c733f44e8dbcb5e9
Branches: PHP-7.0 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=31553f07f25184ff451ddb3c91c3cc90b88c6da1
Log:
Revert "Fixed bug #70656 (require() statement broken after opcache_reset() or a few hours of
use)"
This reverts commit 3ef96c2cc6f3a1dddd8479e6c733f44e8dbcb5e9.
Bugs:
https://bugs.php.net/70656
Changed paths:
M NEWS
M ext/opcache/ZendAccelerator.c
Diff:
diff --git a/NEWS b/NEWS
index d3f0137..f4e6c8d 100644
--- a/NEWS
+++ b/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)
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index a7fb07b..eaadac6 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -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--;
-
- 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);
- }
- }
+ 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);
+ }
}
}