cvs: ZendEngine2 / zend_API.c zend_gc.h
[email protected] ("Dmitry Stogov")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsdmitry1201171784@cvsserver> |
dmitry Thu Jan 24 10:49:44 2008 UTC
Modified files:
/ZendEngine2 zend_API.c zend_gc.h
Log:
Fixed GC bug
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.452&r2=1.453&diff_format=u
Index: ZendEngine2/zend_API.c
diff -u ZendEngine2/zend_API.c:1.452 ZendEngine2/zend_API.c:1.453
--- ZendEngine2/zend_API.c:1.452 Thu Jan 24 09:41:48 2008
+++ ZendEngine2/zend_API.c Thu Jan 24 10:49:44 2008
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.c,v 1.452 2008/01/24 09:41:48 dmitry Exp $ */
+/* $Id: zend_API.c,v 1.453 2008/01/24 10:49:44 dmitry Exp $ */
#include "zend.h"
#include "zend_execute.h"
@@ -3321,7 +3321,7 @@
zval *property;
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
} else {
ALLOC_ZVAL(property);
}
@@ -3335,7 +3335,7 @@
zval *property;
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
} else {
ALLOC_ZVAL(property);
}
@@ -3350,7 +3350,7 @@
zval *property;
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
} else {
ALLOC_ZVAL(property);
}
@@ -3365,7 +3365,7 @@
zval *property;
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
} else {
ALLOC_ZVAL(property);
}
@@ -3381,7 +3381,7 @@
int len = strlen(value);
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
if (UG(unicode)) {
Z_TYPE_P(property) = IS_UNICODE;
Z_USTRVAL_P(property) = malloc(UBYTES(len+1));
@@ -3404,7 +3404,7 @@
zval *property;
if (ce->type & ZEND_INTERNAL_CLASS) {
- property = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(property);
if (UG(unicode)) {
Z_TYPE_P(property) = IS_UNICODE;
Z_USTRVAL_P(property) = malloc(UBYTES(value_len+1));
@@ -3433,7 +3433,7 @@
zval *constant;
if (ce->type & ZEND_INTERNAL_CLASS) {
- constant = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(constant);
} else {
ALLOC_ZVAL(constant);
}
@@ -3448,7 +3448,7 @@
zval *constant;
if (ce->type & ZEND_INTERNAL_CLASS) {
- constant = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(constant);
} else {
ALLOC_ZVAL(constant);
}
@@ -3463,7 +3463,7 @@
zval *constant;
if (ce->type & ZEND_INTERNAL_CLASS) {
- constant = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(constant);
} else {
ALLOC_ZVAL(constant);
}
@@ -3478,7 +3478,7 @@
zval *constant;
if (ce->type & ZEND_INTERNAL_CLASS) {
- constant = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(constant);
} else {
ALLOC_ZVAL(constant);
}
@@ -3493,7 +3493,7 @@
zval *constant;
if (ce->type & ZEND_INTERNAL_CLASS) {
- constant = malloc(sizeof(zval));
+ ALLOC_PERMANENT_ZVAL(constant);
if (UG(unicode)) {
Z_TYPE_P(constant) = IS_UNICODE;
Z_USTRVAL_P(constant) = malloc(UBYTES(value_length+1));
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_gc.h?r1=1.2&r2=1.3&diff_format=u
Index: ZendEngine2/zend_gc.h
diff -u ZendEngine2/zend_gc.h:1.2 ZendEngine2/zend_gc.h:1.3
--- ZendEngine2/zend_gc.h:1.2 Tue Jan 22 09:29:29 2008
+++ ZendEngine2/zend_gc.h Thu Jan 24 10:49:44 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_gc.h,v 1.2 2008/01/22 09:29:29 dmitry Exp $ */
+/* $Id: zend_gc.h,v 1.3 2008/01/24 10:49:44 dmitry Exp $ */
#ifndef ZEND_GC_H
#define ZEND_GC_H
@@ -199,6 +199,12 @@
}
}
+#define ALLOC_PERMANENT_ZVAL(z) \
+ do { \
+ (z) = (zval*)malloc(sizeof(zval_gc_info)); \
+ GC_ZVAL_INIT(z); \
+ } while (0)
+
/* The following macroses override macroses from zend_alloc.h */
#undef ALLOC_ZVAL
#define ALLOC_ZVAL(z) \