[Webkit-unassigned] [Bug 130638] [Win64] ASM LLINT is not enabled.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Apr 19 03:27:06 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=130638
--- Comment #28 from peavo at outlook.com 2014-04-19 03:27:23 PST ---
(In reply to comment #26)
Thanks for reviewing :)
And sorry for the late reply.
> (From update of attachment 229176 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=229176&action=review
>
> A few minor corrections. Also, could you confirm that you really wanted to change the 'nativeCallTrampoline' method to use the t0 rather than t1? I don't see why that changed.
Yes, this is intentional.
t1 (rdx) is used to hold the 2. parameter on Windows, so it's important that is's not overwritten and used as a temp register.
Better use t0 as a temp register, which is available for use on all platforms, it seems.
>
> > Source/JavaScriptCore/llint/LLIntData.cpp:129
> > +#if CPU(X86_64) && !OS(WINDOWS) || CPU(ARM64) || ENABLE(LLINT_C_LOOP)
>
> Are we short-circuiting here? Maybe we need parentheses around the combined X86_64 and !OS(WINDOWS) test? I think the meaning would be clearer.
Fixed in latest patch.
>
> > Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:300
> > + # 4 parameter registers, and the call instruction won't put the return address at the correct stack location then.
>
> This should read:
> # Also, we need to manually copy the return address to the stack, since before the call instruction we allocated space for the 4 parameter registers, and the call instruction won't put the return address at the correct stack location.
>
Updated in latest patch.
> > Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:2084
> > + loadp JSFunction::m_executable[arg2], t0
>
> Why was this changed from t1 to t0? Do we need to add an 'arg3' case to the condition windows/non-windows code above?
See above comment, avoid using t1 as temp register on Windows, as it is used to hold the 2. argument.
>
> > Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:2089
> > + call executableOffsetToFunction[t0]
>
> Again, why is t1 being changed to t0?
See above comment.
--
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