RESOLVED FIXED 115144
Special thunks for math functions should work on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=115144
Summary Special thunks for math functions should work on ARMv7
Filip Pizlo
Reported 2013-04-24 18:13:08 PDT
Patch forthcoming.
Attachments
the patch (7.05 KB, patch)
2013-04-24 18:14 PDT, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2013-04-24 18:14:43 PDT
Created attachment 199572 [details] the patch
Filip Pizlo
Comment 2 2013-04-24 18:25:40 PDT
Benjamin Poulain
Comment 3 2013-04-25 01:10:04 PDT
Comment on attachment 199572 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=199572&action=review nice :) > Source/JavaScriptCore/jit/ThunkGenerators.cpp:559 > + "str lr, [sp, #0]\n" \ push {lr}? > Source/JavaScriptCore/jit/ThunkGenerators.cpp:563 > + "ldr lr, [sp, #0]\n" \ pop {lr}?
Michael Saboff
Comment 4 2013-04-25 09:31:59 PDT
Comment on attachment 199572 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=199572&action=review > Source/JavaScriptCore/jit/ThunkGenerators.cpp:558 > + "sub sp, sp, #16\n" \ Why a frame size of 16 bytes?
Filip Pizlo
Comment 5 2013-04-25 11:57:21 PDT
(In reply to comment #4) > (From update of attachment 199572 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=199572&action=review > > > Source/JavaScriptCore/jit/ThunkGenerators.cpp:558 > > + "sub sp, sp, #16\n" \ > > Why a frame size of 16 bytes? Stack pointer has to be 16-byte aligned.
Filip Pizlo
Comment 6 2013-04-25 11:57:40 PDT
(In reply to comment #3) > (From update of attachment 199572 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=199572&action=review > > nice :) > > > Source/JavaScriptCore/jit/ThunkGenerators.cpp:559 > > + "str lr, [sp, #0]\n" \ > > push {lr}? > > > Source/JavaScriptCore/jit/ThunkGenerators.cpp:563 > > + "ldr lr, [sp, #0]\n" \ > > pop {lr}? What do those magical push/pop thingies do? ;-)
Michael Saboff
Comment 7 2013-04-25 13:47:27 PDT
(In reply to comment #6) > (In reply to comment #3) > > (From update of attachment 199572 [details] [details]) > > View in context: https://bugs.webkit.org/attachment.cgi?id=199572&action=review > > > > nice :) > > > > > Source/JavaScriptCore/jit/ThunkGenerators.cpp:559 > > > + "str lr, [sp, #0]\n" \ > > > > push {lr}? > > > > > Source/JavaScriptCore/jit/ThunkGenerators.cpp:563 > > > + "ldr lr, [sp, #0]\n" \ > > > > pop {lr}? > > What do those magical push/pop thingies do? ;-) Push / pop multiple registers. The registers in the curly braces will be pushed / popped. Note these instructions also post dec/inc SP. That was the reason for asking about 16 byte aligned. I only find the requirements for being 8 byte (double) aligned in any of the runtime architecture documents. Is we use push/pop {lr} then the 16 will need to be change to 12.
Note You need to log in before you can comment on or make changes to this bug.