I have been reading the ECMA CLI spec:
http://www.ecma-international.org/publications/standards/Ecma-335.htm
and I'm puzzled by the use of commas within the stack transition diagrams for some of the instructions. For example, here is the documented stack transition for ldloc
(load argument onto the stack):
… => …, value
And here is the stack transition for ldsfld
(load static field of a class):
…, => …, value
My question has to do with the extra comma before the instruction: Does it have any significance? Another example is jmp
(jump to method):
… => …
and br.<length>
(unconditional branch):
…, => …
There are also examples of trailing commas such as for nop
and starg.<length>
. Is this just an inconsistency or is there a nuance to this notation that I don't understand?