diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-15 17:04:24 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-22 11:12:04 +0100 |
commit | a50198d0fef652ca052cda642d6e98a9101eb73f (patch) | |
tree | 8bd51746c7418ae0826d527eb57fbebdb67b05d7 /Zend/zend_globals.h | |
parent | 50ddff94b9989342e66678c311b3abf4e7d5a074 (diff) | |
download | php-git-a50198d0fef652ca052cda642d6e98a9101eb73f.tar.gz |
Implement ??= operator
RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator
$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.
Diffstat (limited to 'Zend/zend_globals.h')
-rw-r--r-- | Zend/zend_globals.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 460e0056e0..d558fa9ad8 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -116,6 +116,8 @@ struct _zend_compiler_globals { zend_arena *ast_arena; zend_stack delayed_oplines_stack; + HashTable *memoized_exprs; + int memoize_mode; void *map_ptr_base; size_t map_ptr_size; |