Bug 810375 part 1 - Ignore decomposed ops. r=djvj
authorJan de Mooij <jdemooij@mozilla.com>
Mon, 12 Nov 2012 13:08:01 +0100
changeset 112738 6942d37090098428a02ac70f51d9b2765d8e9f3b
parent 112737 9fd4e5e2b4ba67f53b15b05e1ec5eef878fa52c1
child 112739 79b5f9e429d0debf7c7aed5a30e14a0feb898936
push id1351
push userjandemooij@gmail.com
push dateMon, 12 Nov 2012 12:18:00 +0000
reviewersdjvj
bugs810375
milestone19.0a1
Bug 810375 part 1 - Ignore decomposed ops. r=djvj
js/src/ion/BaselineCompiler.cpp
--- a/js/src/ion/BaselineCompiler.cpp
+++ b/js/src/ion/BaselineCompiler.cpp
@@ -151,16 +151,19 @@ BaselineCompiler::emitBody()
         JSOp op = JSOp(*pc);
         IonSpew(IonSpew_Scripts, "Compiling op: %s", js_CodeName[op]);
         frame.assertValidState(pc);
 
         masm.bind(labelOf(pc));
 
         switch (op) {
           default:
+            // Ignore fat opcodes, we compile the decomposed version instead.
+            if (js_CodeSpec[op].format & JOF_DECOMPOSE)
+                break;
             IonSpew(IonSpew_Abort, "Unhandled op: %s", js_CodeName[op]);
             return Method_CantCompile;
 
 #define EMIT_OP(OP)                            \
           case OP:                             \
             if (!this->emit_##OP())            \
                 return Method_Error;           \
             break;