rfc:php8:merge_symbol_tables
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision |
rfc:php8:merge_symbol_tables [2015/05/16 17:42] – created levim | rfc:php8:merge_symbol_tables [2017/09/22 13:28] – external edit 127.0.0.1 |
---|
| |
===== Proposal ===== | ===== Proposal ===== |
All class constants, properties and methods will logically share the same symbol table. They don't share the same table in memory because class constants and methods are stored on a ''zend_class_entry'' while properties are stored on a ''zend_object''. Whenever a new constant, property or method is defined all tables will be checked to ensure that there is no existing conflict. If a conflict is found an error will be emitted. | All class constants, properties and methods will logically share the same symbol table. Whenever a new constant, property or method is defined all tables will be checked to ensure that there is no existing conflict. If a conflict is found an error will be emitted. This strategy is based on the assumption that modifying the smallest amount of the engine is probably the best way forward. If we discover there are other benefits (perhaps in significantly reduced memory) we may unify the symbol tables. |
| |
===== Benefits ===== | ===== Benefits ===== |
rfc/php8/merge_symbol_tables.txt · Last modified: 2018/02/04 20:02 by levim