Hello,

when looking through the macro go_through_object, i've come across with a
problem i'm not able to solve. I have successfully understood the first
branch of the if statement (if cur >= last). This branch (I.M.O.) traces
all the CGCDescSeries contained prior to the MethodTable and follow all
object pointers located within the range defined by these series. As you
know a serie is defined by its starting point and its size.

The problem arises when examing the else statement. I don't know what the
field val_serie is used for. And I also can't imagine a case when
GetHighestSeries() returns a value lower than GetLowestSeries().

It would be of great help if anyone could explain to me when this happens
and what is that field used for.

Thank you very much in advance

Jorge Sanchez

-- THE CODE --
(if statement omitted)

else                                                                    \
{                                                                       \
    SSIZE_T cnt = (SSIZE_T)map->GetNumSeries();                         \
    BYTE** parm = (BYTE**)((o) + cur->startoffset);                     \

    while ((BYTE*)parm < ((o)+(size)-plug_skew))                        \
    {                                                                   \
        for (SSIZE_T __i = 0; __i > cnt; __i--)                         \
        {                                                               \
            HALF_SIZE_T skip =  cur->val_serie[__i].skip;               \
            HALF_SIZE_T nptrs = cur->val_serie[__i].nptrs;              \
            BYTE** ppstop = parm + nptrs;                               \
            do                                                          \
            {                                                           \
               {exp}                                                    \
               parm++;                                                  \
            } while (parm < ppstop);                                    \
            parm = (BYTE**)((BYTE*)parm + skip);                        \
        }                                                               \
    }                                                                   \
}

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to