Skip to content

Commit cb464a5

Browse files
committed
Use "fastcall" calling convention
1 parent 005f2a4 commit cb464a5

File tree

4 files changed

+23
-22
lines changed

4 files changed

+23
-22
lines changed

Zend/zend_string.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
# include "valgrind/callgrind.h"
2626
#endif
2727

28-
ZEND_API zend_string *(*zend_new_interned_string)(zend_string *str);
29-
ZEND_API zend_string *(*zend_string_init_interned)(const char *str, size_t size, int permanent);
28+
ZEND_API zend_new_interned_string_func_t zend_new_interned_string;
29+
ZEND_API zend_string_init_interned_func_t zend_string_init_interned;
3030

31-
static zend_string *zend_new_interned_string_permanent(zend_string *str);
32-
static zend_string *zend_new_interned_string_request(zend_string *str);
33-
static zend_string *zend_string_init_interned_permanent(const char *str, size_t size, int permanent);
34-
static zend_string *zend_string_init_interned_request(const char *str, size_t size, int permanent);
31+
static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str);
32+
static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str);
33+
static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size, int permanent);
34+
static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, int permanent);
3535

3636
/* Any strings interned in the startup phase. Common to all the threads,
3737
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;
4848
ZEND_API zend_string *zend_one_char_string[256];
4949
ZEND_API zend_string **zend_known_strings = NULL;
5050

51-
ZEND_API zend_ulong zend_hash_func(const char *str, size_t len)
51+
ZEND_API zend_ulong ZEND_FASTCALL zend_hash_func(const char *str, size_t len)
5252
{
5353
return zend_inline_hash_func(str, len);
5454
}
@@ -175,13 +175,13 @@ static zend_always_inline zend_string *zend_add_interned_string(zend_string *str
175175
return str;
176176
}
177177

178-
ZEND_API zend_string *zend_interned_string_find_permanent(zend_string *str)
178+
ZEND_API zend_string* ZEND_FASTCALL zend_interned_string_find_permanent(zend_string *str)
179179
{
180180
zend_string_hash_val(str);
181181
return zend_interned_string_ht_lookup(str, &interned_strings_permanent);
182182
}
183183

184-
static zend_string *zend_new_interned_string_permanent(zend_string *str)
184+
static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str)
185185
{
186186
zend_string *ret;
187187

@@ -207,7 +207,7 @@ static zend_string *zend_new_interned_string_permanent(zend_string *str)
207207
return zend_add_interned_string(str, &interned_strings_permanent, IS_STR_PERMANENT);
208208
}
209209

210-
static zend_string *zend_new_interned_string_request(zend_string *str)
210+
static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str)
211211
{
212212
zend_string *ret;
213213

@@ -244,7 +244,7 @@ static zend_string *zend_new_interned_string_request(zend_string *str)
244244
return ret;
245245
}
246246

247-
static zend_string *zend_string_init_interned_permanent(const char *str, size_t size, int permanent)
247+
static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size, int permanent)
248248
{
249249
zend_string *ret;
250250
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
259259
return zend_add_interned_string(ret, &interned_strings_permanent, IS_STR_PERMANENT);
260260
}
261261

262-
static zend_string *zend_string_init_interned_request(const char *str, size_t size, int permanent)
262+
static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, int permanent)
263263
{
264264
zend_string *ret;
265265
zend_ulong h = zend_inline_hash_func(str, size);

Zend/zend_string.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,19 @@
2626
BEGIN_EXTERN_C()
2727

2828
typedef void (*zend_string_copy_storage_func_t)(void);
29-
typedef zend_string *(*zend_new_interned_string_func_t)(zend_string *str);
30-
typedef zend_string *(*zend_string_init_interned_func_t)(const char *str, size_t size, int permanent);
29+
typedef zend_string *(ZEND_FASTCALL *zend_new_interned_string_func_t)(zend_string *str);
30+
typedef zend_string *(ZEND_FASTCALL *zend_string_init_interned_func_t)(const char *str, size_t size, int permanent);
3131

3232
ZEND_API extern zend_new_interned_string_func_t zend_new_interned_string;
3333
ZEND_API extern zend_string_init_interned_func_t zend_string_init_interned;
3434

35-
ZEND_API zend_ulong zend_hash_func(const char *str, size_t len);
35+
ZEND_API zend_ulong ZEND_FASTCALL zend_hash_func(const char *str, size_t len);
36+
ZEND_API zend_string* ZEND_FASTCALL zend_interned_string_find_permanent(zend_string *str);
37+
3638
ZEND_API void zend_interned_strings_init(void);
3739
ZEND_API void zend_interned_strings_dtor(void);
3840
ZEND_API void zend_interned_strings_activate(void);
3941
ZEND_API void zend_interned_strings_deactivate(void);
40-
ZEND_API zend_string *zend_interned_string_find_permanent(zend_string *str);
4142
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);
4243
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);
4344
ZEND_API void zend_interned_strings_switch_storage(zend_bool request);

ext/opcache/ZendAccelerator.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ static zend_always_inline zend_string *accel_find_interned_string(zend_string *s
437437
return NULL;
438438
}
439439

440-
zend_string *accel_new_interned_string(zend_string *str)
440+
zend_string* ZEND_FASTCALL accel_new_interned_string(zend_string *str)
441441
{
442442
zend_ulong h;
443443
uint32_t pos, *hash_slot;
@@ -493,7 +493,7 @@ zend_string *accel_new_interned_string(zend_string *str)
493493
return s;
494494
}
495495

496-
static zend_string *accel_new_interned_string_for_php(zend_string *str)
496+
static zend_string* ZEND_FASTCALL accel_new_interned_string_for_php(zend_string *str)
497497
{
498498
zend_string_hash_val(str);
499499
if (ZCG(counted)) {
@@ -528,7 +528,7 @@ static zend_always_inline zend_string *accel_find_interned_string_ex(zend_ulong
528528
return NULL;
529529
}
530530

531-
static zend_string *accel_init_interned_string_for_php(const char *str, size_t size, int permanent)
531+
static zend_string* ZEND_FASTCALL accel_init_interned_string_for_php(const char *str, size_t size, int permanent)
532532
{
533533
if (ZCG(counted)) {
534534
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
708708
} ZEND_HASH_FOREACH_END();
709709
}
710710

711-
static zend_string *accel_replace_string_by_shm_permanent(zend_string *str)
711+
static zend_string* ZEND_FASTCALL accel_replace_string_by_shm_permanent(zend_string *str)
712712
{
713713
zend_string *ret = accel_find_interned_string(str);
714714

@@ -719,7 +719,7 @@ static zend_string *accel_replace_string_by_shm_permanent(zend_string *str)
719719
return str;
720720
}
721721

722-
static zend_string *accel_replace_string_by_process_permanent(zend_string *str)
722+
static zend_string* ZEND_FASTCALL accel_replace_string_by_process_permanent(zend_string *str)
723723
{
724724
zend_string *ret = zend_interned_string_find_permanent(str);
725725

ext/opcache/ZendAccelerator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,6 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type);
333333
#define IS_ACCEL_INTERNED(str) \
334334
((char*)(str) >= (char*)ZCSG(interned_strings).start && (char*)(str) < (char*)ZCSG(interned_strings).top)
335335

336-
zend_string *accel_new_interned_string(zend_string *str);
336+
zend_string* ZEND_FASTCALL accel_new_interned_string(zend_string *str);
337337

338338
#endif /* ZEND_ACCELERATOR_H */

0 commit comments

Comments
 (0)