File tree Expand file tree Collapse file tree 2 files changed +9
-12
lines changed Expand file tree Collapse file tree 2 files changed +9
-12
lines changed Original file line number Diff line number Diff line change @@ -60,10 +60,7 @@ static void zend_lazy_object_info_dtor_func(zval *pElement)
60
60
61
61
if (info -> flags & ZEND_LAZY_OBJECT_INITIALIZED ) {
62
62
ZEND_ASSERT (info -> flags & ZEND_LAZY_OBJECT_STRATEGY_VIRTUAL );
63
- // TODO: GC?
64
- if (GC_DELREF (info -> u .instance ) == 0 ) {
65
- zend_objects_store_del (info -> u .instance );
66
- }
63
+ zend_object_release (info -> u .instance );
67
64
} else {
68
65
zend_fcc_dtor (& info -> u .initializer );
69
66
}
Original file line number Diff line number Diff line change 22
22
#include "zend.h"
23
23
24
24
/* Serialization skips initialization */
25
- #define ZEND_LAZY_OBJECT_SKIP_INITIALIZATION_ON_SERIALIZE (1<<0)
25
+ #define ZEND_LAZY_OBJECT_SKIP_INITIALIZATION_ON_SERIALIZE (1<<0)
26
26
27
27
/* Lazy object is a virtual proxy */
28
- #define ZEND_LAZY_OBJECT_STRATEGY_VIRTUAL (1<<1)
28
+ #define ZEND_LAZY_OBJECT_STRATEGY_VIRTUAL (1<<1)
29
29
30
30
/* Lazy object is a ghost object */
31
- #define ZEND_LAZY_OBJECT_STRATEGY_GHOST (1<<2)
31
+ #define ZEND_LAZY_OBJECT_STRATEGY_GHOST (1<<2)
32
32
33
33
/* Lazy object is initialized (info.u is an instance) */
34
- #define ZEND_LAZY_OBJECT_INITIALIZED (1<<3)
34
+ #define ZEND_LAZY_OBJECT_INITIALIZED (1<<3)
35
35
36
- #define ZEND_LAZY_OBJECT_USER_FLAGS ( \
37
- ZEND_LAZY_OBJECT_SKIP_INITIALIZATION_ON_SERIALIZE | \
38
- ZEND_LAZY_OBJECT_STRATEGY_GHOST | \
39
- ZEND_LAZY_OBJECT_STRATEGY_VIRTUAL \
36
+ #define ZEND_LAZY_OBJECT_USER_FLAGS ( \
37
+ ZEND_LAZY_OBJECT_SKIP_INITIALIZATION_ON_SERIALIZE | \
38
+ ZEND_LAZY_OBJECT_STRATEGY_GHOST | \
39
+ ZEND_LAZY_OBJECT_STRATEGY_VIRTUAL \
40
40
)
41
41
42
42
/* Temporarily allow raw access to the lazy object without triggering
You can’t perform that action at this time.
0 commit comments