Closed GoogleCodeExporter closed 9 years ago
Hey there,
I guess you're wright, I ported all of the stack modification logic from the
tamarin sources and in there the alchemy opcodes aren't used. So obviously I
forgot about the alchemy ones, sorry again... I quite hastily added support for
the alchemy opcodes and obviously I didn't do a very good job...
I'm not sure how the stack is modified for the alchemy opcodes, but I'm
guessing a save modifies it by -1 and a load by 1 (like getlocal is 1 and
setlocal is -1). So I've added these modifiers:
stackModifiers[Opcode.si8] = -1;
stackModifiers[Opcode.si16] = -1;
stackModifiers[Opcode.si32] = -1;
stackModifiers[Opcode.sf32] = -1;
stackModifiers[Opcode.sf64] = -1;
stackModifiers[Opcode.li8] = 1;
stackModifiers[Opcode.li16] = 1;
stackModifiers[Opcode.li32] = 1;
stackModifiers[Opcode.lf32] = 1;
stackModifiers[Opcode.lf64] = 1;
If you could give this a testdrive, I'd really appreciate it!
Thanks for submitting this bug!
cheers,
Roland
Original comment by ihatelivelyids
on 23 Sep 2011 at 8:03
Save modifies by -2: ...,value, offset => ...,
Load modifies by 0: ..., offset => ..., result
Original comment by zach.griswold@gmail.com
on 23 Sep 2011 at 11:11
damn, didn't read your original comment thoroughly enough, you already gave me
the correct modifiers... Changes are available in the trunk, thank you very
much!
cheers,
Roland
Original comment by ihatelivelyids
on 23 Sep 2011 at 11:46
Original issue reported on code.google.com by
zach.griswold@gmail.com
on 23 Sep 2011 at 7:34