You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
906 B

  1. -*- text -*-
  2. Pointer analysis to-do list
  3. ===========================
  4. CONSTRAINT GENERATION:
  5. - support reflection:
  6. - a couple of operators are missing
  7. - reflect.Values may contain lvalues (CanAddr)
  8. - implement native intrinsics. These vary by platform.
  9. - add to pts(a.panic) a label representing all runtime panics, e.g.
  10. runtime.{TypeAssertionError,errorString,errorCString}.
  11. OPTIMISATIONS
  12. - pre-solver:
  13. pointer equivalence: extend HVN to HRU
  14. location equivalence
  15. - solver: HCD, LCD.
  16. - experiment with map+slice worklist in lieu of bitset.
  17. It may have faster insert.
  18. MISC:
  19. - Test on all platforms.
  20. Currently we assume these go/build tags: linux, amd64, !cgo.
  21. MAINTAINABILITY
  22. - Think about ways to make debugging this code easier. PTA logs
  23. routinely exceed a million lines and require training to read.
  24. BUGS:
  25. - There's a crash bug in stdlib_test + reflection, rVCallConstraint.