|
40 | 40 | #define STRING_NOT_NULL(s) (NULL == (s)?"":s)
|
41 | 41 | #define MIN_ACCEL_FILES 200
|
42 | 42 | #define MAX_ACCEL_FILES 1000000
|
43 |
| -#define MAX_INTERNED_STRINGS_BUFFER_SIZE ((zend_long)((UINT32_MAX-PLATFORM_ALIGNMENT)/(1024*1024))) |
| 43 | +#define MAX_INTERNED_STRINGS_BUFFER_SIZE ((zend_long)((UINT32_MAX-PLATFORM_ALIGNMENT-sizeof(zend_accel_shared_globals))/(1024*1024))) |
44 | 44 | #define TOKENTOSTR(X) #X
|
45 | 45 |
|
46 | 46 | static zif_handler orig_file_exists = NULL;
|
@@ -507,7 +507,7 @@ void zend_accel_info(ZEND_MODULE_INFO_FUNC_ARGS)
|
507 | 507 | snprintf(buf, sizeof(buf), "%zu", ZSMMG(wasted_shared_memory));
|
508 | 508 | php_info_print_table_row(2, "Wasted memory", buf);
|
509 | 509 | if (ZCSG(interned_strings).start && ZCSG(interned_strings).end) {
|
510 |
| - snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).top - (char*)ZCSG(interned_strings).start)); |
| 510 | + snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).top - (char*)(accel_shared_globals + 1))); |
511 | 511 | php_info_print_table_row(2, "Interned Strings Used memory", buf);
|
512 | 512 | snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top));
|
513 | 513 | php_info_print_table_row(2, "Interned Strings Free memory", buf);
|
@@ -648,8 +648,8 @@ ZEND_FUNCTION(opcache_get_status)
|
648 | 648 | zval interned_strings_usage;
|
649 | 649 |
|
650 | 650 | array_init(&interned_strings_usage);
|
651 |
| - add_assoc_long(&interned_strings_usage, "buffer_size", (char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).start); |
652 |
| - add_assoc_long(&interned_strings_usage, "used_memory", (char*)ZCSG(interned_strings).top - (char*)ZCSG(interned_strings).start); |
| 651 | + add_assoc_long(&interned_strings_usage, "buffer_size", (char*)ZCSG(interned_strings).end - (char*)(accel_shared_globals + 1)); |
| 652 | + add_assoc_long(&interned_strings_usage, "used_memory", (char*)ZCSG(interned_strings).top - (char*)(accel_shared_globals + 1)); |
653 | 653 | add_assoc_long(&interned_strings_usage, "free_memory", (char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top);
|
654 | 654 | add_assoc_long(&interned_strings_usage, "number_of_strings", ZCSG(interned_strings).nNumOfElements);
|
655 | 655 | add_assoc_zval(return_value, "interned_strings_usage", &interned_strings_usage);
|
|
0 commit comments