Computed gotos on Reddit
Walter Bright
newshound2 at digitalmars.com
Wed Jul 25 03:11:42 PDT 2012
On 7/25/2012 12:51 AM, Don Clugston wrote:
> so that there is no lookup table, just a multiply.
Rethinking your idea a bit...
Suppose the switch jump_address[] array was really an array of hardcoded jmp
instructions, 5 bytes each:
jmp_table:
jmp Lcase1;
jmp Lcase2;
jmp Lcase3;
...
and then the switch(EBX) would be:
lea EAX,jmp_table[EBX][EBX*4]
jmp EAX
is that kick-ass or what?
(There'd be some additional complication for PIC code.)
More information about the Digitalmars-d
mailing list