Browse Source

Prevent optimization of huge functions.

pull/2136/head
Dmitry Stogov 9 years ago
parent
commit
846441ab4b
  1. 5
      ext/opcache/Optimizer/zend_ssa.c

5
ext/opcache/Optimizer/zend_ssa.c

@ -847,6 +847,11 @@ int zend_build_ssa(zend_arena **arena, const zend_script *script, const zend_op_
ALLOCA_FLAG(dfg_use_heap)
ALLOCA_FLAG(var_use_heap)
if ((blocks_count * (op_array->last_var + op_array->T)) > 4 * 1024 * 1024) {
/* Don't buld SSA for very big functions */
return FAILURE;
}
ssa->rt_constants = (build_flags & ZEND_RT_CONSTANTS);
ssa_blocks = zend_arena_calloc(arena, blocks_count, sizeof(zend_ssa_block));
if (!ssa_blocks) {

Loading…
Cancel
Save