Go to the first, previous, next, last section, table of contents.


trt_assign_object_var

TRT_INLINE void *
trt_assign_object_var (void *object, void *value);

This function must be invoked if the object pointed to by value has just been assigned to an object variable of the object. This is needed in case the garbage collector performs non-atomic runs. Thus, if you're writing library code in C, you must use this function. The compiler outputs calls to this function if the flag -fincremental-gc is provided on the command line (see section Invoking otmc).

[Note: Obviously, the type of the two arguments should be tom_object instead of void *. However, since debugging a TOM program currently means debugging the (not so unreadable, to the trained eye at least) C code output by the compiler, the compiler types each object in the output to its C struct (as far as the compiler can know the layout at compile time). Hence, void * is used in some places where really tom_object should be used, to avoid numerous casts or warnings. End note.]


Go to the first, previous, next, last section, table of contents.