diff --git a/mozilla/js/src/jsopcode.c b/mozilla/js/src/jsopcode.c index 953311e4f22..bc46f723111 100644 --- a/mozilla/js/src/jsopcode.c +++ b/mozilla/js/src/jsopcode.c @@ -2323,7 +2323,9 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb) break; case JSOP_DELELEM: + op = JSOP_NOP; /* turn off parens */ xval = POP_STR(); + op = saveop; lval = POP_STR(); if (*xval == '\0') goto do_delete_lval; @@ -2395,7 +2397,9 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb) case JSOP_INCELEM: case JSOP_DECELEM: + op = JSOP_NOP; /* turn off parens */ xval = POP_STR(); + op = saveop; lval = POP_STR(); if (*xval != '\0') { todo = Sprint(&ss->sprinter, @@ -2454,7 +2458,9 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb) case JSOP_ELEMINC: case JSOP_ELEMDEC: + op = JSOP_NOP; /* turn off parens */ xval = POP_STR(); + op = saveop; lval = POP_STR(); if (*xval != '\0') { todo = Sprint(&ss->sprinter, diff --git a/mozilla/js/src/jsopcode.tbl b/mozilla/js/src/jsopcode.tbl index 2a9d27a6727..356d0919241 100644 --- a/mozilla/js/src/jsopcode.tbl +++ b/mozilla/js/src/jsopcode.tbl @@ -309,7 +309,7 @@ OPDEF(JSOP_SETLOCALPOP, 130, "setlocalpop", NULL, 3, 1, 0, 3, JOF_LOCAL| OPDEF(JSOP_GROUP, 131, "group", NULL, 1, 0, 0, 0, JOF_BYTE) /* Host object extension: given 'o.item(i) = j', the left-hand side compiles JSOP_SETCALL, rather than JSOP_CALL. */ -OPDEF(JSOP_SETCALL, 132, "setcall", NULL, 3, -1, 2, 3, JOF_UINT16|JOF_SET|JOF_ASSIGNING) +OPDEF(JSOP_SETCALL, 132, "setcall", NULL, 3, -1, 2, 17, JOF_UINT16|JOF_SET|JOF_ASSIGNING) /* * Exception handling no-ops, for more economical byte-coding than SRC_TRYFIN