There was an error while loading. Please reload this page.
zend_compile_expr_inner()
1 parent 6c7eeb9 commit dcdc8abCopy full SHA for dcdc8ab
1 file changed
Zend/zend_compile.c
@@ -12447,7 +12447,9 @@ static void zend_compile_stmt(zend_ast *ast) /* {{{ */
12447
}
12448
/* }}} */
12449
12450
-static void zend_compile_expr_inner(znode *result, zend_ast *ast) /* {{{ */
+/* Keep this out of zend_compile_expr(): the two form a recursion cycle, so inlining merges this
12451
+ * frame into every nesting level of an expression, tripling the stack needed to compile it. */
12452
+static zend_never_inline void zend_compile_expr_inner(znode *result, zend_ast *ast) /* {{{ */
12453
{
12454
/* CG(zend_lineno) = ast->lineno; */
12455
CG(zend_lineno) = zend_ast_get_lineno(ast);
0 commit comments