harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robin Garner" <robin.gar...@anu.edu.au>
Subject Re: [DRLVM][Helper inlining] GC write barrier inline?
Date Mon, 04 Dec 2006 13:44:05 GMT
> On 11/30/06, Robin Garner <robin.garner@anu.edu.au> wrote:
>> Xiao-Feng Li wrote:
>> >
>> >        /* If the slot is in NOS or the target is not in NOS, we simply
>> > return*/
>> >        if( p_slot.GE( NOS_BOUNDARY) || p_target.LT( NOS_BOUNDARY) )
>> >            return;
>> >
>> >        /* Otherwise, we need remember it in native code. */
>> >        VMHelper.WriteBarrierSlotRem(p_slot, p_target);
>>
>> Shouldn't this be
>>          if( p_slot.LT( NOS_BOUNDARY) && p_target.GE( NOS_BOUNDARY) )
>>            VMHelper.WriteBarrierSlotRem(p_slot, p_target);
>>
>> ??  Ie we're recording old-to-new pointers.
>
> Robin, aren't they the same but exchanging the two branches of
> condition checking? :-)

Yes, of course.  Doh.  !(A|B) = !A&!B.

I do think the second is clearer though :)

> Thanks,
> xiaofeng
>
>>
>>
>> --
>> Robin Garner
>> Dept. of Computer Science
>> Australian National University
>> http://cs.anu.edu.au/people/Robin.Garner/
>>
>



Mime
View raw message