Skip to content

Commit 8f6a330

Browse files
committed
add stub and auto-generated arginfo
1 parent 7c1572f commit 8f6a330

File tree

5 files changed

+120
-26
lines changed

5 files changed

+120
-26
lines changed

memprof.c

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@
3232
#endif
3333
#include <assert.h>
3434

35+
#if PHP_VERSION_ID < 80000
36+
#include "memprof_legacy_arginfo.h"
37+
#else
38+
#include "memprof_arginfo.h"
39+
#endif
40+
3541
#define MEMPROF_ENV_PROFILE "MEMPROF_PROFILE"
3642
#define MEMPROF_FLAG_NATIVE "native"
3743
#define MEMPROF_FLAG_DUMP_ON_LIMIT "dump_on_limit"
@@ -1027,35 +1033,10 @@ ZEND_DLEXPORT zend_extension zend_extension_entry = {
10271033
STANDARD_ZEND_EXTENSION_PROPERTIES
10281034
};
10291035

1030-
ZEND_BEGIN_ARG_INFO_EX(arginfo_memprof_dump_callgrind, 0, 0, 1)
1031-
ZEND_ARG_INFO(0, handle)
1032-
ZEND_END_ARG_INFO()
1033-
1034-
ZEND_BEGIN_ARG_INFO_EX(arginfo_memprof_dump_pprof, 0, 0, 1)
1035-
ZEND_ARG_INFO(0, handle)
1036-
ZEND_END_ARG_INFO()
1037-
1038-
ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0)
1039-
ZEND_END_ARG_INFO()
1040-
10411036
ZEND_BEGIN_ARG_INFO_EX(arginfo_memprof_memory_get_usage, 0, 0, 0)
10421037
ZEND_ARG_INFO(0, real)
10431038
ZEND_END_ARG_INFO()
10441039

1045-
/* {{{ memprof_functions[]
1046-
*/
1047-
const zend_function_entry memprof_functions[] = {
1048-
PHP_FE(memprof_enabled, arginfo_void)
1049-
PHP_FE(memprof_enabled_flags, arginfo_void)
1050-
PHP_FE(memprof_enable, arginfo_void)
1051-
PHP_FE(memprof_disable, arginfo_void)
1052-
PHP_FE(memprof_dump_array, arginfo_void)
1053-
PHP_FE(memprof_dump_callgrind, arginfo_memprof_dump_callgrind)
1054-
PHP_FE(memprof_dump_pprof, arginfo_memprof_dump_pprof)
1055-
PHP_FE_END /* Must be the last line in memprof_functions[] */
1056-
};
1057-
/* }}} */
1058-
10591040
/* {{{ memprof_functions_overrides[]
10601041
*/
10611042
const zend_function_entry memprof_function_overrides[] = {
@@ -1070,7 +1051,7 @@ const zend_function_entry memprof_function_overrides[] = {
10701051
zend_module_entry memprof_module_entry = {
10711052
STANDARD_MODULE_HEADER,
10721053
MEMPROF_NAME,
1073-
memprof_functions,
1054+
ext_functions,
10741055
PHP_MINIT(memprof),
10751056
PHP_MSHUTDOWN(memprof),
10761057
PHP_RINIT(memprof),

memprof.stub.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
/**
4+
* @generate-function-entries
5+
* @generate-legacy-arginfo
6+
*/
7+
8+
function memprof_enabled(): bool {}
9+
10+
function memprof_enabled_flags(): array {}
11+
12+
function memprof_enable(): bool {}
13+
14+
function memprof_disable(): bool {}
15+
16+
function memprof_dump_array(): void {}
17+
18+
/**
19+
* @param resource $handle
20+
*/
21+
function memprof_dump_callgrind($handle): void {}
22+
23+
/**
24+
* @param resource $handle
25+
*/
26+
function memprof_dump_pprof($handle): void {}
27+
28+

memprof_arginfo.h

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/* This is a generated file, edit the .stub.php file instead.
2+
* Stub hash: ce1c6e7b3be72716852657a9976e6c38c2af6722 */
3+
4+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_memprof_enabled, 0, 0, _IS_BOOL, 0)
5+
ZEND_END_ARG_INFO()
6+
7+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_memprof_enabled_flags, 0, 0, IS_ARRAY, 0)
8+
ZEND_END_ARG_INFO()
9+
10+
#define arginfo_memprof_enable arginfo_memprof_enabled
11+
12+
#define arginfo_memprof_disable arginfo_memprof_enabled
13+
14+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_memprof_dump_array, 0, 0, IS_VOID, 0)
15+
ZEND_END_ARG_INFO()
16+
17+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_memprof_dump_callgrind, 0, 1, IS_VOID, 0)
18+
ZEND_ARG_INFO(0, handle)
19+
ZEND_END_ARG_INFO()
20+
21+
#define arginfo_memprof_dump_pprof arginfo_memprof_dump_callgrind
22+
23+
24+
ZEND_FUNCTION(memprof_enabled);
25+
ZEND_FUNCTION(memprof_enabled_flags);
26+
ZEND_FUNCTION(memprof_enable);
27+
ZEND_FUNCTION(memprof_disable);
28+
ZEND_FUNCTION(memprof_dump_array);
29+
ZEND_FUNCTION(memprof_dump_callgrind);
30+
ZEND_FUNCTION(memprof_dump_pprof);
31+
32+
33+
static const zend_function_entry ext_functions[] = {
34+
ZEND_FE(memprof_enabled, arginfo_memprof_enabled)
35+
ZEND_FE(memprof_enabled_flags, arginfo_memprof_enabled_flags)
36+
ZEND_FE(memprof_enable, arginfo_memprof_enable)
37+
ZEND_FE(memprof_disable, arginfo_memprof_disable)
38+
ZEND_FE(memprof_dump_array, arginfo_memprof_dump_array)
39+
ZEND_FE(memprof_dump_callgrind, arginfo_memprof_dump_callgrind)
40+
ZEND_FE(memprof_dump_pprof, arginfo_memprof_dump_pprof)
41+
ZEND_FE_END
42+
};

