| -*- 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. |
| |
| |