Title: [148926] trunk/Source/_javascript_Core
- Revision
- 148926
- Author
- [email protected]
- Date
- 2013-04-22 16:25:41 -0700 (Mon, 22 Apr 2013)
Log Message
Add branchAdd32 missing implementation in SH4 base JIT.
This should fix SH4 build, broken since r148893.
https://bugs.webkit.org/show_bug.cgi?id=114993.
Patch by Julien Brianceau <[email protected]> on 2013-04-22
Reviewed by Oliver Hunt.
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchAdd32):
(MacroAssemblerSH4):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (148925 => 148926)
--- trunk/Source/_javascript_Core/ChangeLog 2013-04-22 23:12:10 UTC (rev 148925)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-04-22 23:25:41 UTC (rev 148926)
@@ -1,3 +1,15 @@
+2013-04-22 Julien Brianceau <[email protected]>
+
+ Add branchAdd32 missing implementation in SH4 base JIT.
+ This should fix SH4 build, broken since r148893.
+ https://bugs.webkit.org/show_bug.cgi?id=114993.
+
+ Reviewed by Oliver Hunt.
+
+ * assembler/MacroAssemblerSH4.h:
+ (JSC::MacroAssemblerSH4::branchAdd32):
+ (MacroAssemblerSH4):
+
2013-04-22 Benjamin Poulain <[email protected]>
Windows build fix after r148921
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h (148925 => 148926)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2013-04-22 23:12:10 UTC (rev 148925)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h 2013-04-22 23:25:41 UTC (rev 148926)
@@ -1975,6 +1975,40 @@
return branchTrue();
}
+ Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == PositiveOrZero) || (cond == Zero) || (cond == NonZero));
+ Jump result;
+
+ move(imm, scratchReg3);
+ RegisterID destptr = claimScratch();
+ RegisterID destval = claimScratch();
+ m_assembler.loadConstant(reinterpret_cast<uint32_t>(dest.m_ptr), destptr);
+ m_assembler.movlMemReg(destptr, destval);
+ if (cond == Overflow) {
+ m_assembler.addvlRegReg(scratchReg3, destval);
+ result = branchTrue();
+ } else {
+ m_assembler.addlRegReg(scratchReg3, destval);
+
+ if (cond == Signed) {
+ m_assembler.cmppz(destval);
+ result = branchFalse();
+ } else if (cond == PositiveOrZero) {
+ m_assembler.cmppz(destval);
+ result = branchTrue();
+ } else {
+ m_assembler.movImm8(0, scratchReg3);
+ m_assembler.cmplRegReg(scratchReg3, destval, SH4Condition(cond));
+ result = (cond == NonZero) ? branchFalse() : branchTrue();
+ }
+ }
+ m_assembler.movlRegMem(destval, destptr);
+ releaseScratch(destval);
+ releaseScratch(destptr);
+ return result;
+ }
+
Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest)
{
ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes