ideas:php6:engine
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
ideas:php6:engine [2014/03/05 13:48] – created jpauli | ideas:php6:engine [2014/05/08 16:27] – Support Bison 3.0 levim | ||
---|---|---|---|
Line 10: | Line 10: | ||
* number of contributors | * number of contributors | ||
* timetable (2 years development) | * timetable (2 years development) | ||
- | |||
- | |||
- | Here is a picture I once designed, representing ZendEngine 2.3: | ||
- | |||
- | {{http:// | ||
* Cleanup API and dead code | * Cleanup API and dead code | ||
Line 20: | 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 27: | 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 | ||
* VM | * VM | ||
* Executor rewrite | * Executor rewrite | ||
- | * JIT executor | + | * JIT executor |
* Threaded VM | * Threaded VM | ||
* IO threads ? | * IO threads ? | ||
Line 45: | Line 45: | ||
* 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 57: | Line 58: | ||
* 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 | ||
+ | * [[ideas/ | ||
+ | * http:// | ||
+ | * http:// |
ideas/php6/engine.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1