VSP (virtual stack pointer) is passed into the devirtualized routine as arg1. This prevents the mem2reg pass from promoting memory references to local variables as it only works on alloca variables.
solution: lifetime annotations
I am unsure how the MBA (mixed boolean-arithemtic) will be effected by this stack variable promotion... We will see
Some of the lifters (IMUL, IDIV, SHLD, SHRD) are totally fucked and not correct at all. RDTSC is not even programmed completely as well.
Jmp tables (both indirect and direct) are supported by vmemu and all blocks are able to be uncovered, however vmdevirt has not been programmed to generate switch cases.
VSP (virtual stack pointer) is passed into the devirtualized routine as arg1. This prevents the mem2reg pass from promoting memory references to local variables as it only works on `alloca` variables.
solution: lifetime annotations
I am unsure how the MBA (mixed boolean-arithemtic) will be effected by this stack variable promotion... We will see
Some of the lifters (IMUL, IDIV, SHLD, SHRD) are totally fucked and not correct at all. RDTSC is not even programmed completely as well.
Jmp tables (both indirect and direct) are supported by vmemu and all blocks are able to be uncovered, however vmdevirt has not been programmed to generate switch cases.
root
added this to the fixing pre-alpha issues milestone 3 years ago
VSP (virtual stack pointer) is passed into the devirtualized routine as arg1. This prevents the mem2reg pass from promoting memory references to local variables as it only works on
alloca
variables.solution: lifetime annotations
I am unsure how the MBA (mixed boolean-arithemtic) will be effected by this stack variable promotion... We will see
Some of the lifters (IMUL, IDIV, SHLD, SHRD) are totally fucked and not correct at all. RDTSC is not even programmed completely as well.
Jmp tables (both indirect and direct) are supported by vmemu and all blocks are able to be uncovered, however vmdevirt has not been programmed to generate switch cases.