harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov" <evgueni.brev...@gmail.com>
Subject Re: [drlvm][threading] Infinite loop in atomic16_inc/atomic16_dec?
Date Fri, 20 Oct 2006 09:38:47 GMT
The patch for the problem was created
http://issues.apache.org/jira/browse/HARMONY-1929

Evgueni

On 10/20/06, Evgueni Brevnov <evgueni.brevnov@gmail.com> wrote:
> On 10/19/06, Artem Aliev <artem.aliev@gmail.com> wrote:
> > Eugeny,
> >
> > > The problem can be easily fixed by changing int16 to unit16 in
> > > atomic16_dec. Do you think this is accaptable way to fix the problem.
> >
> >
> > > BTW, could somebody explain why 16-bit atomic operation is used for
> > > 32-bit value?
> > The suspend_request could be 16bit value some time ago.
> > Could you please file a JIRA issue with a patch.
> > It looks reasonable to replace  inc16 by inc32 as a fix.
>
> Oh, I see. Sure, I'll provide a patch soon....
> Evgueni
> >
> >
> > Thanks
> > Artem
> >
> >
> >
> >
> > On 10/19/06, Evgueni Brevnov <evgueni.brevnov@gmail.com> wrote:
> > > Hi,
> > >
> > > Today, I had several hangs of cunit tests. It turned out to be
> > > infinite cycling in
> > > while loop of atomic16_inc/atomic16_dec (see
> > > vm/thread/src/thread_native_suspend.c)
> > >
> > > Here is a snip of assembler code produced by msvc for atomic16_dec:
> > >
> > > call        port_atomic_cas16 (10004A90h)
> > > add         esp,0Ch
> > > movzx       edx,ax <-----------------------------zero extention
> > > movsx       eax,word ptr [old_value] <----sign extention
> > > cmp         edx,eax
> > > je          atomic16_inc+45h (10004A15h)
> > >
> > > The problem can be easily fixed by changing int16 to unit16 in
> > > atomic16_dec. Do you think this is accaptable way to fix the problem.
> > >
> > > BTW, could somebody explain why 16-bit atomic operation is used for
> > > 32-bit value?
> > >
> > > Thanks
> > > Evgueni
> > >
> > > ---------------------------------------------------------------------
> > > 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
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
>

---------------------------------------------------------------------
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


Mime
View raw message