This is the data interface between the VM and a GC. GC must know some details of object layout in the heap to be able to implement collection algorithms efficiently.
Pavel. On Thu, Feb 19, 2009 at 3:57 PM, Yuan Zhang <[email protected]> wrote: > Alexei, > Thanks for your answer. Can I understand this problem in this way: > -----at the current edition of harmony, an Partial_Reveal_Object > pointer is just casted from a ManagedObject pointer, and the purpose of the > duplicate declaration of the struct is to minimize dependency between gc and > vmcore because in the future the two structs may have different > declarations. > > 2009/2/19 Alexei Fedotov <[email protected]> > >> Yuan, >> The intention of this construct is to minimize dependency between gc >> and vmcore limiting interfaces to C-type ones. If you changed layout >> of fields, you should update GC struct. If you only changed vt >> functions, then probably the problem is in other place. >> >> Thanks. >> >> On Thu, Feb 19, 2009 at 3:09 PM, Yuan Zhang <[email protected]> wrote: >> > I have found that the declaration of struct ManagedObject and the >> > declaration of struct Partial_Reveal_Object are alomost the same. The >> only >> > difference is that struct ManagedObject is used in vmcore, and struct >> > Partial_Reveal_Object is used in gc, so I have a question: "Does a >> > Partial_Reveal_Object pointer in gc always points to an ManagedObject >> object >> > in vmcore?". Because I have modified the declaration of struct >> ManagedObject >> > for some purpose, so if the answer to my question is "yes", I also have >> to >> > modify other codes to make gc run right? >> > >> > I appreciated any help from you! >> > >> >> >> >> -- >> С уважением, >> Алексей Федотов, >> http://people.apache.org/~aaf/ <http://people.apache.org/%7Eaaf/> >> >
