|
41 | 41 | #define STRING_NOT_NULL(s) (NULL == (s)?"":s)
|
42 | 42 | #define MIN_ACCEL_FILES 200
|
43 | 43 | #define MAX_ACCEL_FILES 1000000
|
44 |
| -#define MAX_INTERNED_STRINGS_BUFFER_SIZE ((zend_long)((UINT32_MAX-PLATFORM_ALIGNMENT)/(1024*1024))) |
| 44 | +#define MAX_INTERNED_STRINGS_BUFFER_SIZE ((zend_long)((UINT32_MAX-PLATFORM_ALIGNMENT-sizeof(zend_accel_shared_globals))/(1024*1024))) |
45 | 45 | #define TOKENTOSTR(X) #X
|
46 | 46 |
|
47 | 47 | static zif_handler orig_file_exists = NULL;
|
@@ -525,7 +525,7 @@ void zend_accel_info(ZEND_MODULE_INFO_FUNC_ARGS)
|
525 | 525 | snprintf(buf, sizeof(buf), "%zu", ZSMMG(wasted_shared_memory));
|
526 | 526 | php_info_print_table_row(2, "Wasted memory", buf);
|
527 | 527 | if (ZCSG(interned_strings).start && ZCSG(interned_strings).end) {
|
528 |
| - snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).top - (char*)ZCSG(interned_strings).start)); |
| 528 | + snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).top - (char*)(accel_shared_globals + 1))); |
529 | 529 | php_info_print_table_row(2, "Interned Strings Used memory", buf);
|
530 | 530 | snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top));
|
531 | 531 | php_info_print_table_row(2, "Interned Strings Free memory", buf);
|
@@ -686,8 +686,8 @@ ZEND_FUNCTION(opcache_get_status)
|
686 | 686 | zval interned_strings_usage;
|
687 | 687 |
|
688 | 688 | array_init(&interned_strings_usage);
|
689 |
| - add_assoc_long(&interned_strings_usage, "buffer_size", (char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).start); |
690 |
| - add_assoc_long(&interned_strings_usage, "used_memory", (char*)ZCSG(interned_strings).top - (char*)ZCSG(interned_strings).start); |
| 689 | + add_assoc_long(&interned_strings_usage, "buffer_size", (char*)ZCSG(interned_strings).end - (char*)(accel_shared_globals + 1)); |
| 690 | + add_assoc_long(&interned_strings_usage, "used_memory", (char*)ZCSG(interned_strings).top - (char*)(accel_shared_globals + 1)); |
691 | 691 | add_assoc_long(&interned_strings_usage, "free_memory", (char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top);
|
692 | 692 | add_assoc_long(&interned_strings_usage, "number_of_strings", ZCSG(interned_strings).nNumOfElements);
|
693 | 693 | add_assoc_zval(return_value, "interned_strings_usage", &interned_strings_usage);
|
|
0 commit comments