[fpc-pascal] CASE

Eduardo nec556 at retena.com
Tue Nov 8 18:00:15 CET 2005


>>>May be having case statement problem.
>>>
>>>App has case statement with 146 sequential labels.
>>>They are in order, from a defined type.
>>>The assembler output is scanning each label, where it seems a jump 
>>>would be more efficient.
>
>This :)
>
>>case L3o3.FormType of
>>1 : begin <somecode1>
>>      end
>>2 : begin <somecode2>
>>      end
>>
>>and so on.....
>>
>>For the second case the assemmbler code seems ok to me, also L1051 
>>L1052 L1053 looks like are different destinations. For the first, 
>>well, it can be optimized "a bit" by hand, but note that it's 
>>difficult to do in "automatic mode" by a compiler.
>
>Was under the impression that doing a jump, offset by label number, 
>would be faster.  Specially for such long case statements.

Jump by offset label number? I don't understand it. 




More information about the fpc-pascal mailing list