Title: [109845] trunk/Source/_javascript_Core

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (109844 => 109845)


--- trunk/Source/_javascript_Core/ChangeLog	2012-03-06 04:51:56 UTC (rev 109844)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-03-06 04:54:19 UTC (rev 109845)
@@ -1,3 +1,15 @@
+2012-03-05  Oliver Hunt  <[email protected]>
+
+        Fix Qt build.
+
+        * assembler/AbstractMacroAssembler.h:
+        * assembler/MacroAssembler.h:
+        (MacroAssembler):
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::compileArithSub):
+        * jit/JITArithmetic32_64.cpp:
+        (JSC::JIT::emitSub32Constant):
+
 2012-03-05  Eric Seidel  <[email protected]>
 
         Update _javascript_Core files to use fully-qualified WTF include paths

Modified: trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h (109844 => 109845)


--- trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h	2012-03-06 04:51:56 UTC (rev 109844)
+++ trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h	2012-03-06 04:54:19 UTC (rev 109845)
@@ -34,6 +34,15 @@
 
 #if ENABLE(ASSEMBLER)
 
+
+#if PLATFORM(QT)
+#define ENABLE_JIT_CONSTANT_BLINDING 0
+#endif
+
+#ifndef ENABLE_JIT_CONSTANT_BLINDING
+#define ENABLE_JIT_CONSTANT_BLINDING 1
+#endif
+
 namespace JSC {
 
 class LinkBuffer;
@@ -233,7 +242,13 @@
     };
 
 
-    struct Imm32 : private TrustedImm32 {
+    struct Imm32 : 
+#if ENABLE(JIT_CONSTANT_BLINDING)
+        private TrustedImm32 
+#else
+        public TrustedImm32
+#endif
+    {
         explicit Imm32(int32_t value)
             : TrustedImm32(value)
         {

Modified: trunk/Source/_javascript_Core/assembler/MacroAssembler.h (109844 => 109845)


--- trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2012-03-06 04:51:56 UTC (rev 109844)
+++ trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2012-03-06 04:54:19 UTC (rev 109845)
@@ -60,14 +60,11 @@
 #error "The MacroAssembler is not supported on this platform."
 #endif
 
-
 namespace JSC {
 
 class MacroAssembler : public MacroAssemblerBase {
 public:
 
-    using MacroAssemblerBase::add32;
-    using MacroAssemblerBase::and32;
     using MacroAssemblerBase::pop;
     using MacroAssemblerBase::jump;
     using MacroAssemblerBase::branch32;
@@ -75,6 +72,10 @@
     using MacroAssemblerBase::branchPtr;
     using MacroAssemblerBase::branchTestPtr;
 #endif
+
+#if ENABLE(JIT_CONSTANT_BLINDING)
+    using MacroAssemblerBase::add32;
+    using MacroAssemblerBase::and32;
     using MacroAssemblerBase::branchAdd32;
     using MacroAssemblerBase::branchMul32;
     using MacroAssemblerBase::branchSub32;
@@ -86,6 +87,7 @@
     using MacroAssemblerBase::sub32;
     using MacroAssemblerBase::urshift32;
     using MacroAssemblerBase::xor32;
+#endif
 
     // Utilities used by the DFG JIT.
 #if ENABLE(DFG_JIT)
@@ -479,7 +481,8 @@
         return MacroAssemblerBase::branchTest8(cond, Address(address.base, address.offset), mask);
     }
 #else
-
+    
+#if ENABLE(JIT_CONSTANT_BLINDING)
     using MacroAssemblerBase::addPtr;
     using MacroAssemblerBase::andPtr;
     using MacroAssemblerBase::branchSubPtr;
@@ -496,9 +499,11 @@
         } else
             convertInt32ToDouble(imm.asTrustedImm32(), dest);
     }
+#endif
 
 #endif // !CPU(X86_64)
-    
+
+#if ENABLE(JIT_CONSTANT_BLINDING)
     bool shouldBlind(Imm32 imm)
     { 
         ASSERT(!inUninterruptedSequence());
@@ -845,6 +850,7 @@
     {
         urshift32(src, trustedImm32ForShift(amount), dest);
     }
+#endif
 };
 
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (109844 => 109845)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2012-03-06 04:51:56 UTC (rev 109844)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2012-03-06 04:54:19 UTC (rev 109845)
@@ -2320,8 +2320,12 @@
                 m_jit.move(op1.gpr(), result.gpr());
                 m_jit.sub32(Imm32(imm2), result.gpr());
             } else {
+#if ENABLE(JIT_CONSTANT_BLINDING)
                 GPRTemporary scratch(this);
                 speculationCheck(Overflow, JSValueRegs(), NoNode, m_jit.branchSub32(MacroAssembler::Overflow, op1.gpr(), Imm32(imm2), result.gpr(), scratch.gpr()));
+#else
+                speculationCheck(Overflow, JSValueRegs(), NoNode, m_jit.branchSub32(MacroAssembler::Overflow, op1.gpr(), Imm32(imm2), result.gpr()));
+#endif
             }
 
             integerResult(result.gpr(), m_compileIndex);

Modified: trunk/Source/_javascript_Core/jit/JITArithmetic32_64.cpp (109844 => 109845)


--- trunk/Source/_javascript_Core/jit/JITArithmetic32_64.cpp	2012-03-06 04:51:56 UTC (rev 109844)
+++ trunk/Source/_javascript_Core/jit/JITArithmetic32_64.cpp	2012-03-06 04:54:19 UTC (rev 109845)
@@ -732,7 +732,12 @@
     // Int32 case.
     emitLoad(op, regT1, regT0);
     Jump notInt32 = branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag));
+#if ENABLE(JIT_CONSTANT_BLINDING)
     addSlowCase(branchSub32(Overflow, regT0, Imm32(constant), regT2, regT3));
+#else
+    addSlowCase(branchSub32(Overflow, regT0, Imm32(constant), regT2));
+#endif
+    
     emitStoreInt32(dst, regT2, (op == dst));
 
     // Double case.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to