* src/vm/jit/code.h (codeinfo): Renamed codeflags to flags.
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Mon, 8 Oct 2007 11:48:59 +0000 (13:48 +0200)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Mon, 8 Oct 2007 11:48:59 +0000 (13:48 +0200)
(CODE_IS_VALID, CODE_IS_INVALID, CODE_IS_LEAFMETHOD)
(CODE_SETFLAG_INVALID, CODE_SETFLAG_LEAFMETHOD): Removed.
(code_is_invalid, code_flag_invalid, code_unflag_invalid): New inline
function.
(code_is_leafmethod, code_flag_leafmethod, code_unflag_leafmethod):
Likewise.

* src/vm/jit/jit.c (jit_invalidate_code): Use new inline functions.
(jit_get_current_code): Likewise.

src/vm/jit/code.h
src/vm/jit/jit.c

index cc6db31ac0dbe8a39332680ffa95ac18b4e1a49f..ee150e0a247b2103c49a4c9691722934d0667ba8 100644 (file)
@@ -63,7 +63,7 @@ struct codeinfo {
        methodinfo   *m;                    /* method this is a realization of    */
        codeinfo     *prev;                 /* previous codeinfo of this method   */
 
-       u4            codeflags;            /* or of CODE_FLAG_ constants         */
+       uint32_t      flags;                /* OR of CODE_FLAG_ constants         */
 
        u1            optlevel;             /* optimization level of this code    */
        s4            basicblockcount;      /* number of basic blocks             */
@@ -101,16 +101,50 @@ struct codeinfo {
 };
 
 
-/* macros *********************************************************************/
+/* inline functions ***********************************************************/
 
-#define CODE_IS_VALID(code)       (!((code)->codeflags & CODE_FLAG_INVALID))
-#define CODE_IS_INVALID(code)     ((code)->codeflags & CODE_FLAG_INVALID)
-#define CODE_IS_LEAFMETHOD(code)  ((code)->codeflags & CODE_FLAG_LEAFMETHOD)
+/* code_xxx_invalid ************************************************************
 
-#define CODE_SETFLAG_INVALID(code)                                   \
-            ((code)->codeflags |= CODE_FLAG_INVALID)
-#define CODE_SETFLAG_LEAFMETHOD(code)                                \
-            ((code)->codeflags |= CODE_FLAG_LEAFMETHOD)
+   Functions for CODE_FLAG_INVALID.
+
+*******************************************************************************/
+
+inline static int code_is_invalid(codeinfo *code)
+{
+       return (code->flags & CODE_FLAG_INVALID);
+}
+
+inline static void code_flag_invalid(codeinfo *code)
+{
+       code->flags |= CODE_FLAG_INVALID;
+}
+
+inline static void code_unflag_invalid(codeinfo *code)
+{
+       code->flags &= ~CODE_FLAG_INVALID;
+}
+
+
+/* code_xxx_leafmethod *********************************************************
+
+   Functions for CODE_FLAG_LEAFMETHOD.
+
+*******************************************************************************/
+
+inline static int code_is_leafmethod(codeinfo *code)
+{
+       return (code->flags & CODE_FLAG_LEAFMETHOD);
+}
+
+inline static void code_flag_leafmethod(codeinfo *code)
+{
+       code->flags |= CODE_FLAG_LEAFMETHOD;
+}
+
+inline static void code_unflag_leafmethod(codeinfo *code)
+{
+       code->flags &= ~CODE_FLAG_LEAFMETHOD;
+}
 
 
 /* function prototypes ********************************************************/
index 50aef31bd83efe28ba4c43c642dae3019a6ce4f1..e240380056c2bd3eb351b78a25d900475ebeb151 100644 (file)
@@ -1602,10 +1602,11 @@ void jit_invalidate_code(methodinfo *m)
        codeinfo *code;
 
        code = m->code;
-       if (code == NULL || CODE_IS_INVALID(code))
+
+       if (code == NULL || code_is_invalid(code))
                return;
 
-       CODE_SETFLAG_INVALID(code);
+       code_flag_invalid(code);
 
        /* activate mappable replacement points */
 
@@ -1660,7 +1661,7 @@ codeinfo *jit_get_current_code(methodinfo *m)
 
        /* if we have valid code, return it */
 
-       if (m->code && CODE_IS_VALID(m->code))
+       if (m->code && !code_is_invalid(m->code))
                return m->code;
 
        /* otherwise: recompile */