cvs: ZendEngine2 / zend_API.c zend_gc.h

From: Date: Thu, 24 Jan 2008 10:49:44 +0000
Subject: cvs: ZendEngine2 / zend_API.c zend_gc.h
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-6306@lists.php.net to get a copy of this message
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) \

« previous php.zend-engine.cvs (#6306) next »