Title: [163887] trunk/Source
- Revision
- 163887
- Author
- [email protected]
- Date
- 2014-02-11 10:09:36 -0800 (Tue, 11 Feb 2014)
Log Message
32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556
Reviewed by Geoffrey Garen.
Source/_javascript_Core:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.
Source/WTF:
* wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (163886 => 163887)
--- trunk/Source/_javascript_Core/ChangeLog 2014-02-11 18:00:45 UTC (rev 163886)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-02-11 18:09:36 UTC (rev 163887)
@@ -1,3 +1,13 @@
+2014-02-11 Mark Hahnenberg <[email protected]>
+
+ 32-bit LLInt writeBarrierOnGlobalObject is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=128556
+
+ Reviewed by Geoffrey Garen.
+
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.
+
2014-02-11 Gabor Rapcsanyi <[email protected]>
LLInt typo error after r139004.
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (163886 => 163887)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2014-02-11 18:00:45 UTC (rev 163886)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2014-02-11 18:09:36 UTC (rev 163887)
@@ -556,6 +556,7 @@
macro writeBarrierOnGlobalObject(valueOperand)
if GGC
loadisFromInstruction(valueOperand, t1)
+ loadConstantOrVariableTag(t1, t0)
bineq t0, CellTag, .writeBarrierDone
loadp CodeBlock[cfr], t3
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (163886 => 163887)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2014-02-11 18:00:45 UTC (rev 163886)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2014-02-11 18:09:36 UTC (rev 163887)
@@ -409,7 +409,7 @@
macro writeBarrierOnOperands(cellOperand, valueOperand)
if GGC
loadisFromInstruction(valueOperand, t1)
- loadConstantOrVariable(t1, t0)
+ loadConstantOrVariableCell(t1, t0, .writeBarrierDone)
btpz t0, .writeBarrierDone
writeBarrierOnOperand(cellOperand)
@@ -420,7 +420,7 @@
macro writeBarrierOnGlobalObject(valueOperand)
if GGC
loadisFromInstruction(valueOperand, t1)
- loadConstantOrVariable(t1, t0)
+ loadConstantOrVariableCell(t1, t0, .writeBarrierDone)
btpz t0, .writeBarrierDone
loadp CodeBlock[cfr], t3
Modified: trunk/Source/WTF/ChangeLog (163886 => 163887)
--- trunk/Source/WTF/ChangeLog 2014-02-11 18:00:45 UTC (rev 163886)
+++ trunk/Source/WTF/ChangeLog 2014-02-11 18:09:36 UTC (rev 163887)
@@ -1,3 +1,12 @@
+2014-02-11 Mark Hahnenberg <[email protected]>
+
+ 32-bit LLInt writeBarrierOnGlobalObject is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=128556
+
+ Reviewed by Geoffrey Garen.
+
+ * wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h
+
2014-02-11 [email protected] <[email protected]>
[WinCairo] Compile error, deleted file in WTF.
Modified: trunk/Source/WTF/wtf/Platform.h (163886 => 163887)
--- trunk/Source/WTF/wtf/Platform.h 2014-02-11 18:00:45 UTC (rev 163886)
+++ trunk/Source/WTF/wtf/Platform.h 2014-02-11 18:09:36 UTC (rev 163887)
@@ -935,8 +935,6 @@
#define ENABLE_COMPARE_AND_SWAP 1
#endif
-#define ENABLE_OBJECT_MARK_LOGGING 0
-
#if !defined(ENABLE_PARALLEL_GC) && !ENABLE(OBJECT_MARK_LOGGING) && (OS(DARWIN) && !PLATFORM(EFL) || PLATFORM(GTK)) && ENABLE(COMPARE_AND_SWAP)
#define ENABLE_PARALLEL_GC 1
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes