Title: [161446] trunk/Source/_javascript_Core
- Revision
- 161446
- Author
- [email protected]
- Date
- 2014-01-07 12:47:50 -0800 (Tue, 07 Jan 2014)
Log Message
r161364 caused JSC tests regression on non-DFG builds (e.g. C Loop and Windows).
https://bugs.webkit.org/show_bug.cgi?id=126589.
Reviewed by Filip Pizlo.
After the removal of ENABLE(VALUE_PROFILER), the LLINT is now expecting the
relevant opcode operands to point to ValueProfiler data structures and will
write profiling data into them. Hence, we need to allocate these data
structures even though the profiling data won't be used in non-DFG builds.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (161445 => 161446)
--- trunk/Source/_javascript_Core/ChangeLog 2014-01-07 20:16:37 UTC (rev 161445)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-01-07 20:47:50 UTC (rev 161446)
@@ -1,3 +1,18 @@
+2014-01-07 Mark Lam <[email protected]>
+
+ r161364 caused JSC tests regression on non-DFG builds (e.g. C Loop and Windows).
+ https://bugs.webkit.org/show_bug.cgi?id=126589.
+
+ Reviewed by Filip Pizlo.
+
+ After the removal of ENABLE(VALUE_PROFILER), the LLINT is now expecting the
+ relevant opcode operands to point to ValueProfiler data structures and will
+ write profiling data into them. Hence, we need to allocate these data
+ structures even though the profiling data won't be used in non-DFG builds.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+
2014-01-07 Filip Pizlo <[email protected]>
ASSERT in compileArithNegate on pdfjs
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (161445 => 161446)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2014-01-07 20:16:37 UTC (rev 161445)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2014-01-07 20:47:50 UTC (rev 161446)
@@ -1644,14 +1644,12 @@
if (size_t size = unlinkedCodeBlock->numberOfLLintCallLinkInfos())
m_llintCallLinkInfos.resizeToFit(size);
#endif
-#if ENABLE(DFG_JIT)
if (size_t size = unlinkedCodeBlock->numberOfArrayProfiles())
m_arrayProfiles.grow(size);
if (size_t size = unlinkedCodeBlock->numberOfArrayAllocationProfiles())
m_arrayAllocationProfiles.resizeToFit(size);
if (size_t size = unlinkedCodeBlock->numberOfValueProfiles())
m_valueProfiles.resizeToFit(size);
-#endif
if (size_t size = unlinkedCodeBlock->numberOfObjectAllocationProfiles())
m_objectAllocationProfiles.resizeToFit(size);
@@ -1668,7 +1666,6 @@
instructions[i + j].u.operand = pc[i + j].u.operand;
}
switch (pc[i].u.opcode) {
-#if ENABLE(DFG_JIT)
case op_get_by_val:
case op_get_argument_by_val: {
int arrayProfileIndex = pc[i + opLength - 2].u.operand;
@@ -1705,7 +1702,6 @@
instructions[i + opLength - 1] = &m_arrayAllocationProfiles[arrayAllocationProfileIndex];
break;
}
-#endif
case op_new_object: {
int objectAllocationProfileIndex = pc[i + opLength - 1].u.operand;
ObjectAllocationProfile* objectAllocationProfile = &m_objectAllocationProfiles[objectAllocationProfileIndex];
@@ -1719,7 +1715,6 @@
case op_call:
case op_call_eval: {
-#if ENABLE(DFG_JIT)
ValueProfile* profile = "" + opLength - 1].u.operand];
ASSERT(profile->m_bytecodeOffset == -1);
profile->m_bytecodeOffset = i;
@@ -1727,7 +1722,6 @@
int arrayProfileIndex = pc[i + opLength - 2].u.operand;
m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
instructions[i + opLength - 2] = &m_arrayProfiles[arrayProfileIndex];
-#endif
#if ENABLE(LLINT)
instructions[i + 5] = &m_llintCallLinkInfos[pc[i + 5].u.operand];
#endif
@@ -1737,12 +1731,10 @@
#if ENABLE(LLINT)
instructions[i + 5] = &m_llintCallLinkInfos[pc[i + 5].u.operand];
#endif
-#if ENABLE(DFG_JIT)
ValueProfile* profile = "" + opLength - 1].u.operand];
ASSERT(profile->m_bytecodeOffset == -1);
profile->m_bytecodeOffset = i;
instructions[i + opLength - 1] = profile;
-#endif
break;
}
case op_get_by_id_out_of_line:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes