> On 11/30/06, Robin Garner <[EMAIL PROTECTED]> 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/ >> >
