diff options
author | Anatol Belski <ab@php.net> | 2014-10-01 22:04:21 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2014-10-01 22:04:21 +0200 |
commit | 76081df168829a5cc0409fac47c217d4927ec6f6 (patch) | |
tree | 9d17ebf69a2c193ca318619aae24e821d9ef5634 /TSRM/TSRM.h | |
parent | c161b95cdfbd45bd90c0327d29e1c967a4152c28 (diff) | |
download | php-git-76081df168829a5cc0409fac47c217d4927ec6f6.tar.gz |
using pointer to the tsrm ls cache instead of a function call
yet another approach
Diffstat (limited to 'TSRM/TSRM.h')
-rw-r--r-- | TSRM/TSRM.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index 89d213348c..4f73455ca0 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -170,7 +170,13 @@ TSRM_API inline void *tsrm_get_ls_cache(void); #define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx #define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_get_ls_cache() #define TSRMG(id, type, element) (((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) -#define TSRMGP(id, type, element) (((type) (*((void ***) tsrm_ls_cache))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) + +#define TSRMG_STATIC(id, type, element) (((type) (*((void ***) _tsrm_ls_cache))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element) +#define TSRMLS_CACHE_EXTERN TSRM_TLS extern void *_tsrm_ls_cache +#define TSRMLS_CACHE_DEFINE TSRM_TLS void *_tsrm_ls_cache +#define TSRMLS_CACHE_UPDATE _tsrm_ls_cache = tsrm_get_ls_cache() + +/* BC only */ #define TSRMLS_D #define TSRMLS_DC #define TSRMLS_C @@ -185,6 +191,13 @@ TSRM_API inline void *tsrm_get_ls_cache(void); #define TSRMLS_FETCH() #define TSRMLS_FETCH_FROM_CTX(ctx) #define TSRMLS_SET_CTX(ctx) + +#define TSRMG_STATIC(id, type, element) +#define TSRMLS_CACHE_EXTERN +#define TSRMLS_CACHE_DEFINE +#define TSRMLS_CACHE_UPDATE + +/* BC only */ #define TSRMLS_D void #define TSRMLS_DC #define TSRMLS_C |