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