[Webkit-unassigned] [Bug 123615] [Win] Enable DFG JIT.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jul 11 09:00:29 PDT 2014


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





--- Comment #41 from peavo at outlook.com  2014-07-11 09:00:39 PST ---
(In reply to comment #39)
> (From update of attachment 234647 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=234647&action=review
> 

Thanks for reviewing :) The patch has been modified accordingly.
.
> 
> > Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:183
> > +        // We also need to allocate the shadow space on the stack for the 4 parameter registers.
> > +        // In addition, we need to allocate 16 bytes for the return value.
> > +        sub64(TrustedImm32(6 * sizeof(int64_t)), X86Registers::esp);
> > +
> > +        // The first parameter register should contain a pointer to the stack allocated space for the return value.
> > +        move(X86Registers::esp, X86Registers::ecx);
> > +        add64(TrustedImm32(4 * sizeof(int64_t)), X86Registers::ecx);
> > +
> > +        DataLabelPtr label = moveWithPatch(TrustedImmPtr(0), scratchRegister);
> > +        Call result = Call(m_assembler.call(scratchRegister), Call::Linkable);
> > +
> > +        add64(TrustedImm32(6 * sizeof(int64_t)), X86Registers::esp);
> > +
> > +        // Copy the return value into rax and rdx.
> > +        load64(Address(X86Registers::eax, sizeof(int64_t)), X86Registers::edx);
> > +        load64(Address(X86Registers::eax), X86Registers::eax);
> > +
> > +        ASSERT_UNUSED(label, differenceBetween(label, result) == REPTACH_OFFSET_CALL_R11);
> > +        return result;
> 
> This code looks stale compared to call() below.  Specifically, I don't see you storing the ebp (CallerFrame*) on the stack, and adjusting the stack accordingly for that.  Is that not needed here?
> 

I don't believe it's needed in this specific case, but I added it, since it will probably be required in the future.

-- 
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