memprof_legacy_arginfo.h

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/* This is a generated file, edit the .stub.php file instead.
2+
* Stub hash: ce1c6e7b3be72716852657a9976e6c38c2af6722 */
3+
4+
ZEND_BEGIN_ARG_INFO_EX(arginfo_memprof_enabled, 0, 0, 0)
5+
ZEND_END_ARG_INFO()
6+
7+
#define arginfo_memprof_enabled_flags arginfo_memprof_enabled
8+
9+
#define arginfo_memprof_enable arginfo_memprof_enabled
10+
11+
#define arginfo_memprof_disable arginfo_memprof_enabled
12+
13+
#define arginfo_memprof_dump_array arginfo_memprof_enabled
14+
15+
ZEND_BEGIN_ARG_INFO_EX(arginfo_memprof_dump_callgrind, 0, 0, 1)
16+
ZEND_ARG_INFO(0, handle)
17+
ZEND_END_ARG_INFO()
18+
19+
#define arginfo_memprof_dump_pprof arginfo_memprof_dump_callgrind
20+
21+
22+
ZEND_FUNCTION(memprof_enabled);
23+
ZEND_FUNCTION(memprof_enabled_flags);
24+
ZEND_FUNCTION(memprof_enable);
25+
ZEND_FUNCTION(memprof_disable);
26+
ZEND_FUNCTION(memprof_dump_array);
27+
ZEND_FUNCTION(memprof_dump_callgrind);
28+
ZEND_FUNCTION(memprof_dump_pprof);
29+
30+
31+
static const zend_function_entry ext_functions[] = {
32+
ZEND_FE(memprof_enabled, arginfo_memprof_enabled)
33+
ZEND_FE(memprof_enabled_flags, arginfo_memprof_enabled_flags)
34+
ZEND_FE(memprof_enable, arginfo_memprof_enable)
35+
ZEND_FE(memprof_disable, arginfo_memprof_disable)
36+
ZEND_FE(memprof_dump_array, arginfo_memprof_dump_array)
37+
ZEND_FE(memprof_dump_callgrind, arginfo_memprof_dump_callgrind)
38+
ZEND_FE(memprof_dump_pprof, arginfo_memprof_dump_pprof)
39+
ZEND_FE_END
40+
};

package.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
<dir name="/">
2929
<file name="config.m4" role="src" />
3030
<file name="memprof.c" role="src" />
31+
<file name="memprof.stub.php" role="src" />
32+
<file name="memprof_arginfo.h" role="src" />
33+
<file name="memprof_legacy_arginfo.h" role="src" />
3134
<file name="php_memprof.h" role="src" />
3235
<file name="util.c" role="src" />
3336
<file name="util.h" role="src" />

0 commit comments

Comments
 (0)