1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
* Cleanup work remaining [6/7]
- [X] Remove the old 'fnCall' and 'fnParam' overloads.
- [X] Remove 'retFloat' and 'callFloat'.
- [X] Make 'call' and 'ret' take a plain size instead of a ValType.
- [ ] Make a listing require a TypeDesc parameter.
- [X] Remove opRef inside Operand.
- [X] Remove 'ValType'.
- [X] Remove RedirectParam.
* Minor issues [0/2]
- [ ] A sequence of 'fnParamRef(ptrRel(ptrA, Offset::sPtr))'... will not work properly. We're only
checking if sources are registers, and we do not care if they are relative a register.
- [ ] Shift operations have no 64-bit transform on X86.
* Improvements [0/1]
- [ ] Rework how 'parts' are managed in a listing. We want it to be possible to
enable destruction of a variable at a more or less arbitary point in the code. We
do not want to have to wait until the proper block is the topmost active block. Perhaps
we could use a 'activate' pseudo-op that enables destruction of an individual variable?
This could be implemented by saving a table containing offsets into the code from which
each variable is active. Then we could traverse the table, and destroy all variables that
are active quite easily in the exception handler.
|