Bug 37862

Summary: Use BLX and BX to keep happy the return stack predictor above ARMv4
Product: WebKit Reporter: Gabor Loki <loki>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Enhancement CC: barraclough, commit-queue
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: Other   
Attachments:
Description Flags
Use BLX and BX to keep happy the return stack predictor above ARMv4
none
The results on ARMv7 none

Description Gabor Loki 2010-04-20 08:31:25 PDT
The following kind of instruction sequences break the return stack predictor:
MOV LR, PC
MOV PC, Rx

We should avoid it above v4. The BLX instruction should be used for predicted calls on ARMv5 and above.

The patch gives 2% performance progression.
Comment 1 Gabor Loki 2010-04-20 08:32:44 PDT
Created attachment 53824 [details]
Use BLX and BX to keep happy the return stack predictor above ARMv4
Comment 2 Gabor Loki 2010-04-20 08:35:07 PDT
Created attachment 53826 [details]
The results on ARMv7
Comment 3 WebKit Commit Bot 2010-04-22 06:25:05 PDT
Comment on attachment 53824 [details]
Use BLX and BX to keep happy the return stack predictor above ARMv4

Clearing flags on attachment: 53824

Committed r58091: <http://trac.webkit.org/changeset/58091>
Comment 4 WebKit Commit Bot 2010-04-22 06:25:09 PDT
All reviewed patches have been landed.  Closing bug.