Treat FILTER and ENDFILTER as unknown ops, bug 740595. r=luke a=akeybl
authorBrian Hackett <bhackett1024@gmail.com>
Fri, 13 Apr 2012 08:47:42 -0700
changeset 92090 7dfac7263e726f22c4d0d0e9d72e9859cfcd938f
parent 92089 aa4763ab2c630b5a3256dd47609ff12f6e058c20
child 92091 e158b91dd28a36ae101c2426fc059581eed94cd4
push idunknown
push userunknown
push dateunknown
reviewersluke, akeybl
bugs740595
milestone13.0a2
Treat FILTER and ENDFILTER as unknown ops, bug 740595. r=luke a=akeybl
js/src/jsinfer.cpp
--- a/js/src/jsinfer.cpp
+++ b/js/src/jsinfer.cpp
@@ -4095,26 +4095,20 @@ ScriptAnalysis::analyzeTypesBytecode(JSC
       case JSOP_XMLCDATA:
       case JSOP_XMLCOMMENT:
       case JSOP_DESCENDANTS:
       case JSOP_TOATTRNAME:
       case JSOP_QNAMECONST:
       case JSOP_QNAME:
       case JSOP_ANYNAME:
       case JSOP_GETFUNNS:
-        pushed[0].addType(cx, Type::UnknownType());
-        break;
-
       case JSOP_FILTER:
         /* Note: the second value pushed by filter is a hole, and not modelled. */
-        poppedTypes(pc, 0)->addSubset(cx, &pushed[0]);
-        break;
-
       case JSOP_ENDFILTER:
-        poppedTypes(pc, 1)->addSubset(cx, &pushed[0]);
+        pushed[0].addType(cx, Type::UnknownType());
         break;
 
       case JSOP_CALLEE:
         if (script->hasGlobal())
             pushed[0].addType(cx, Type::ObjectType(script->function()));
         else
             pushed[0].addType(cx, Type::UnknownType());
         break;