> Let's see. DUP2_X1 works like this: > > Stack: ..., word3, word2, word1 -> ..., word2, word1, word3, > word2, word1 > > If I really understand how it works, word2 and word1 are to considered > a "long" value That's not really exact, they may be of type long/double using 2 slots. This is true for all dup<x> Operations. You only have to check that pairs are never sperated. If that is validated you may simply copy the stack entrys.
> Stack: ..., value2, value1.word2, value1.word1 -> ..., > value1.word2, value1.word1, word2, value1.word2, value1.word1 > > Which in my case means : > > Stack: ..., value2, value1 -> ..., value1, word2, value1 > > Am I right ? looks fine, but i wouldn't do it that way. You will have to handle local variables. You can't analyse the stack without them, and you will have to treat the 2 slot types there, too. And i wouldn't use different methods for locals and stack. And be warned. Data flow analysis isn't really trivial, you have to consider, that it's impossible to know THE type or Object on the Stack, you allways have to deal with sets. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
