Commit Graph
3500 Commits
Author SHA1 Message Date
Dmitry Stogov d5d31ea3b3 Cleanup observer API and add JIT support 2020-09-18 12:55:58 +03:00
Nikita Popov 34bb5ba2ea Remove support for EXT_NOP
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
2020-09-18 11:03:08 +02:00
Dmitry Stogov a9cbdafa69 Support for ZEND_COMPILE_EXTENDED_STMT 2020-09-17 23:19:28 +03:00
Dmitry Stogov 0f9aefa64f Fixed incorrect live-range construction 2020-09-17 19:39:44 +03:00
Dmitry Stogov 23429b5818 Fixed incorrect register allocation 2020-09-17 18:36:45 +03:00
Dmitry Stogov e9820bf470 Fixed memory leak in ext/spl/tests/bug77263.phpt 2020-09-17 11:55:50 +03:00
Nikita Popov 801cf66ab8 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #80083
2020-09-17 10:14:19 +02:00
Nikita Popov 9c136f10cd Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #80083
2020-09-17 10:13:53 +02:00
Nikita Popov a4f806aa79 Fixed bug #80083
Add db2_execute() to the list of functions accessing the local
scope. Ideally the API wouldn't do that, but it seems most
pragmatic to address this on the opcache side at this point.
2020-09-17 10:12:10 +02:00
Dmitry Stogov f786c0e097 Optimize code for FETCH_THIS + INIT_METHOD_CALL/ASSIGN_OBJ_OP/etc 2020-09-16 14:22:36 +03:00
Dmitry Stogov f896b982cc Exclude trait methods from call-graph 2020-09-16 12:04:29 +03:00
Dmitry Stogov e27776343f Fixed incorrect constant string access 2020-09-16 10:49:54 +03:00
Dmitry Stogov 5f1fb1a5a4 JIT for INIT_METHOD_CALL 2020-09-16 10:25:36 +03:00
George Peter Banyard 95f4ee38bb Add some ValueErrors to ext/date
Closes GH-5613
2020-09-16 01:29:28 +02:00
George Peter Banyard 7a95e943d6 Promote warnings to Error in MySQLi extension
Closes GH-5803
2020-09-15 19:12:02 +02:00
Dmitry Stogov f5bbb0480e Tracing JIT for INIT_DYNAMIC_CALL (closure only) 2020-09-15 15:57:57 +03:00
Máté Kocsis c37a1cd650 Promote a few remaining errors in ext/standard
Closes GH-6110
2020-09-15 14:26:16 +02:00
Christoph M. Becker f51bbcc2b2 Merge branch 'PHP-7.4' into master
* PHP-7.4:
  Avoid segfault if module/extension version is not defined
2020-09-14 22:36:00 +02:00
Christoph M. Becker 15236fb83e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Avoid segfault if module/extension version is not defined
2020-09-14 22:34:58 +02:00
Christoph M. Becker 4e198c0064 Avoid segfault if module/extension version is not defined 2020-09-14 22:34:10 +02:00
Dmitry Stogov a4c3aee5b2 Support for reference 2020-09-14 23:30:49 +03:00
Dmitry Stogov a351da55bf Simplify zend_jit_pre/post_inc/dec_typed_ref() helpers 2020-09-14 22:26:34 +03:00
Dmitry Stogov 8f342ad4d2 JIT for PRE/POST_INC/DEC_OBJ 2020-09-14 19:36:15 +03:00
George Peter Banyard d0111d785d Promote warnings to Errors in PostgreSQL extension
Do some drive by indentation fixes
Also fix pg_select() in regards to the $result_type arg which was missing from ZPP

