From: Bruce & B. R. <br...@dc...> - 2014-03-03 12:42:40
|
Good evening to all, I have a question relating to the flags within the dword of a descriptor. In the file rmacros.h, there are a number of macros defined that set up the type flags for the various available types within the runtime system. There is also a macro called D_Var which has no type code flag set and is used in various places within the runtime system. My question relates to the inconsistency of trapped variables of various kinds having a type code value and the use of the D_Var macro to create descriptors that have no type code but are pointers to variables. is this an inconsistency or is there a specific reason for the way this is used? Since if the code uses the TypeMask macro, the type code value obtained for such a variable is the same as for the Null descriptor. Of all the places in the code base, there is one location where the type code value that would be returned from the used of the TypeMask would not be 0. This is to be found in the file imisc.r at around line 280 where the code is Arg0.dword = D_Var + ((word *)dp - (word *)rp); Clarification would be greatly appreciated. regards Bruce Rennie |