[M3devel] Re: RTHooks CheckStoreTraced and CheckLoadTraced

Tony Hosking hosking at cs.purdue.edu
Wed Apr 18 16:34:58 CEST 2007


I assume you have an apply method for your RTTypeMap.Visitor that  
takes "field: ADDRESS" and treats it as "REF REFANY".   This is  
wrong.  When reading a REF field you should use the following idiom:

WITH ref = LOOPHOLE(field, UNTRACED REF REFANY) DO
   ... access field via ref^ ...
END;

This will automatically insert a call to the appropriate runtime  
routines on accessing the reference field.

There should be no need for you to call the runtime routines directly.

On Apr 17, 2007, at 9:51 PM, Darko wrote:

> Hi,
>
> Wondering if you can explain the use of these calls a little more.  
> I'm currently using type maps to read and write fields from traced  
> objects. Reading a traced reference from inside a traced object  
> into a local variable is not working as it should. Should I use  
> CheckLoadTraced and if so when and how? Looking at your changes to  
> RTTypeMap, writing references into objects means you need to call  
> CheckStoreTraced on the object written inside of, before it is  
> written?
>
> Cheers,
> Darko.




More information about the M3devel mailing list