[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
zoltan at webkit.org
zoltan at webkit.org
Thu Dec 3 13:38:09 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 02354e5508912f5ab88f8c7b3b801c0d1dd5958e
Author: zoltan at webkit.org <zoltan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 17 07:16:22 2009 +0000
https://bugs.webkit.org/show_bug.cgi?id=31050
Patch by Zoltan Herczeg <zherczeg at inf.u-szeged.hu> on 2009-11-16
Reviewed by Gavin Barraclough.
Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
failed on a CortexA8 CPU, but not on a simulator; and
JITCall.cpp modifications was somehow not committed to mainline.
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::fmrs_r):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 4661064..d63e3ad 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,20 @@
+2009-11-16 Zoltan Herczeg <zherczeg at inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31050
+
+ Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
+ failed on a CortexA8 CPU, but not on a simulator; and
+ JITCall.cpp modifications was somehow not committed to mainline.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::fmrs_r):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+
2009-11-16 Joerg Bornemann <joerg.bornemann at trolltech.com>
Reviewed by Simon Hausmann.
diff --git a/JavaScriptCore/assembler/ARMAssembler.h b/JavaScriptCore/assembler/ARMAssembler.h
index 500d743..712473e 100644
--- a/JavaScriptCore/assembler/ARMAssembler.h
+++ b/JavaScriptCore/assembler/ARMAssembler.h
@@ -510,9 +510,9 @@ namespace JSC {
emitInst(static_cast<ARMWord>(cc) | FMSR, rn, dd, 0);
}
- void fmrs_r(int dd, int rn, Condition cc = AL)
+ void fmrs_r(int rd, int dn, Condition cc = AL)
{
- emitInst(static_cast<ARMWord>(cc) | FMRS, rn, dd, 0);
+ emitInst(static_cast<ARMWord>(cc) | FMRS, rd, dn, 0);
}
void fsitod_r(int dd, int dm, Condition cc = AL)
diff --git a/JavaScriptCore/assembler/MacroAssemblerARM.h b/JavaScriptCore/assembler/MacroAssemblerARM.h
index ed16db5..24e2e11 100644
--- a/JavaScriptCore/assembler/MacroAssemblerARM.h
+++ b/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -829,12 +829,12 @@ public:
// (specifically, in this case, 0).
void branchConvertDoubleToInt32(FPRegisterID src, RegisterID dest, JumpList& failureCases, FPRegisterID fpTemp)
{
- m_assembler.ftosid_r(src, ARMRegisters::SD0);
- m_assembler.fmrs_r(ARMRegisters::SD0, dest);
+ m_assembler.ftosid_r(ARMRegisters::SD0, src);
+ m_assembler.fmrs_r(dest, ARMRegisters::SD0);
// Convert the integer result back to float & compare to the original value - if not equal or unordered (NaN) then jump.
m_assembler.fsitod_r(ARMRegisters::SD0, ARMRegisters::SD0);
- failureCases.append(branchDouble(DoubleNotEqual, src, ARMRegisters::SD0));
+ failureCases.append(branchDouble(DoubleNotEqualOrUnordered, src, ARMRegisters::SD0));
// If the result is zero, it might have been -0.0, and 0.0 equals to -0.0
failureCases.append(branchTest32(Zero, dest));
diff --git a/JavaScriptCore/jit/JITCall.cpp b/JavaScriptCore/jit/JITCall.cpp
index f7fcc0a..179aad7 100644
--- a/JavaScriptCore/jit/JITCall.cpp
+++ b/JavaScriptCore/jit/JITCall.cpp
@@ -315,7 +315,13 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
emitLoad(callee, regT1, regT0);
DataLabelPtr addressOfLinkedFunctionCheck;
+
+ BEGIN_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
+
Jump jumpToSlow = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, ImmPtr(0));
+
+ END_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
+
addSlowCase(jumpToSlow);
ASSERT(differenceBetween(addressOfLinkedFunctionCheck, jumpToSlow) == patchOffsetOpCallCompareToJump);
m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathBegin = addressOfLinkedFunctionCheck;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list