Title: [95208] trunk/Source/_javascript_Core
Revision
95208
Author
barraclo...@apple.com
Date
2011-09-15 12:05:12 -0700 (Thu, 15 Sep 2011)

Log Message

Windows build fix p1.

* _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):
* jit/JSInterfaceJIT.h:
* runtime/JSValue.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (95207 => 95208)


--- trunk/Source/_javascript_Core/ChangeLog	2011-09-15 19:00:42 UTC (rev 95207)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-09-15 19:05:12 UTC (rev 95208)
@@ -1,3 +1,14 @@
+2011-09-15  Gavin Barraclough  <barraclo...@apple.com>
+
+        Windows build fix p1.
+
+        * _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:
+        * jit/JITOpcodes32_64.cpp:
+        (JSC::JIT::emit_op_jfalse):
+        (JSC::JIT::emit_op_jtrue):
+        * jit/JSInterfaceJIT.h:
+        * runtime/JSValue.h:
+
 2011-09-14  Filip Pizlo  <fpi...@apple.com>
 
         Tiered compilation should be enabled by default on platforms

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def (95207 => 95208)


--- trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2011-09-15 19:00:42 UTC (rev 95207)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2011-09-15 19:05:12 UTC (rev 95208)
@@ -270,7 +270,6 @@
     ?objectProtoFuncToString@JSC@@YI_JPAVExecState@1@@Z
     ?objectTypeCounts@Heap@JSC@@QAE?AV?$PassOwnPtr@V?$HashCountedSet@PBDU?$PtrHash@PBD@WTF@@U?$HashTraits@PBD@2@@WTF@@@WTF@@XZ
     ?parseDateFromNullTerminatedCharacters@WTF@@YANPBD@Z
-    ?preventExtensions@JSObject@JSC@@UAEXAAVJSGlobalData@2@@Z
     ?profiler@Profiler@JSC@@SAPAV12@XZ
     ?protect@Heap@JSC@@QAEXVJSValue@2@@Z
     ?protectedGlobalObjectCount@Heap@JSC@@QAEIXZ

Modified: trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp (95207 => 95208)


--- trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp	2011-09-15 19:00:42 UTC (rev 95207)
+++ trunk/Source/_javascript_Core/jit/JITOpcodes32_64.cpp	2011-09-15 19:05:12 UTC (rev 95208)
@@ -750,8 +750,10 @@
 
     emitLoad(cond, regT1, regT0);
 
-    ASSERT((JSValue::BooleanTag + 1 == JSValue::Int32Tag) && !(JSValue::Int32Tag + 1));
-    addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::BooleanTag)));
+    Jump isBoolean = branch32(Equal, regT1, TrustedImm32(JSValue::BooleanTag));
+    addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
+    isBoolean.link(this);
+
     addJump(branchTest32(Zero, regT0), target);
 }
 
@@ -786,8 +788,10 @@
 
     emitLoad(cond, regT1, regT0);
 
-    ASSERT((JSValue::BooleanTag + 1 == JSValue::Int32Tag) && !(JSValue::Int32Tag + 1));
-    addSlowCase(branch32(Below, regT1, TrustedImm32(JSValue::BooleanTag)));
+    Jump isBoolean = branch32(Equal, regT1, TrustedImm32(JSValue::BooleanTag));
+    addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::Int32Tag)));
+    isBoolean.link(this);
+
     addJump(branchTest32(NonZero, regT0), target);
 }
 

Modified: trunk/Source/_javascript_Core/jit/JSInterfaceJIT.h (95207 => 95208)


--- trunk/Source/_javascript_Core/jit/JSInterfaceJIT.h	2011-09-15 19:00:42 UTC (rev 95207)
+++ trunk/Source/_javascript_Core/jit/JSInterfaceJIT.h	2011-09-15 19:05:12 UTC (rev 95208)
@@ -188,7 +188,7 @@
 
 #if USE(JSVALUE32_64)
         // Can't just propogate JSValue::Int32Tag as visual studio doesn't like it
-        static const unsigned Int32Tag = 0xffffffff;
+        static const unsigned Int32Tag = 0xfffffffe;
         COMPILE_ASSERT(Int32Tag == JSValue::Int32Tag, Int32Tag_out_of_sync);
 #else
         static const unsigned Int32Tag = TagTypeNumber >> 32;

Modified: trunk/Source/_javascript_Core/runtime/JSValue.h (95207 => 95208)


--- trunk/Source/_javascript_Core/runtime/JSValue.h	2011-09-15 19:00:42 UTC (rev 95207)
+++ trunk/Source/_javascript_Core/runtime/JSValue.h	2011-09-15 19:05:12 UTC (rev 95208)
@@ -258,15 +258,16 @@
          * cell, integer and bool values the lower 32 bits (the 'payload') contain the pointer
          * integer or boolean value; in the case of all other tags the payload is 0.
          */
-        enum { Int32Tag =        0xffffffff };
-        enum { BooleanTag =      0xfffffffe };
-        enum { NullTag =         0xfffffffd };
-        enum { UndefinedTag =    0xfffffffc };
-        enum { CellTag =         0xfffffffb };
-        enum { EmptyValueTag =   0xfffffffa };
-        enum { DeletedValueTag = 0xfffffff9 };
+        enum { CellTag =         0xffffffff };
+        enum { Int32Tag =        0xfffffffe };
+        enum { BooleanTag =      0xfffffff4 };
+        enum { NullTag =         0xfffffff3 };
+        enum { UndefinedTag =    0xfffffff2 };
+        enum { EmptyValueTag =   0xfffffff1 };
+        enum { DeletedValueTag = 0xfffffff0 };
 
-        enum { LowestTag =  DeletedValueTag };
+        enum { LowestTag =            DeletedValueTag };
+        enum { LowestInt32OrCellTag = Int32Tag };
 
         uint32_t tag() const;
         int32_t payload() const;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to