Created attachment 357410 [details] [diff] [review] patch Patch incorporates stack movement information into opcode table. (Those opoces that have variable stack movement are given information corresponding to their movement when the variable portion is 0; client code must incorporate the variable portion as appropriate.) Adds one field to the AbcOpcodeInfo structure, which probably effectively adds one word to it. It would be possible to shrink several fields (encode as bitfields rather than bytes) so that that word is recovered if that is thought important. The new mapping is used by run-time compiler.
call opcodes and multiname opcodes have additional stack movement implied in their operand data. obviously, not in the table; is the idea that the table's value is added to this computed value? (if the rule above is used, i'd expect 0 for e.g. OP_callproperty, and -1 for OP_callpropvoid, which is what i'm seeing)
nevermind, it helps to read the comments highlighted in green
redux changeset: 1310:a99aba358731