mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Use "fastcall" calling convention
This commit is contained in:
parent
005f2a4676
commit
cb464a53c8
4 changed files with 23 additions and 22 deletions
|
@ -25,13 +25,13 @@
|
|||
# include "valgrind/callgrind.h"
|
||||
#endif
|
||||
|
||||
ZEND_API zend_string *(*zend_new_interned_string)(zend_string *str);
|
||||
ZEND_API zend_string *(*zend_string_init_interned)(const char *str, size_t size, int permanent);
|
||||
ZEND_API zend_new_interned_string_func_t zend_new_interned_string;
|
||||
ZEND_API zend_string_init_interned_func_t zend_string_init_interned;
|
||||
|
||||
static zend_string *zend_new_interned_string_permanent(zend_string *str);
|
||||
static zend_string *zend_new_interned_string_request(zend_string *str);
|
||||
static zend_string *zend_string_init_interned_permanent(const char *str, size_t size, int permanent);
|
||||
static zend_string *zend_string_init_interned_request(const char *str, size_t size, int permanent);
|
||||
static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str);
|
||||
static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str);
|
||||
static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size, int permanent);
|
||||
static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, int permanent);
|
||||
|
||||
/* Any strings interned in the startup phase. Common to all the threads,
|
||||
won't be free'd until process exit. If we want an ability to
|
||||
|
@ -48,7 +48,7 @@ ZEND_API zend_string *zend_empty_string = NULL;
|
|||
ZEND_API zend_string *zend_one_char_string[256];
|
||||
ZEND_API zend_string **zend_known_strings = NULL;
|
||||
|
||||
ZEND_API zend_ulong zend_hash_func(const char *str, size_t len)
|
||||
ZEND_API zend_ulong ZEND_FASTCALL zend_hash_func(const char *str, size_t len)
|
||||
{
|
||||
return zend_inline_hash_func(str, len);
|
||||
}
|
||||
|
@ -175,13 +175,13 @@ static zend_always_inline zend_string *zend_add_interned_string(zend_string *str
|
|||
return str;
|
||||
}
|
||||
|
||||
ZEND_API zend_string *zend_interned_string_find_permanent(zend_string *str)
|
||||
ZEND_API zend_string* ZEND_FASTCALL zend_interned_string_find_permanent(zend_string *str)
|
||||
{
|
||||
zend_string_hash_val(str);
|
||||
return zend_interned_string_ht_lookup(str, &interned_strings_permanent);
|
||||
}
|
||||
|
||||
static zend_string *zend_new_interned_string_permanent(zend_string *str)
|
||||
static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str)
|
||||
{
|
||||
zend_string *ret;
|
||||
|
||||
|
@ -207,7 +207,7 @@ static zend_string *zend_new_interned_string_permanent(zend_string *str)
|
|||
return zend_add_interned_string(str, &interned_strings_permanent, IS_STR_PERMANENT);
|
||||
}
|
||||
|
||||
static zend_string *zend_new_interned_string_request(zend_string *str)
|
||||
static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str)
|
||||
{
|
||||
zend_string *ret;
|
||||
|
||||
|
@ -244,7 +244,7 @@ static zend_string *zend_new_interned_string_request(zend_string *str)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static zend_string *zend_string_init_interned_permanent(const char *str, size_t size, int permanent)
|
||||
static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size, int permanent)
|
||||
{
|
||||
zend_string *ret;
|
||||
zend_ulong h = zend_inline_hash_func(str, size);
|
||||
|
@ -259,7 +259,7 @@ static zend_string *zend_string_init_interned_permanent(const char *str, size_t
|
|||
return zend_add_interned_string(ret, &interned_strings_permanent, IS_STR_PERMANENT);
|
||||
}
|
||||
|
||||
static zend_string *zend_string_init_interned_request(const char *str, size_t size, int permanent)
|
||||
static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, int permanent)
|
||||
{
|
||||
zend_string *ret;
|
||||
zend_ulong h = zend_inline_hash_func(str, size);
|
||||
|
|
|
@ -26,18 +26,19 @@
|
|||
BEGIN_EXTERN_C()
|
||||
|
||||
typedef void (*zend_string_copy_storage_func_t)(void);
|
||||
typedef zend_string *(*zend_new_interned_string_func_t)(zend_string *str);
|
||||
typedef zend_string *(*zend_string_init_interned_func_t)(const char *str, size_t size, int permanent);
|
||||
typedef zend_string *(ZEND_FASTCALL *zend_new_interned_string_func_t)(zend_string *str);
|
||||
typedef zend_string *(ZEND_FASTCALL *zend_string_init_interned_func_t)(const char *str, size_t size, int permanent);
|
||||
|
||||
ZEND_API extern zend_new_interned_string_func_t zend_new_interned_string;
|
||||
ZEND_API extern zend_string_init_interned_func_t zend_string_init_interned;
|
||||
|
||||
ZEND_API zend_ulong zend_hash_func(const char *str, size_t len);
|
||||
ZEND_API zend_ulong ZEND_FASTCALL zend_hash_func(const char *str, size_t len);
|
||||
ZEND_API zend_string* ZEND_FASTCALL zend_interned_string_find_permanent(zend_string *str);
|
||||
|
||||
ZEND_API void zend_interned_strings_init(void);
|
||||
ZEND_API void zend_interned_strings_dtor(void);
|
||||
ZEND_API void zend_interned_strings_activate(void);
|
||||
ZEND_API void zend_interned_strings_deactivate(void);
|
||||
ZEND_API zend_string *zend_interned_string_find_permanent(zend_string *str);
|
||||
ZEND_API void zend_interned_strings_set_request_storage_handlers(zend_new_interned_string_func_t handler, zend_string_init_interned_func_t init_handler);
|
||||
ZEND_API void zend_interned_strings_set_permanent_storage_copy_handlers(zend_string_copy_storage_func_t copy_handler, zend_string_copy_storage_func_t restore_handler);
|
||||
ZEND_API void zend_interned_strings_switch_storage(zend_bool request);
|
||||
|
|
|
@ -437,7 +437,7 @@ static zend_always_inline zend_string *accel_find_interned_string(zend_string *s
|
|||
return NULL;
|
||||
}
|
||||
|
||||
zend_string *accel_new_interned_string(zend_string *str)
|
||||
zend_string* ZEND_FASTCALL accel_new_interned_string(zend_string *str)
|
||||
{
|
||||
zend_ulong h;
|
||||
uint32_t pos, *hash_slot;
|
||||
|
@ -493,7 +493,7 @@ zend_string *accel_new_interned_string(zend_string *str)
|
|||
return s;
|
||||
}
|
||||
|
||||
static zend_string *accel_new_interned_string_for_php(zend_string *str)
|
||||
static zend_string* ZEND_FASTCALL accel_new_interned_string_for_php(zend_string *str)
|
||||
{
|
||||
zend_string_hash_val(str);
|
||||
if (ZCG(counted)) {
|
||||
|
@ -528,7 +528,7 @@ static zend_always_inline zend_string *accel_find_interned_string_ex(zend_ulong
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static zend_string *accel_init_interned_string_for_php(const char *str, size_t size, int permanent)
|
||||
static zend_string* ZEND_FASTCALL accel_init_interned_string_for_php(const char *str, size_t size, int permanent)
|
||||
{
|
||||
if (ZCG(counted)) {
|
||||
zend_ulong h = zend_inline_hash_func(str, size);
|
||||
|
@ -708,7 +708,7 @@ static void accel_copy_permanent_strings(zend_new_interned_string_func_t new_int
|
|||
} ZEND_HASH_FOREACH_END();
|
||||
}
|
||||
|
||||
static zend_string *accel_replace_string_by_shm_permanent(zend_string *str)
|
||||
static zend_string* ZEND_FASTCALL accel_replace_string_by_shm_permanent(zend_string *str)
|
||||
{
|
||||
zend_string *ret = accel_find_interned_string(str);
|
||||
|
||||
|
@ -719,7 +719,7 @@ static zend_string *accel_replace_string_by_shm_permanent(zend_string *str)
|
|||
return str;
|
||||
}
|
||||
|
||||
static zend_string *accel_replace_string_by_process_permanent(zend_string *str)
|
||||
static zend_string* ZEND_FASTCALL accel_replace_string_by_process_permanent(zend_string *str)
|
||||
{
|
||||
zend_string *ret = zend_interned_string_find_permanent(str);
|
||||
|
||||
|
|
|
@ -333,6 +333,6 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type);
|
|||
#define IS_ACCEL_INTERNED(str) \
|
||||
((char*)(str) >= (char*)ZCSG(interned_strings).start && (char*)(str) < (char*)ZCSG(interned_strings).top)
|
||||
|
||||
zend_string *accel_new_interned_string(zend_string *str);
|
||||
zend_string* ZEND_FASTCALL accel_new_interned_string(zend_string *str);
|
||||
|
||||
#endif /* ZEND_ACCELERATOR_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue