@@ -36,9 +36,9 @@ void php_v8_heap_statistics_create_from_heap_statistics(zval *return_value, v8::
36
36
zend_update_property_double (this_ce, return_value, ZEND_STRL (" used_heap_size" ), hs->used_heap_size ());
37
37
zend_update_property_double (this_ce, return_value, ZEND_STRL (" heap_size_limit" ), hs->heap_size_limit ());
38
38
zend_update_property_double (this_ce, return_value, ZEND_STRL (" malloced_memory" ), hs->malloced_memory ());
39
+ zend_update_property_double (this_ce, return_value, ZEND_STRL (" peak_malloced_memory" ), hs->peak_malloced_memory ());
39
40
40
41
zend_update_property_bool (this_ce, return_value, ZEND_STRL (" does_zap_garbage" ), static_cast <zend_long>(hs->does_zap_garbage ()));
41
-
42
42
}
43
43
44
44
static PHP_METHOD (V8HeapStatistics, __construct) {
@@ -49,12 +49,14 @@ static PHP_METHOD(V8HeapStatistics, __construct) {
49
49
double used_heap_size = 0 ;
50
50
double heap_size_limit = 0 ;
51
51
double malloced_memory = 0 ;
52
+ double peak_malloced_memory = 0 ;
52
53
53
54
zend_bool does_zap_garbage = ' \0 ' ;
54
55
55
- if (zend_parse_parameters (ZEND_NUM_ARGS (), " |dddddddb " ,
56
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " |" " dddd " " dddd " " b " ,
56
57
&total_heap_size, &total_heap_size_executable, &total_physical_size, &total_available_size,
57
- &used_heap_size, &heap_size_limit, &malloced_memory, &does_zap_garbage) == FAILURE) {
58
+ &used_heap_size, &heap_size_limit, &malloced_memory, &peak_malloced_memory,
59
+ &does_zap_garbage) == FAILURE) {
58
60
return ;
59
61
}
60
62
@@ -65,6 +67,7 @@ static PHP_METHOD(V8HeapStatistics, __construct) {
65
67
zend_update_property_double (this_ce, getThis (), ZEND_STRL (" used_heap_size" ), used_heap_size);
66
68
zend_update_property_double (this_ce, getThis (), ZEND_STRL (" heap_size_limit" ), heap_size_limit);
67
69
zend_update_property_double (this_ce, getThis (), ZEND_STRL (" malloced_memory" ), malloced_memory);
70
+ zend_update_property_double (this_ce, getThis (), ZEND_STRL (" peak_malloced_memory" ), peak_malloced_memory);
68
71
69
72
zend_update_property_bool (this_ce, getThis (), ZEND_STRL (" does_zap_garbage" ), does_zap_garbage);
70
73
}
@@ -139,6 +142,16 @@ static PHP_METHOD(V8HeapStatistics, malloced_memory) {
139
142
RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" malloced_memory" ), 0 , &rv), 1 , 0 );
140
143
}
141
144
145
+ static PHP_METHOD (V8HeapStatistics, peak_malloced_memory) {
146
+ zval rv;
147
+
148
+ if (zend_parse_parameters_none () == FAILURE) {
149
+ return ;
150
+ }
151
+
152
+ RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" peak_malloced_memory" ), 0 , &rv), 1 , 0 );
153
+ }
154
+
142
155
static PHP_METHOD (V8HeapStatistics, does_zap_garbage) {
143
156
zval rv;
144
157
@@ -155,6 +168,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_v8_heap_statistics___construct, ZEND_SEND_BY_VAL,
155
168
ZEND_ARG_TYPE_INFO(0 , total_heap_size_executable, IS_DOUBLE, 0 )
156
169
ZEND_ARG_TYPE_INFO(0 , total_physical_size, IS_DOUBLE, 0 )
157
170
ZEND_ARG_TYPE_INFO(0 , total_available_size, IS_DOUBLE, 0 )
171
+
158
172
ZEND_ARG_TYPE_INFO(0 , used_heap_size, IS_DOUBLE, 0 )
159
173
ZEND_ARG_TYPE_INFO(0 , heap_size_limit, IS_DOUBLE, 0 )
160
174
ZEND_ARG_TYPE_INFO(0 , malloced_memory, IS_DOUBLE, 0 )
@@ -184,6 +198,9 @@ ZEND_END_ARG_INFO()
184
198
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__malloced_memory, ZEND_RETURN_VALUE, 0 , IS_DOUBLE, NULL , 0 )
185
199
ZEND_END_ARG_INFO()
186
200
201
+ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__peak_malloced_memory, ZEND_RETURN_VALUE, 0 , IS_DOUBLE, NULL , 0 )
202
+ ZEND_END_ARG_INFO()
203
+
187
204
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__does_zap_garbage, ZEND_RETURN_VALUE, 0 , _IS_BOOL, NULL , 0 )
188
205
ZEND_END_ARG_INFO()
189
206
@@ -198,6 +215,7 @@ static const zend_function_entry php_v8_heap_statistics_methods[] = {
198
215
PHP_ME (V8HeapStatistics, used_heap_size, arginfo_v8_heap_statistics__used_heap_size, ZEND_ACC_PUBLIC)
199
216
PHP_ME (V8HeapStatistics, heap_size_limit, arginfo_v8_heap_statistics__heap_size_limit, ZEND_ACC_PUBLIC)
200
217
PHP_ME (V8HeapStatistics, malloced_memory, arginfo_v8_heap_statistics__malloced_memory, ZEND_ACC_PUBLIC)
218
+ PHP_ME (V8HeapStatistics, peak_malloced_memory, arginfo_v8_heap_statistics__peak_malloced_memory, ZEND_ACC_PUBLIC)
201
219
PHP_ME (V8HeapStatistics, does_zap_garbage, arginfo_v8_heap_statistics__does_zap_garbage, ZEND_ACC_PUBLIC)
202
220
203
221
PHP_FE_END
@@ -216,6 +234,7 @@ PHP_MINIT_FUNCTION (php_v8_heap_statistics) {
216
234
zend_declare_property_double (this_ce, ZEND_STRL (" used_heap_size" ), 0 , ZEND_ACC_PRIVATE);
217
235
zend_declare_property_double (this_ce, ZEND_STRL (" heap_size_limit" ), 0 , ZEND_ACC_PRIVATE);
218
236
zend_declare_property_double (this_ce, ZEND_STRL (" malloced_memory" ), 0 , ZEND_ACC_PRIVATE);
237
+ zend_declare_property_double (this_ce, ZEND_STRL (" peak_malloced_memory" ), 0 , ZEND_ACC_PRIVATE);
219
238
220
239
zend_declare_property_bool (this_ce, ZEND_STRL (" does_zap_garbage" ), false , ZEND_ACC_PRIVATE);
221
240
0 commit comments