Closes GH-6129
2020-09-14 17:01:35 +02:00
Dmitry Stogov bf515649ff JIT for ASSIGN_OBJ_OP 2020-09-14 13:31:41 +03:00
Dmitry Stogov 0a03291b51 Allocate Windows 64 shadow stack space 2020-09-14 10:41:22 +03:00
Benjamin Eberlei ff0e39bb4d Remove @jit Docblock support for now due to dev-time constraints 2020-09-14 09:21:05 +02:00
Nikita Popov 8446e28275 Handle missing result_var in binary_op_result_type
For dim/obj compound ops we don't have a result_var. Not sure why
this never caused issues before, but this can crash with JIT.
2020-09-11 22:36:41 +02:00
Dmitry Stogov ccd0348d52 Eliminate repeatable class guards and unnecessary IS_UNDEF property checks 2020-09-11 10:30:43 +03:00
Dmitry Stogov 7b0a053169 JIT for ASSIGN_OBJ 2020-09-10 23:41:50 +03:00
Dmitry Stogov 00076ef2b9 Attempt to fix bug #80014 (PHP 8.0 beta2 crashes with default JIT flags due to hardware incompatibility) 2020-09-10 09:34:32 +03:00
Dmitry Stogov d2efb7e6c4 Eliminate unnecessary IS_INDIRECT guards 2020-09-10 02:20:15 +03:00
Dmitry Stogov 1c59bd5caa Avoid more exception checks 2020-09-09 23:25:54 +03:00
Sammy Kaye Powers 3375374c33 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79825: opcache.file_cache causes SIGSEGV with custom opcode handlers
2020-09-09 13:00:25 -07:00
Nikita Popov 3861cb87c2 More pgsql func info fixes 2020-09-09 21:49:13 +02:00
Máté Kocsis 8a5e3e40a9 Fix opcache return type info for pgsql functions 2020-09-09 21:43:44 +02:00
Sammy Kaye Powers 1b5268265c Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79825: opcache.file_cache causes SIGSEGV with custom opcode handlers
2020-09-09 12:36:51 -07:00
Sammy Kaye Powers 2d4aa1ef3d Fix #79825: opcache.file_cache causes SIGSEGV with custom opcode handlers
Modules may have changed after restart which can cause dangling pointers from custom opcode handlers in the second-level cache files. This fix includes the installed module names and versions in the accel_system_id hash as entropy. Closes GH-5836
2020-09-09 12:08:19 -07:00
Dmitry Stogov 817ae41496 JIT for ASSIGN_DIM[_OP] with first IS_VAR + IS_INDIRECT operand 2020-09-09 21:41:48 +03:00
Dmitry Stogov ee9948bc46 Eliminate unnecessary exception checks 2020-09-09 16:15:37 +03:00
Máté Kocsis 9975986b7e Improve error messages mentioning parameters instead of arguments
Closes GH-5999
2020-09-09 10:47:43 +02:00
Dmitry Stogov c5b42be40e Fixed memory leak 2020-09-09 11:09:20 +03:00
Dmitry Stogov d6cc6b2dee Tracin JIT support for FETCH_DIM_W/RW with IS_VAR + IS_INDIRECT first operand. 2020-09-09 10:35:44 +03:00
Nikita Popov 536e5b4953 Pass correct op_info to zend_jit_fetch_dim() 2020-09-09 09:29:28 +02:00
Dmitry Stogov 73c7fa272d JIT for FETCH_DIM_W/RW insructions 2020-09-09 02:41:22 +03:00
Dmitry Stogov b106463d37 JIT for IN_ARRAY instruction. 2020-09-08 21:03:51 +03:00
Dmitry Stogov 02b645e47a JIT for FETCH_LIST_R 2020-09-08 16:47:15 +03:00
David Carlier 8e05c44496 Opcache JIT, code simplification for Haiku.
More straightforward approach to get the path of the
 current PHP process.

Closes GH-6082.
2020-09-07 10:15:28 +02:00
Dmitry Stogov 56a9eeda65 Avoid unnecessary IP initiliaization on trace linking 2020-09-04 11:42:13 +03:00
Dmitry Stogov 3f4a5003aa Cleanup macro/function names 2020-09-04 02:10:48 +03:00