Summary: | Refactor LLInt C stack frame munging helpers so that 32-bit code paths can use them | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 116888 | ||||||
Attachments: |
|
Description
Filip Pizlo
2014-01-02 10:41:36 PST
Created attachment 220232 [details]
the patch
Landed on the branch in http://trac.webkit.org/changeset/161211 Comment on attachment 220232 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=220232&action=review r=me with comments. > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:278 > + elsif ARM64 or ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS > + pushLRAndFP Only ARM64 has the pushLRAndFP / popLRAndFP pseudo ops. The other platforms can push and pop individual registers. Therefore use the push cfr ; push lr instructions for the non-ARM64 platforms. > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:286 > + popLRAndFP Ditto, except use pop lr ; pop cfr > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:293 > + pushLRAndFP Same comment as functionPrologue. > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:305 > + popLRAndFP Same comment as functionEpilogue. (In reply to comment #3) > (From update of attachment 220232 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=220232&action=review > > r=me with comments. > > > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:278 > > + elsif ARM64 or ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS > > + pushLRAndFP > > Only ARM64 has the pushLRAndFP / popLRAndFP pseudo ops. The other platforms can push and pop individual registers. Therefore use the push cfr ; push lr instructions for the non-ARM64 platforms. > > > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:286 > > + popLRAndFP > > Ditto, except use pop lr ; pop cfr > > > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:293 > > + pushLRAndFP > > Same comment as functionPrologue. > > > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:305 > > + popLRAndFP > > Same comment as functionEpilogue. Thanks! Comments addressed in http://trac.webkit.org/changeset/161225. |