PatchSet 4466 
Date: 2004/02/27 16:12:38
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Replaced WORD macro by inline function

2004-02-27  Dalibor Topic <[EMAIL PROTECTED]>

        * kaffe/kaffevm/verify.c
        (getWord): New static inline function.
        (WORD) Removed.
        Replaced use of WORD by getWord.

Members: 
        ChangeLog:1.2046->1.2047 
        kaffe/kaffevm/verify.c:1.59->1.60 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2046 kaffe/ChangeLog:1.2047
--- kaffe/ChangeLog:1.2046      Thu Feb 26 18:02:47 2004
+++ kaffe/ChangeLog     Fri Feb 27 16:12:38 2004
@@ -1,3 +1,10 @@
+2004-02-27  Dalibor Topic <[EMAIL PROTECTED]>
+
+        * kaffe/kaffevm/verify.c
+        (getWord): New static inline function.
+        (WORD) Removed.
+        Replaced use of WORD by getWord.
+
 2004-02-26  Michael Koch  <[EMAIL PROTECTED]>
 
        * libraries/javalib/gnu/java/nio/DatagramChannelImpl.java:
Index: kaffe/kaffe/kaffevm/verify.c
diff -u kaffe/kaffe/kaffevm/verify.c:1.59 kaffe/kaffe/kaffevm/verify.c:1.60
--- kaffe/kaffe/kaffevm/verify.c:1.59   Mon Feb 23 20:00:44 2004
+++ kaffe/kaffe/kaffevm/verify.c        Fri Feb 27 16:12:39 2004
@@ -908,9 +908,16 @@
 /* these retrieve the word (16 bits) or double world (32 bits) of bytecode starting
  * at pc = _PC
  */
-#define        WORD(_CODE, _PC)  ((int16)( \
-                          (_CODE[(_PC)+0] << 8) | \
-                          (_CODE[(_PC)+1])))
+
+static inline
+int16
+getWord(const unsigned char* code,
+       const unsigned int pc)
+{
+       return ((int16)((code[(pc)+0] << 8)
+                       | (code[(pc)+1])));
+}
+
 #define        DWORD(_CODE, _PC) ((int32)( \
                           (_CODE[(_PC)+0] << 24) | \
                           (_CODE[(_PC)+1] << 16) | \
@@ -1405,7 +1412,7 @@
        
 #define GET_WIDX(_IDX, _PC) \
        _IDX = (_PC) + 1; \
-       _IDX = WORD(code, _IDX); \
+       _IDX = getWord(code, _IDX); \
        CHECK_POOL_IDX(_IDX)
 
 #define BRANCH_IN_BOUNDS(_N, _INST) \
@@ -1686,7 +1693,7 @@
                                pc++;
                                wide = false;
                                
-                               n = WORD(code, pc);
+                               n = getWord(code, pc);
                        }
                        else {
                                n = code[pc + 1];
@@ -1705,7 +1712,7 @@
                                pc++;
                                wide = false;
                                
-                               n = WORD(code, pc);
+                               n = getWord(code, pc);
                        }
                        else {
                                GET_IDX(n, pc);
@@ -1739,7 +1746,7 @@
                        status[pc] |= END_BLOCK;
                        
                        n = pc + 1;
-                       branchoffset = WORD(code, n);
+                       branchoffset = getWord(code, n);
                        newpc = pc + branchoffset;
                        BRANCH_IN_BOUNDS(newpc, "goto");
                        status[newpc] |= START_BLOCK;
@@ -1773,7 +1780,7 @@
                        status[newpc] |= START_BLOCK;
                        
                        n            = pc + 1;
-                       branchoffset = WORD(code, n);
+                       branchoffset = getWord(code, n);
                        newpc        = pc + branchoffset;
                        BRANCH_IN_BOUNDS(newpc, "if<condition> = true");
                        status[newpc] |= START_BLOCK;
@@ -1782,7 +1789,7 @@
                        
                case JSR:
                        newpc = pc + 1;
-                       newpc = pc + WORD(code, newpc);
+                       newpc = pc + getWord(code, newpc);
                        goto JSR_common;
                case JSR_W:
                        newpc = pc + 1;
@@ -2182,7 +2189,7 @@
                        {
                        case GOTO:
                                newpc = pc + 1;
-                               newpc = pc + WORD(code, newpc);
+                               newpc = pc + getWord(code, newpc);
                                nextBlock = inWhichBlock(newpc, blocks, numBlocks);
                                
                                if (!merge(einfo, method, curBlock, nextBlock)) {
@@ -2202,7 +2209,7 @@
                                        
                        case JSR:
                                newpc = pc + 1;
-                               newpc = pc + WORD(code, newpc);
+                               newpc = pc + getWord(code, newpc);
                                goto JSR_common;
                        case JSR_W:
                                newpc = pc + 1;
@@ -2224,7 +2231,7 @@
                        case RET:
                                if (status[pc] & WIDE_MODDED) {
                                        n = pc + 1;
-                                       n = WORD(code, n);
+                                       n = getWord(code, n);
                                } else {
                                        n = code[pc + 1];
                                }
@@ -2259,7 +2266,7 @@
                        case IF_ICMPLT:  case IFLT:
                        case IF_ICMPLE:  case IFLE:
                                newpc     = pc + 1;
-                               newpc     = pc + WORD(code, newpc);
+                               newpc     = pc + getWord(code, newpc);
                                nextBlock = inWhichBlock(newpc, blocks, numBlocks);
                                
                                if (!merge(einfo, method, curBlock, nextBlock)) {
@@ -2747,7 +2754,7 @@
        idx = code[pc + 1]
        
 #define GET_WIDX \
-       idx = pc + 1; idx = WORD(code, idx)
+       idx = pc + 1; idx = getWord(code, idx)
        
        
        /* checks whether the specified local variable is of the specified type. */
@@ -4128,7 +4135,7 @@
        const uint32 opcode              = code[pc];
        
        const constants* pool            = CLASS_CONSTANTS(method->class);
-       const uint32 idx                 = WORD(code, pc + 1);
+       const uint32 idx                 = getWord(code, pc + 1);
                                                                 
        const uint32 classIdx            = METHODREF_CLASS(idx, pool);
        Type  mrc;

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to