summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-02-13 12:57:50 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-02-13 12:57:50 -0800
commitc9c497faa69a20ac6ff0360281f8896e373a79f9 (patch)
treef1c5e97e13324b6854b486a0703044f3849b9e47 /JavaScriptCore
parent498e5e4ad10920a9cfae6fdb7ffb19a6ed936ba7 (diff)
downloadexternal_webkit-c9c497faa69a20ac6ff0360281f8896e373a79f9.zip
external_webkit-c9c497faa69a20ac6ff0360281f8896e373a79f9.tar.gz
external_webkit-c9c497faa69a20ac6ff0360281f8896e373a79f9.tar.bz2
auto import from //branches/cupcake/...@131421
Diffstat (limited to 'JavaScriptCore')
-rw-r--r--JavaScriptCore/VM/CodeGenerator.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/JavaScriptCore/VM/CodeGenerator.cpp b/JavaScriptCore/VM/CodeGenerator.cpp
index b255115..2cbf59f 100644
--- a/JavaScriptCore/VM/CodeGenerator.cpp
+++ b/JavaScriptCore/VM/CodeGenerator.cpp
@@ -783,7 +783,12 @@ RegisterID* CodeGenerator::emitEqualityOp(OpcodeID opcode, RegisterID* dst, Regi
if (src1->index() == dstIndex
&& src1->isTemporary()
- && static_cast<unsigned>(src2->index()) < m_codeBlock->constantRegisters.size()
+ // FIXME: replace the following line by
+ // && m_codeBlock->isConstant(src2->index())
+ // after next merge:
+ // see http://trac.webkit.org/changeset/38229
+ // and http://trac.webkit.org/changeset/38230
+ && (src2->index() >= m_codeBlock->numVars && src2->index() < m_codeBlock->numVars + m_codeBlock->numConstants)
&& m_codeBlock->constantRegisters[src2->index() - m_codeBlock->numVars].jsValue(m_scopeChain->globalObject()->globalExec())->isString()) {
const UString& value = asString(m_codeBlock->constantRegisters[src2->index() - m_codeBlock->numVars].jsValue(m_scopeChain->globalObject()->globalExec()))->value();
if (value == "undefined") {