Bug 109050

Summary: Invalid code is generated for storing constants with baseindex addressing modes on ARM traditional.
Product: WebKit Reporter: Zoltan Herczeg <zherczeg>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, fpizlo, laszlo.gombos, oliver, ossy, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 108645    
Attachments:
Description Flags
patch
none
improved patch none

Description Zoltan Herczeg 2013-02-06 07:12:52 PST
S1 scratch register, which should hold the constant value, is reused during the process. Fix attached.
Comment 1 Zoltan Herczeg 2013-02-06 07:17:12 PST
Created attachment 186850 [details]
patch
Comment 2 Zoltan Herczeg 2013-02-06 07:18:27 PST
If we ever need bigger offsets, we can do that with a sequence of add/sub instructions. It will not be effective, but at least it will work.
Comment 3 Zoltan Herczeg 2013-02-07 06:45:27 PST
Created attachment 187090 [details]
improved patch

Patch without assert.
Comment 4 Zoltan Herczeg 2013-02-07 06:46:31 PST
Oliver, could you review it?
Comment 5 WebKit Review Bot 2013-02-07 10:05:43 PST
Comment on attachment 187090 [details]
improved patch

Clearing flags on attachment: 187090

Committed r142146: <http://trac.webkit.org/changeset/142146>
Comment 6 WebKit Review Bot 2013-02-07 10:05:47 PST
All reviewed patches have been landed.  Closing bug.