From 647d306c967fd1dd2971f46557e718ed5c550a2f Mon Sep 17 00:00:00 2001 From: aravind Date: Mon, 18 Mar 2013 16:10:33 -0700 Subject: [PATCH] Don't simplify Same to Eq to arrays --- hphp/runtime/vm/translator/hopt/simplifier.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hphp/runtime/vm/translator/hopt/simplifier.cpp b/hphp/runtime/vm/translator/hopt/simplifier.cpp index 999d5a706..c29b5e222 100644 --- a/hphp/runtime/vm/translator/hopt/simplifier.cpp +++ b/hphp/runtime/vm/translator/hopt/simplifier.cpp @@ -766,6 +766,10 @@ SSATmp* Simplifier::simplifyCmp(Opcode opName, SSATmp* src1, SSATmp* src2) { if (src1->getType() == Type::Obj && src2->getType() == Type::Obj) { return nullptr; } + // for arrays, don't simplify Same to Eq + if (src1->getType() == Type::Arr && src2->getType() == Type::Arr) { + return nullptr; + } // Type is neither a string nor an object - simplify to OpEq/OpNeq if (opName == OpSame) { return m_tb->genCmp(OpEq, src1, src2);