[Webkit-unassigned] [Bug 45669] ARMv7Assembler generates illegal instructions with RVCT

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 14 06:24:57 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=45669





--- Comment #9 from David Tapuska <dtapuska at rim.com>  2010-09-14 06:24:57 PST ---
(In reply to comment #8)
> > The ctors were changed to zero the asInt value. (This follows similar convention used in this header file for other structs with bitfields) The storage on the asInt should take up 8 bits which corresponds to the 4 bits on lo4 and 4 bits on hi4. The problem is with the code that the type and amount only take up 7 bits.
> 
> Although I did not find any initialization problem in a small example (very similar to ShiftTypeAndAmount with the very same compiler), I feel this 4/4 and 2/5 bits difference could lead to a bug. So, it should be fixed.
> 
> I have one comment to your patch. It is really looks like a workaround. I suggest you try to fix it in less hacky way. For example:
> 
> - unsigned hi4() { return m_u.s1.hi4; }
> + unsigned hi4() { return m_u.s1.hi4 & 0x7; }
> 
> or
> 
> - unsigned hi4 : 4;
> + unsigned hi4 : 3;

Did you try changing your memory allocator to hand out 0xff memset memory? You likely should hit it right away. Also you can inspect the asm generated by both and you'll see the difference. The reason I didn't make these changes because it doesn't match the method names. hi4 --> 4 bits. hi4 member --> 4 bits.. And this asInt style was used throughout the file as well to memset unions that don't fill out all the bits as well. Look at ThumbImmediateValue...

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list