From 4df2a331d71765a2277e3633188589ee54737263 Mon Sep 17 00:00:00 2001 From: Shaunak Kishore Date: Thu, 16 Jul 2020 06:31:38 -0700 Subject: [PATCH] Fix clsmeth is_vec_or_varray interaction Summary: If type is an InitCell that sometimes is a ClsMeth, we could lose logs based on the current implementation. We haven't enabled ClsMeth, so this fix isn't acutely needed. Reviewed By: dneiter Differential Revision: D22567434 fbshipit-source-id: a6985e5d6af6cc594f525bdc340508d1689da9f4 --- hphp/runtime/vm/jit/irgen-builtin.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hphp/runtime/vm/jit/irgen-builtin.cpp b/hphp/runtime/vm/jit/irgen-builtin.cpp index 15986b2a116..2f055d25b58 100644 --- a/hphp/runtime/vm/jit/irgen-builtin.cpp +++ b/hphp/runtime/vm/jit/irgen-builtin.cpp @@ -591,7 +591,8 @@ SSATmp* opt_is_vec_or_varray(IRGS& env, const ParamPrep& params) { return cns(env, true); } - if (!type.maybe(TVec) && !type.maybe(TVArr)) { + if (!type.maybe(TVec) && !type.maybe(TVArr) && + !(type.maybe(TClsMeth) && RO::EvalIsCompatibleClsMethType)) { return cns(env, false); } -- 2.11.4.GIT