Diff
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog (198059 => 198060)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog 2016-03-12 10:50:38 UTC (rev 198059)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/ChangeLog 2016-03-12 10:50:53 UTC (rev 198060)
@@ -1,3 +1,20 @@
+2016-03-12 Tomas Popela <[email protected]>
+
+ LLINT op_put_to_scope and op_get_from_scope should use loadpFromInstruction to get operand from instruction
+ https://bugs.webkit.org/show_bug.cgi?id=132333
+
+ Unreviewed.
+
+ When loading operand variable from instruction in
+ _llint_op_get_from_scope and _llint_op_put_to_scope use
+ loadpFromInstruction instead of loadisFromInstruction. Also when
+ saving the operand in LLIntSlowPaths.cpp use the same way as in
+ CodeBlock.cpp.
+
+ * llint/LLIntSlowPaths.cpp:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
2016-03-10 Carlos Garcia Campos <[email protected]>
Fix the build in Windows.
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (198059 => 198060)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-03-12 10:50:38 UTC (rev 198059)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-03-12 10:50:53 UTC (rev 198060)
@@ -1354,7 +1354,7 @@
CodeBlock* codeBlock = exec->codeBlock();
ConcurrentJITLocker locker(codeBlock->m_lock);
pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), scope->structure());
- pc[6].u.operand = slot.cachedOffset();
+ pc[6].u.pointer = reinterpret_cast<void*>(slot.cachedOffset());
}
}
@@ -1381,7 +1381,7 @@
if (slot.isCacheable() && slot.base() == scope && scope->structure()->propertyAccessesAreCacheable()) {
ConcurrentJITLocker locker(codeBlock->m_lock);
pc[5].u.structure.set(exec->vm(), codeBlock->ownerExecutable(), scope->structure());
- pc[6].u.operand = slot.cachedOffset();
+ pc[6].u.pointer = reinterpret_cast<void*>(slot.cachedOffset());
}
}
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (198059 => 198060)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-03-12 10:50:38 UTC (rev 198059)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-03-12 10:50:53 UTC (rev 198060)
@@ -2277,7 +2277,7 @@
end
macro getProperty()
- loadisFromInstruction(6, t3)
+ loadpFromInstruction(6, t3)
loadPropertyAtVariableOffset(t3, t0, t1, t2)
valueProfile(t1, t2, 28, t0)
loadisFromInstruction(1, t0)
@@ -2297,7 +2297,7 @@
macro getClosureVar()
loadp JSVariableObject::m_registers[t0], t0
- loadisFromInstruction(6, t3)
+ loadpFromInstruction(6, t3)
loadp TagOffset[t0, t3, 8], t1
loadp PayloadOffset[t0, t3, 8], t2
valueProfile(t1, t2, 28, t0)
@@ -2356,7 +2356,7 @@
macro putProperty()
loadisFromInstruction(3, t1)
loadConstantOrVariable(t1, t2, t3)
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
storePropertyAtVariableOffset(t1, t0, t2, t3)
end
@@ -2374,7 +2374,7 @@
loadisFromInstruction(3, t1)
loadConstantOrVariable(t1, t2, t3)
loadp JSVariableObject::m_registers[t0], t0
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
storei t2, TagOffset[t0, t1, 8]
storei t3, PayloadOffset[t0, t1, 8]
end
Modified: releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (198059 => 198060)
--- releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-03-12 10:50:38 UTC (rev 198059)
+++ releases/WebKitGTK/webkit-2.4/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-03-12 10:50:53 UTC (rev 198060)
@@ -2047,7 +2047,7 @@
end
macro getProperty()
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
loadPropertyAtVariableOffset(t1, t0, t2)
valueProfile(t2, 7, t0)
loadisFromInstruction(1, t0)
@@ -2064,7 +2064,7 @@
macro getClosureVar()
loadp JSVariableObject::m_registers[t0], t0
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
loadq [t0, t1, 8], t0
valueProfile(t0, 7, t1)
loadisFromInstruction(1, t1)
@@ -2121,7 +2121,7 @@
macro putProperty()
loadisFromInstruction(3, t1)
loadConstantOrVariable(t1, t2)
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
storePropertyAtVariableOffset(t1, t0, t2)
end
@@ -2138,7 +2138,7 @@
loadisFromInstruction(3, t1)
loadConstantOrVariable(t1, t2)
loadp JSVariableObject::m_registers[t0], t0
- loadisFromInstruction(6, t1)
+ loadpFromInstruction(6, t1)
storeq t2, [t0, t1, 8]
end