harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: [drlvm] Jitrino.OPT performs incorrect GC enumeration in nested loop with array accesses
Date Thu, 05 Oct 2006 15:14:56 GMT
Ivan, could this enumeration scenario be possible?

1) JIT reports a base to GC
2) GC relocates the base and updates references.
3) JIT reports MPTR, looks for the base, founds the patched base on the
stack and the resulting offset becomes invalid?

The previous GC (gcv4) did not relocate object during the enumeration
process. If gcv4.1 does this is the reason of the problem.
?

On 10/5/06, Ivan Volosyuk <ivan.volosyuk@gmail.com> wrote:
>
> On 10/5/06, Mikhail Fursov <mike.fursov@gmail.com> wrote:
> > On 10/5/06, Ivan Volosyuk <ivan.volosyuk@gmail.com> wrote:
> > >
> > > Is this can be a problem? If the base pointer is optimized out and we
> > > will find different object base?
> > > --
> > > Ivan
> > >
> > > The base pointer for mptr with unknown offset must live as long as
> mptr is
> > alive.
> > The 'gcpoint' pass adds pseudo usages for such bases after every call
> > instruction where mptr with unknown offset is used.
> > So if base pointer is lost this is a bug.
>
> I can make a patch which will check this assertion in the GC enumeration
> code.
> --
> Ivan
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Mikhail Fursov

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message