Precoloring of stackslot holding the return value to the return register(s) implemented.
authorchristian <none@none>
Wed, 29 Jun 2005 12:39:31 +0000 (12:39 +0000)
committerchristian <none@none>
Wed, 29 Jun 2005 12:39:31 +0000 (12:39 +0000)
( md_return_alloc )
----------------------------------------------------------------------

src/vm/jit/stack.c
src/vm/jit/stack.h

index b9538b32e449eec07545f4bc98b202babc4b6d1a..435dccbd50d0db5dc3f6b6e56edab1161ad05152 100644 (file)
@@ -30,7 +30,7 @@
             Christian Thalinger
                        Christian Ullrich
 
-   $Id: stack.c 2824 2005-06-25 13:31:16Z twisti $
+   $Id: stack.c 2870 2005-06-29 12:39:31Z christian $
 
 */
 
@@ -1125,8 +1125,9 @@ methodinfo *analyse_stack(methodinfo *m, codegendata *cd, registerdata *rd)
                                        case ICMD_FRETURN:
                                        case ICMD_DRETURN:
                                        case ICMD_ARETURN:
+                                               md_return_alloc(m, rd, opcode - ICMD_IRETURN, curstack);
                                                COUNT(count_pcmd_return);
-                                               OP1_0(opcode-ICMD_IRETURN);
+                                               OP1_0(opcode - ICMD_IRETURN);
                                                superblockend = true;
                                                break;
 
index 15c8d5238623988750af2befef6f5977bf3c0bfe..64a5c8881c531cb3fda294e0b526ead59b2b0ecb 100644 (file)
@@ -26,7 +26,7 @@
 
    Authors: Christian Thalinger
 
-   $Id: stack.h 2568 2005-06-06 15:28:11Z twisti $
+   $Id: stack.h 2870 2005-06-29 12:39:31Z christian $
 
 */
 
@@ -385,6 +385,10 @@ void show_icmd_method(methodinfo *m, codegendata *cd, registerdata *rd);
 void show_icmd_block(methodinfo *m, codegendata *cd, basicblock *bptr);
 void show_icmd(instruction *iptr, bool deadcode);
 
+/* machine dependent return value handling function */
+void md_return_alloc(methodinfo *m, registerdata *rd, s4 return_type,
+                                        stackptr stackslot);
+
 #endif /* _STACK_H */