hg: valhalla/valhalla/langtools: Add support for tracking 'any'-related opcodes
john.r.rose at oracle.com
Tue Jul 29 00:20:43 UTC 2014
On Jul 28, 2014, at 4:40 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
> This looks promising - are you envisioning some kind of 'inference' in the VM in order to figure out the 'width' of the v* opcodes? That might be non-trivial as it would probably mean propagate type info from the local var table attribute? An alternative perhaps could be to accept an extra operand containing the 'width' (i.e. 1 for int, 2 for double/long, n for value types).
Which opcode would have an ambiguous input? Can't you always tell whether it is I, J, or some specific value type?
...Or any other type: Seems to me that, for correctness, we only need v* and none of the [ailfd]*, if we do very simple forward-only inference, like that supported by FrameMaps already.
More information about the valhalla-dev