sccp_010.phpt 737 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. SCCP 010: Conditional Constant Propagation of non-escaping object properties
  3. --INI--
  4. opcache.enable=1
  5. opcache.enable_cli=1
  6. opcache.optimization_level=-1
  7. opcache.opt_debug_level=0x20000
  8. opcache.preload=
  9. --EXTENSIONS--
  10. opcache
  11. --FILE--
  12. <?php
  13. function foo() {
  14. $o = new stdClass();
  15. $o->foo = 0;
  16. $i = 1;
  17. $c = $i < 2;
  18. if ($c) {
  19. $k = 2 * $i;
  20. $o->foo = $i;
  21. echo $o->foo;
  22. }
  23. echo $o->foo;
  24. }
  25. ?>
  26. --EXPECTF--
  27. $_main:
  28. ; (lines=1, args=0, vars=0, tmps=0)
  29. ; (after optimizer)
  30. ; %ssccp_010.php:1-15
  31. 0000 RETURN int(1)
  32. foo:
  33. ; (lines=3, args=0, vars=0, tmps=0)
  34. ; (after optimizer)
  35. ; %ssccp_010.php:2-13
  36. 0000 ECHO string("1")
  37. 0001 ECHO string("1")
  38. 0002 RETURN null