Bug 153457 - [mips] YarrJIT: implement generateEnter() and generateReturn()
Summary: [mips] YarrJIT: implement generateEnter() and generateReturn()
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-25 15:36 PST by Guillaume Emont
Modified: 2016-07-14 05:32 PDT (History)
7 users (show)

See Also:


Attachments
MIPS: define the list of callee saved registers (2.53 KB, patch)
2016-01-25 15:39 PST, Guillaume Emont
no flags Details | Formatted Diff | Diff
Patch (2.53 KB, patch)
2016-01-25 15:48 PST, Guillaume Emont
no flags Details | Formatted Diff | Diff
Patch (2.20 KB, patch)
2016-01-26 14:41 PST, Guillaume Emont
no flags Details | Formatted Diff | Diff
Patch (1.89 KB, patch)
2016-01-26 17:12 PST, Guillaume Emont
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Emont 2016-01-25 15:36:44 PST
Without that, anything that triggers the use of YarrJIT on mips would crash.
Comment 1 Guillaume Emont 2016-01-25 15:39:36 PST
Created attachment 269808 [details]
MIPS: define the list of callee saved registers
Comment 2 Guillaume Emont 2016-01-25 15:48:03 PST
Created attachment 269809 [details]
Patch
Comment 3 Konstantin Tokarev 2016-01-25 23:49:51 PST
After http://trac.webkit.org/changeset/195182 we don't need to use s0 for cmpTempRegister, so it does not need to be saved here.
Comment 4 Guillaume Emont 2016-01-26 14:41:08 PST
Created attachment 269928 [details]
Patch

New patch that does not save cmpTempRegister
Comment 5 Julien Brianceau 2016-01-26 15:58:13 PST
Is this change really necessary? AFAIK, there is no need to have such a prologue/epilogue in YarrJIT.
Comment 6 Guillaume Emont 2016-01-26 17:12:55 PST
Created attachment 269955 [details]
Patch

New patch using pushPair/popPair
Comment 7 Guillaume Emont 2016-02-09 17:02:23 PST
(In reply to comment #5)
> Is this change really necessary? AFAIK, there is no need to have such a
> prologue/epilogue in YarrJIT.

Indeed, I am starting to doubt it myself. It seems that o32 only requires a function to create a callframe if it saves stuff on the stack or calls another function. YarrJIT does not seem to call any function, and since it doesn't use any callee-saved register, I think we don't need to create a stack frame here (i.e. we don't need this patch).
Comment 8 Julien Brianceau 2016-06-02 05:49:22 PDT
Closing bug to cleanup
Comment 9 Michael Catanzaro 2016-07-14 05:32:02 PDT
Comment on attachment 269955 [details]
Patch

Removing review flag as per comments.