Hello all,

Along the same lines as the SIZEOF_VOID_P change, I'd like to offer the
following new type to replace to use of 'gssize' when referring to a
machine register. 'gssize' comes from glib, and simply represents the
size of an integer -- which is not necessarily always the same as the
size of the underlying integer registers.

There are some other uses of gssize in mini/ that will need to be
updated as well, but this is a start.

Comments most welcome.

Thanks in advance,
Mark

Index: mini.h
===================================================================
--- mini.h      (revision 121269)
+++ mini.h      (working copy)
@@ -400,6 +400,13 @@
        int size, align;
 } MonoMemcpyArgs;
 
+/* C type matching the size of a machine register. Not always the same
as 'int' */
+#if SIZEOF_REGISTER == 4
+typedef gint32 MonoReg;
+#elif SIZEOF_REGISTER == 8
+typedef gint64 MonoReg;
+#endif
+
 struct MonoInst {
        guint16 opcode;
        guint8  type; /* stack type */
@@ -415,7 +422,7 @@
                union {
                        MonoInst *src;
                        MonoMethodVar *var;
-                       gssize const_val;
+                       MonoReg const_val;
                        gpointer p;
                        MonoMethod *method;
                        MonoMethodSignature *signature;


_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to