I have noticed that the least 10 significant bit of obj_info field in struct
ManagedObject is used to store hashcode of a ManagedObject, but it seems
that gc use the least 8 significant bit to store some gc-concerned
information such as mark-bit, I wonder if this may cause problems? Because I
have little knowledge of the usage of hashcode in the ManagedObject.

2009/2/20 Pavel Pervov <[email protected]>

> 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/> <
> http://people.apache.org/%7Eaaf/>
> >>
> >
>

Reply via email to