[fpc-pascal] Get all caller adresses of a given function/procedure before executing

Martin lazarus at mfriebe.de
Sat Aug 11 14:15:11 CEST 2012


On 11/08/2012 13:00, Rainer Stratmann wrote:
> Am Saturday 11 August 2012 13:52:58 schrieb Martin:
>> On 11/08/2012 12:48, Rainer Stratmann wrote:
>>> Am Saturday 11 August 2012 13:40:44 schrieb Rainer Stratmann:
>>>> procedure i_realy_know_what_i_am_doing( p_opcode : pbyte ; count :
>>>> longint ; proc_adr : pointer );
>>> Better: i_really_know_what_i_am_doing
>> You have read the long discussion thread, about what happens to the
>> cracker classes in the next fpc release, when the class-field-order
>> optimization is introduced?
> I do not read all discussions.
> Which exactly headline has it?
> Does it affect the possibility to get the information I want?
>


Re: [fpc-devel] Re: Class field reordering

No it does not help on your topic. It is about assuming that behaviour 
based on the current compiler implementation will never change....

You assume the compiler will always use the same asm-opcode for the 
call. Or at least you assume that if it changes, you can change it too. 
But future compilers (or maybe even the current, depending on 
optimization ?) may use different asm opcodes within the same exe, to 
make the call, and they may mix different ways of encoding the address.

If that changes, then your code fails.

---------
So if you do know what you do, hen you do know you are taking a risk....



More information about the fpc-pascal mailing list