Hi,
I have some doubts about the semantic of some low level operations I have found during my development of the CLI backend.

The first doubt is about overflow-checked operations: I've noticed there are a number of checked operations that can never fail due to their semantic, such as "int_lt_ovf" or "int_rshift_ovf": am I missing something or are they simply redundant?

Moreover, I've found that the rtyper produces both "int_lshift_ovf" and "int_lshift_ovf_val": what's the difference between the two? And what's the semantic of "int_floordiv_ovf_zer" and "int_mod_ovf_zer"?

The second question regards "uint_neg" and "uint_abs": considering the an unsigned integer can't be negative, what are they intended to do? Are they simply no-op?

Finally, the last question is ootypesystem-specific: I've noticed that the rtyper sets the 'meta' field of every instance just after it has been created: what does it contain? It seems to me that it contains the class the object belongs to: am I correct? If so I could safely ignore that operations, because the CLI automatically tracks the type of each object, couldn't I?
Just a curiosity: why the name 'meta' instead of 'class' or 'type'?

Thanks for the help and good coding! :-)

ciao Anto
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to