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;