Bug 131608

Summary: [sh4] SubImmediates can be used in sh4 LLINT
Product: WebKit Reporter: Julien Brianceau <jbriance>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren, mark.lam, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Allow use of SubImmediates in sh4 const pool in LLINT. mark.lam: review+

Description Julien Brianceau 2014-04-14 01:02:47 PDT
SubImmediates can be used with sh4 const pool, so the sh4 arch can share the arm path for setEntryAddress.

This will reduce architecture specific code and lead to a more optimal implementation for sh4.
Comment 1 Julien Brianceau 2014-04-14 01:19:02 PDT
Created attachment 229272 [details]
Allow use of SubImmediates in sh4 const pool in LLINT.
Comment 2 Mark Lam 2014-04-14 13:54:16 PDT
Comment on attachment 229272 [details]
Allow use of SubImmediates in sh4 const pool in LLINT.

View in context: https://bugs.webkit.org/attachment.cgi?id=229272&action=review

r=me

> Source/JavaScriptCore/llint/LowLevelInterpreter.asm:747
> +        if SH4
> +            flushcp # Force constant pool flush to avoid "pcrel too far" link error.
> +        end

I'd be concerned if this proliferates.  Ideally, it's be great if the offline backend knows to call flushcp automatically when needed without the LLINT assembly having to explicitly call it like this.  For now, since there's is only this one use of flushcp (i.e. here), I'll let it go.
Comment 3 Julien Brianceau 2014-04-14 14:48:31 PDT
Committed r167269: <http://trac.webkit.org/changeset/167269>