-
Notifications
You must be signed in to change notification settings - Fork 8k
Improve jit tests #12425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve jit tests #12425
Changes from 9 commits
a3b0be8
37f4aab
da1bd74
db8c94e
cb1fb30
daea65b
13e8a3c
e958183
1048945
056c63f
745a346
99d54c9
c1af7fe
d7c6551
7c35921
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| <?php | ||
danog marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| register_shutdown_function(function () { | ||
| $status = opcache_get_status(false); | ||
| var_dump($status); | ||
|
|
||
| $ok = true; | ||
| if ($status["memory_usage"]["free_memory"] < 10*1024*1024) { | ||
danog marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| echo "Not enough free opcache memory!".PHP_EOL; | ||
| $ok = false; | ||
| } | ||
| if ($status["interned_strings_usage"]["free_memory"] < 1*1024*1024) { | ||
| echo "Not enough free interned strings memory!".PHP_EOL; | ||
| $ok = false; | ||
| } | ||
| if ($status["jit"]["buffer_free"] < 10*1024*1024) { | ||
| echo "Not enough free JIT memory!".PHP_EOL; | ||
| $ok = false; | ||
| } | ||
| if (!$status["jit"]["on"]) { | ||
| echo "JIT is not enabled!".PHP_EOL; | ||
| $ok = false; | ||
| } | ||
|
|
||
| unset($status); | ||
| gc_collect_cycles(); | ||
|
|
||
| if (!$ok) die(130); | ||
| }); | ||
|
|
||
| $argc--; | ||
| array_shift($argv); | ||
|
|
||
| $_SERVER['argc']--; | ||
| array_shift($_SERVER['argv']); | ||
|
|
||
| require $argv[0]; | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -305,6 +305,12 @@ function main(): void | |
| 'opcache.jit_hot_func=1', | ||
| 'opcache.jit_hot_return=1', | ||
| 'opcache.jit_hot_side_exit=1', | ||
| 'opcache.jit_max_root_traces=100000', | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we actually need this? Tests are small, it's unlikely we're hitting There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd like to use the same parameters everywhere, to avoid hitting any limit and not compiling any trace, in case the unit tests were to include some bigger integration tests in the future. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This setting may disable some tests in case they set a small There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @dstogov Updated the jit_buffer_size to be the same in all tests. |
||
| 'opcache.jit_max_side_traces=100000', | ||
| 'opcache.jit_max_exit_counters=100000', | ||
| 'opcache.jit_blacklist_root_trace=255', | ||
| 'opcache.jit_blacklist_side_trace=255', | ||
|
||
| 'opcache.protect_memory=1', | ||
| 'zend.assertions=1', | ||
| 'zend.exception_ignore_args=0', | ||
| 'zend.exception_string_param_max_len=15', | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.