[Webkit-unassigned] [Bug 43999] Support JSVALUE32_64 on MIPS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Aug 26 17:15:52 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=43999





--- Comment #8 from Chao-ying Fu <fu at mips.com>  2010-08-26 17:15:52 PST ---
(In reply to comment #7)
> (From update of attachment 64788 [details])
> 
> > Index: JavaScriptCore/jit/JITPropertyAccess32_64.cpp
> > ===================================================================
> > +#if CPU(MIPS)
> > +    // For MIPS, we don't add sizeof(void*) to the stack offset.
> > +    load32(Address(stackPointerRegister, OBJECT_OFFSETOF(JITStackFrame, args[2]) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT3);
> > +    load32(Address(stackPointerRegister, OBJECT_OFFSETOF(JITStackFrame, args[2]) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT2);
> > +#else
> >      load32(Address(stackPointerRegister, OBJECT_OFFSETOF(JITStackFrame, args[2]) + sizeof(void*) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT3);
> >      load32(Address(stackPointerRegister, OBJECT_OFFSETOF(JITStackFrame, args[2]) + sizeof(void*) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT2);
> > +#endif
> >      
> 
> I don't particularly like this change -- in general we don't want to add ifdefs unless absolutely necessary, i assume the void* is for the return address here which makes me wonder why MIPS needs it when ARM doesn't -- does arm put the return address on the stack?

  This stack offset issue took me several days to debug MIPS JIT code and finally found out that the stack offset was wrong on MIPS.  I don't know why ARM needs sizeof(void*), similar to X86.  Thanks!

Regards,
Chao-ying

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list