version 1.1.1.2, 2012/05/29 12:34:35
|
version 1.1.1.3, 2013/07/22 01:32:15
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Zend Engine | |
| Zend Engine | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) | | | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 2.00 of the Zend license, | |
| This source file is subject to version 2.00 of the Zend license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 644 tail_call:
|
Line 644 tail_call:
|
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
|
|
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
GC_SET_BLACK(obj->buffered); | /* PURPLE instead of BLACK to prevent buffering in nested gc calls */ |
| GC_SET_PURPLE(obj->buffered); |
|
|
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
(get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { |
(get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { |
Line 715 static void zobj_collect_white(zval *pz TSRMLS_DC)
|
Line 716 static void zobj_collect_white(zval *pz TSRMLS_DC)
|
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
|
|
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
GC_SET_BLACK(obj->buffered); | /* PURPLE instead of BLACK to prevent buffering in nested gc calls */ |
| GC_SET_PURPLE(obj->buffered); |
|
|
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
(get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { |
(get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { |