I\'d like to know how does .maxstack really work. I know it doesn\'t have to do with the actual size of the types you are declaring but with the number of them. My questions
It has nothing to do with the number of variables declared, but instead everything to do with how many values you need to push on a stack at any given time in order to compute some expression.
For instance, in the following expression, I would assume 2 values needs to be pushed onto the stack:
x = y + z;
This is unrelated to the fact that there are at least 3 variables present, x, y, and z, and possibly others as well.
Unfortunately I don't know the answer to your other questions, and I would guess experimentation would be one way to find some answers.