From f6de025eab830989bf7b8dbb761cc34e2d0bac3c Mon Sep 17 00:00:00 2001 From: Dario Russi Date: Fri, 7 Jun 2013 10:35:32 -0700 Subject: [PATCH] Optimize FPassM for Vector and Map Added FPassM to the instruction optimized for Vector and Map. It reuses the code for CGetM. --- hphp/runtime/vm/jit/translator.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hphp/runtime/vm/jit/translator.cpp b/hphp/runtime/vm/jit/translator.cpp index 76671d535..34684060e 100644 --- a/hphp/runtime/vm/jit/translator.cpp +++ b/hphp/runtime/vm/jit/translator.cpp @@ -2957,7 +2957,8 @@ void Translator::specializeDeps(Tracelet& tclet, TraceletContext& tctxt) { for (NormalizedInstruction* instr = tclet.m_instrStream.first; instr; instr = instr->next) { auto op = instr->op(); - if ((op == OpCGetM || op == OpIssetM) && instr->inputs.size() == 2) { + if ((op == OpCGetM || op == OpIssetM || op == OpFPassM) && + instr->inputs.size() == 2) { specializeCollections(instr, 0, tctxt); } else if (op == OpSetM && instr->inputs.size() == 3) { specializeCollections(instr, 1, tctxt);