[Webkit-unassigned] [Bug 117281] Crash in V8 benchmarks set in ARM, softfp, EABI
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 19 15:03:54 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=117281
--- Comment #15 from Mark Lam <mark.lam at apple.com> 2013-06-19 15:02:30 PST ---
(From update of attachment 203943)
View in context: https://bugs.webkit.org/attachment.cgi?id=203943&action=review
> Source/JavaScriptCore/ChangeLog:3
> + Crash fixex in V8 benchmark suite in ARM,softp,EABI environment.
Did you mean to say "Fixed crash in V8 benchmark suite for ARM, softfp, EABI environment"?
> Source/JavaScriptCore/dfg/DFGCCallHelpers.h:571
> +
> + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, FPRReg arg2, GPRReg arg3)
> + {
> + moveDouble(arg2, FPRInfo::argumentFPR0);
> + move(arg3, GPRInfo::argumentGPR1);
> + move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0);
> + }
> +
> + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, FPRReg arg4)
> + {
> + moveDouble(arg4, FPRInfo::argumentFPR0);
> + setupStubArguments(arg2, arg3);
> + move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0);
> + }
It seems these are not use in the ARM_HARDFP port. I see no reason to add them.
> Source/JavaScriptCore/dfg/DFGCCallHelpers.h:615
> + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, FPRReg arg2, GPRReg arg3)
> + {
> + poke(arg3, POKE_ARGUMENT_OFFSET);
> + move(arg1, GPRInfo::argumentGPR1);
> + assembler().vmov(GPRInfo::argumentGPR2, GPRInfo::argumentGPR3, arg2);
> + move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0);
> + }
> +
> + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, FPRReg arg4)
> + {
> + setupStubArguments(arg1, arg2);
> + move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0);
> + move(arg3, GPRInfo::argumentGPR3);
> + assembler().vmov(GPRInfo::nonArgGPR0, GPRInfo::nonArgGPR1, arg4);
> + poke(GPRInfo::nonArgGPR0, POKE_ARGUMENT_OFFSET);
> + poke(GPRInfo::nonArgGPR1, POKE_ARGUMENT_OFFSET + 1);
> + }
In the !ARM_HARDFP port, these replaces "setupArgumentsWithExecState(FPRReg arg1, GPRReg arg2)" and "setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, FPRReg arg3)". Remove the now unused functions.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:-1041
> - JITCompiler::Call callOperation(V_DFGOperation_EOZD operation, GPRReg arg1, GPRReg arg2, FPRReg arg3)
> - {
> - m_jit.setupArgumentsWithExecState(arg1, arg2, arg3);
> - return appendCallWithExceptionCheck(operation);
> - }
> -
Is there a reason that you move this function below?
--
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