@@ -35,6 +35,7 @@ void php_v8_heap_statistics_create_from_heap_statistics(zval *return_value, v8::
3535 zend_update_property_double (this_ce, return_value, ZEND_STRL (" total_available_size" ), hs->total_available_size ());
3636 zend_update_property_double (this_ce, return_value, ZEND_STRL (" used_heap_size" ), hs->used_heap_size ());
3737 zend_update_property_double (this_ce, return_value, ZEND_STRL (" heap_size_limit" ), hs->heap_size_limit ());
38+ zend_update_property_double (this_ce, return_value, ZEND_STRL (" malloced_memory" ), hs->malloced_memory ());
3839
3940 zend_update_property_bool (this_ce, return_value, ZEND_STRL (" does_zap_garbage" ), static_cast <zend_long>(hs->does_zap_garbage ()));
4041
@@ -47,12 +48,13 @@ static PHP_METHOD(V8HeapStatistics, __construct) {
4748 double total_available_size = 0 ;
4849 double used_heap_size = 0 ;
4950 double heap_size_limit = 0 ;
51+ double malloced_memory = 0 ;
5052
5153 zend_bool does_zap_garbage = ' \0 ' ;
5254
53- if (zend_parse_parameters (ZEND_NUM_ARGS (), " |ddddddb " ,
55+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " |dddddddb " ,
5456 &total_heap_size, &total_heap_size_executable, &total_physical_size, &total_available_size,
55- &used_heap_size, &heap_size_limit, &does_zap_garbage) == FAILURE) {
57+ &used_heap_size, &heap_size_limit, &malloced_memory, & does_zap_garbage) == FAILURE) {
5658 return ;
5759 }
5860
@@ -62,6 +64,7 @@ static PHP_METHOD(V8HeapStatistics, __construct) {
6264 zend_update_property_double (this_ce, getThis (), ZEND_STRL (" total_available_size" ), total_available_size);
6365 zend_update_property_double (this_ce, getThis (), ZEND_STRL (" used_heap_size" ), used_heap_size);
6466 zend_update_property_double (this_ce, getThis (), ZEND_STRL (" heap_size_limit" ), heap_size_limit);
67+ zend_update_property_double (this_ce, getThis (), ZEND_STRL (" malloced_memory" ), malloced_memory);
6568
6669 zend_update_property_bool (this_ce, getThis (), ZEND_STRL (" does_zap_garbage" ), does_zap_garbage);
6770}
@@ -126,6 +129,16 @@ static PHP_METHOD(V8HeapStatistics, heap_size_limit) {
126129 RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" heap_size_limit" ), 0 , &rv), 1 , 0 );
127130}
128131
132+ static PHP_METHOD (V8HeapStatistics, malloced_memory) {
133+ zval rv;
134+
135+ if (zend_parse_parameters_none () == FAILURE) {
136+ return ;
137+ }
138+
139+ RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" malloced_memory" ), 0 , &rv), 1 , 0 );
140+ }
141+
129142static PHP_METHOD (V8HeapStatistics, does_zap_garbage) {
130143 zval rv;
131144
@@ -144,6 +157,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_v8_heap_statistics___construct, ZEND_SEND_BY_VAL,
144157 ZEND_ARG_TYPE_INFO(0 , total_available_size, IS_DOUBLE, 0 )
145158 ZEND_ARG_TYPE_INFO(0 , used_heap_size, IS_DOUBLE, 0 )
146159 ZEND_ARG_TYPE_INFO(0 , heap_size_limit, IS_DOUBLE, 0 )
160+ ZEND_ARG_TYPE_INFO(0 , malloced_memory, IS_DOUBLE, 0 )
161+ ZEND_ARG_TYPE_INFO(0 , peak_malloced_memory, IS_DOUBLE, 0 )
162+
147163 ZEND_ARG_TYPE_INFO(0 , does_zap_garbage, _IS_BOOL, 0 )
148164ZEND_END_ARG_INFO()
149165
@@ -165,6 +181,9 @@ ZEND_END_ARG_INFO()
165181ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__heap_size_limit, ZEND_RETURN_VALUE, 0 , IS_DOUBLE, NULL , 0 )
166182ZEND_END_ARG_INFO()
167183
184+ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__malloced_memory, ZEND_RETURN_VALUE, 0 , IS_DOUBLE, NULL , 0 )
185+ ZEND_END_ARG_INFO()
186+
168187ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_v8_heap_statistics__does_zap_garbage, ZEND_RETURN_VALUE, 0 , _IS_BOOL, NULL , 0 )
169188ZEND_END_ARG_INFO()
170189
@@ -178,6 +197,7 @@ static const zend_function_entry php_v8_heap_statistics_methods[] = {
178197 PHP_ME (V8HeapStatistics, total_available_size, arginfo_v8_heap_statistics__total_available_size, ZEND_ACC_PUBLIC)
179198 PHP_ME (V8HeapStatistics, used_heap_size, arginfo_v8_heap_statistics__used_heap_size, ZEND_ACC_PUBLIC)
180199 PHP_ME (V8HeapStatistics, heap_size_limit, arginfo_v8_heap_statistics__heap_size_limit, ZEND_ACC_PUBLIC)
200+ PHP_ME (V8HeapStatistics, malloced_memory, arginfo_v8_heap_statistics__malloced_memory, ZEND_ACC_PUBLIC)
181201 PHP_ME (V8HeapStatistics, does_zap_garbage, arginfo_v8_heap_statistics__does_zap_garbage, ZEND_ACC_PUBLIC)
182202
183203 PHP_FE_END
@@ -195,6 +215,7 @@ PHP_MINIT_FUNCTION (php_v8_heap_statistics) {
195215 zend_declare_property_double (this_ce, ZEND_STRL (" total_available_size" ), 0 , ZEND_ACC_PRIVATE);
196216 zend_declare_property_double (this_ce, ZEND_STRL (" used_heap_size" ), 0 , ZEND_ACC_PRIVATE);
197217 zend_declare_property_double (this_ce, ZEND_STRL (" heap_size_limit" ), 0 , ZEND_ACC_PRIVATE);
218+ zend_declare_property_double (this_ce, ZEND_STRL (" malloced_memory" ), 0 , ZEND_ACC_PRIVATE);
198219
199220 zend_declare_property_bool (this_ce, ZEND_STRL (" does_zap_garbage" ), false , ZEND_ACC_PRIVATE);
200221
0 commit comments