zend_dump.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Zend Engine, Bytecode Visualisation |
  4. +----------------------------------------------------------------------+
  5. | Copyright (c) 1998-2018 The PHP Group |
  6. +----------------------------------------------------------------------+
  7. | This source file is subject to version 3.01 of the PHP license, |
  8. | that is bundled with this package in the file LICENSE, and is |
  9. | available through the world-wide-web at the following url: |
  10. | http://www.php.net/license/3_01.txt |
  11. | If you did not receive a copy of the PHP license and are unable to |
  12. | obtain it through the world-wide-web, please send a note to |
  13. | license@php.net so we can mail you a copy immediately. |
  14. +----------------------------------------------------------------------+
  15. | Authors: Dmitry Stogov <dmitry@php.net> |
  16. +----------------------------------------------------------------------+
  17. */
  18. #ifndef ZEND_DUMP_H
  19. #define ZEND_DUMP_H
  20. #include "zend_ssa.h"
  21. #include "zend_dfg.h"
  22. #define ZEND_DUMP_HIDE_UNREACHABLE (1<<0)
  23. #define ZEND_DUMP_RC_INFERENCE (1<<1)
  24. #define ZEND_DUMP_CFG (1<<2)
  25. #define ZEND_DUMP_SSA (1<<3)
  26. #define ZEND_DUMP_RT_CONSTANTS ZEND_RT_CONSTANTS
  27. BEGIN_EXTERN_C()
  28. void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, const char *msg, const void *data);
  29. void zend_dump_dominators(const zend_op_array *op_array, const zend_cfg *cfg);
  30. void zend_dump_dfg(const zend_op_array *op_array, const zend_cfg *cfg, const zend_dfg *dfg);
  31. void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa);
  32. void zend_dump_variables(const zend_op_array *op_array);
  33. void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa, uint32_t dump_flags);
  34. void zend_dump_var(const zend_op_array *op_array, zend_uchar var_type, int var_num);
  35. void zend_dump_op_array_name(const zend_op_array *op_array);
  36. void zend_dump_const(const zval *zv);
  37. void zend_dump_ht(HashTable *ht);
  38. END_EXTERN_C()
  39. #endif /* ZEND_DUMP_H */
  40. /*
  41. * Local variables:
  42. * tab-width: 4
  43. * c-basic-offset: 4
  44. * indent-tabs-mode: t
  45. * End:
  46. */