[Webkit-unassigned] [Bug 26164] New: webkit/jit stack mis-aligned for double on MIPS platform
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 3 11:04:29 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=26164
Summary: webkit/jit stack mis-aligned for double on MIPS platform
Product: WebKit
Version: 528+ (Nightly build)
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: Critical
Priority: P1
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: jdai at 2wire.com
It is a block for MIPS and I've not found simple solution. Mips asks for 64bits
aligned for double storage.
In privateCompileCTIMachineTrampolines() it frequently pop/push a 32bit
register, which mis-aligns the stack if it is aligned to 64bit originally.
Further more, a void pointer can be used as argument to call Lexer::lex(void*
p1, void* p2) then this pointer is converted a structure that contains double
as member, this pointer can be mis-aligned also.
To reproduce, simply debug "jsc shell.js" and trace to int Lexer::lex(void* p1,
void* p2) and you will see mis-aligned stack pointer and mis-aligned
doubledValue pointer in say: lvalp->doubleValue = dval;
I tried to write a small piece of inline asm to get rid the first case, but
identify second case to make sure all double structure are properly aligned
seems difficult.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list