If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Mapping from opcode to stack movement

VERIFIED FIXED

Status

Tamarin
Virtual Machine
VERIFIED FIXED
9 years ago
8 years ago

People

(Reporter: Lars T Hansen, Assigned: Lars T Hansen)

Tracking

(Blocks: 1 bug)

Details

Attachments

(1 attachment)

(Assignee)

Description

9 years ago
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.
Attachment #357410 - Flags: review?(edwsmith)

Comment 1

9 years ago
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)

Comment 2

9 years ago
nevermind, it helps to read the comments highlighted in green

Updated

9 years ago
Attachment #357410 - Flags: review?(edwsmith) → review+
(Assignee)

Comment 3

9 years ago
redux changeset:   1310:a99aba358731
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED

Updated

8 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.