]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.3' into PHP-7.4
authorNikita Popov <nikita.ppv@gmail.com>
Thu, 8 Aug 2019 08:55:02 +0000 (10:55 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 8 Aug 2019 08:55:02 +0000 (10:55 +0200)
1  2 
Zend/zend_gc.c

diff --cc Zend/zend_gc.c
index be00bc73a6dd4225ceb25d2f498b7dafafec03e3,8b9ee176326aecda85188ee6d69ff439c54c860f..19cfd0433c3c479e614a3e47fa71a6c6961ed187
  #endif
  
  /* GC_INFO layout */
 -#define GC_ADDRESS  0x0fffff
 -#define GC_COLOR    0x300000
 +#define GC_ADDRESS  0x0fffffu
 +#define GC_COLOR    0x300000u
  
 -#define GC_BLACK    0x000000 /* must be zero */
 -#define GC_WHITE    0x100000
 -#define GC_GREY     0x200000
 -#define GC_PURPLE   0x300000
 +#define GC_BLACK    0x000000u /* must be zero */
 +#define GC_WHITE    0x100000u
 +#define GC_GREY     0x200000u
 +#define GC_PURPLE   0x300000u
  
+ /* Debug tracing */
+ #if ZEND_GC_DEBUG > 1
+ # define GC_TRACE(format, ...) fprintf(stderr, format "\n", ##__VA_ARGS__);
+ # define GC_TRACE_REF(ref, format, ...) \
+       do { \
+               gc_trace_ref((zend_refcounted *) ref); \
+               fprintf(stderr, format "\n", ##__VA_ARGS__); \
+       } while (0)
+ # define GC_TRACE_SET_COLOR(ref, color) \
+       GC_TRACE_REF(ref, "->%s", gc_color_name(color))
+ #else
+ # define GC_TRACE_REF(ref, format, ...)
+ # define GC_TRACE_SET_COLOR(ref, new_color)
+ # define GC_TRACE(str)
+ #endif
  /* GC_INFO access */
  #define GC_REF_ADDRESS(ref) \
        (((GC_TYPE_INFO(ref)) & (GC_ADDRESS << GC_INFO_SHIFT)) >> GC_INFO_SHIFT)