ideas:php6:engine
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ideas:php6:engine [2014/03/11 09:44] – jpauli | ideas:php6:engine [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== PHP6 ZendEngine thoughts ==== | + | ==== PHP 7 ZendEngine thoughts ==== |
Note: | Note: | ||
Line 10: | Line 10: | ||
* number of contributors | * number of contributors | ||
* timetable (2 years development) | * timetable (2 years development) | ||
- | |||
- | |||
* Cleanup API and dead code | * Cleanup API and dead code | ||
Line 17: | Line 15: | ||
* Clear conventions between macros and functions | * Clear conventions between macros and functions | ||
* Clear those | * Clear those | ||
+ | |||
+ | * Update dependencies. | ||
+ | * Notably support Bison 3.0+. | ||
* Define a true C/C++ API | * Define a true C/C++ API | ||
Line 24: | Line 25: | ||
* Keep the extension-based build. Smaller pieces, better code maintaining | * Keep the extension-based build. Smaller pieces, better code maintaining | ||
* Merge SPL to the engine (at least, deep engine related stuff in SPL, such as the exception classes, the iterators and the functions like class_parents()) | * Merge SPL to the engine (at least, deep engine related stuff in SPL, such as the exception classes, the iterators and the functions like class_parents()) | ||
+ | * Rework Phar. Phar has too many engine hooks and voodoos, this must be rethought | ||
* Ehance extensions power | * Ehance extensions power | ||
* Keep distinction between zend extensions and php extensions ? https:// | * Keep distinction between zend extensions and php extensions ? https:// | ||
- | * Use of other engine hooks ? other VM hooks ? | + | * Use of other engine hooks ? other VM hooks ? (object store hooks, hashtable hooks ..? ) |
+ | * Remove old PHP4 support in ext code | ||
+ | * Refactor error handler for extensions to be able to stack them like zend_execute | ||
* VM | * VM | ||
* Executor rewrite | * Executor rewrite | ||
- | * JIT executor | + | * JIT executor |
* Threaded VM | * Threaded VM | ||
* IO threads ? | * IO threads ? | ||
Line 42: | Line 46: | ||
* OPCache integration | * OPCache integration | ||
* OPcode binary data based compiler (phalanger, phpcompiler.org, | * OPcode binary data based compiler (phalanger, phpcompiler.org, | ||
+ | * Create a flag to prevent separation of arguments in function calls ? | ||
* Arrays/ | * Arrays/ | ||
Line 54: | Line 59: | ||
* Improve DTrace usage | * Improve DTrace usage | ||
* Give Linux process-probes a try (SystempTap, | * Give Linux process-probes a try (SystempTap, | ||
+ | * Add more debug level (we already have bunch of macros, such as " | ||
* See also | * See also |
ideas/php6/engine.1394531048.txt.gz · Last modified: 2017/09/22 13:28 (external edit)