Merged revisions 7628-7631 via svnmerge from
authormichi <none@none>
Mon, 2 Apr 2007 20:05:05 +0000 (20:05 +0000)
committermichi <none@none>
Mon, 2 Apr 2007 20:05:05 +0000 (20:05 +0000)
svn+ssh://michi@c1.complang.tuwien.ac.at/ahome/cacao/svn/cacao/trunk

........
  r7629 | twisti | 2007-04-02 21:45:20 +0200 (Mon, 02 Apr 2007) | 3 lines

  * src/vm/jit/parse.c (parse): JAVA_GOTO_W must be converted to a
  ICMD_GOTO.
........
  r7630 | twisti | 2007-04-02 21:56:14 +0200 (Mon, 02 Apr 2007) | 4 lines

  * src/vm/jit/x86_64/md-abi.c (abi_registers_integer_argument): Added.
  (abi_registers_integer_saved): Likewise.
  (abi_registers_integer_temporary): Likewise.
........
  r7631 | michi | 2007-04-02 22:04:22 +0200 (Mon, 02 Apr 2007) | 3 lines

  * src/vm/jit/stacktrace.c (stacktrace_create): Returns NULL if there is no
  stacktrace available for the given thread. Fixed comments.
........

--HG--
branch : exact-gc

src/vm/jit/parse.c
src/vm/jit/stacktrace.c
src/vm/jit/x86_64/md-abi.c

index 10e020b070c0c245c452d6700bca904c5a03ff02..65c5df59005fb1cc376dd81d071336cc9eb5b05d 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: parse.c 7627 2007-04-02 18:56:59Z twisti $
+   $Id: parse.c 7629 2007-04-02 19:45:20Z twisti $
 
 */
 
@@ -898,7 +898,7 @@ fetch_opcode:
                        CHECK_BYTECODE_INDEX(i);
                        MARK_BASICBLOCK(i);
                        blockend = true;
-                       OP_INSINDEX(opcode, i);
+                       OP_INSINDEX(ICMD_GOTO, i);
                        break;
 
                case JAVA_JSR:
index c540b0347a9750ada69c30fc45f49339acf535f4..2013e6e3d561c9dc2a4f2935ea1567e4fc75ffb5 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: stacktrace.c 7596 2007-03-28 21:05:53Z twisti $
+   $Id: stacktrace.c 7631 2007-04-02 20:04:22Z michi $
 
 */
 
@@ -667,12 +667,13 @@ static bool stacktrace_add_method(stacktracebuffer *stb, methodinfo *m, u1 *pv,
 /* stacktrace_create ***********************************************************
 
    Generates a stacktrace from the thread passed into a
-   stacktracebuffer.  The stacktracebuffer is allocated on the GC
-   heap.
+   stacktracebuffer.  The stacktracebuffer is allocated on the
+   dump memory.
 
    RETURN VALUE:
       pointer to the stacktracebuffer, or
-         NULL if an exception has been thrown
+      NULL if there is no stacktrace available for the
+      given thread.
 
 *******************************************************************************/
 
@@ -956,7 +957,10 @@ stacktracebuffer *stacktrace_create(threadobject* thread)
 
        /* return the stacktracebuffer */
 
-       return stb;
+       if (stb->used == 0)
+               return NULL;
+       else
+               return stb;
 }
 
 
index 111ee462320bd5a1a72ad8759312e428828e39c5..307cc26787024cf6288343f16cfe0898eef842a1 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: md-abi.c 7486 2007-03-08 13:50:07Z twisti $
+   $Id: md-abi.c 7630 2007-04-02 19:56:14Z twisti $
 
 */
 
@@ -52,6 +52,27 @@ const char *abi_registers_integer_name[] = {
        "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15"
 };
 
+const s4 abi_registers_integer_argument[] = {
+       7,  /* a0 */
+       6,  /* a1 */
+       2,  /* a2 */
+       1,  /* a3 */
+       8,  /* a4 */
+       9,  /* a5 */
+};
+
+const s4 abi_registers_integer_saved[] = {
+       7,  /* s0 */
+       12, /* s1 */
+       13, /* s2 */
+       14, /* s3 */
+       15, /* s4 */
+};
+
+const s4 abi_registers_integer_temporary[] = {
+       3,  /* t0 */
+};
+
 
 s4 nregdescfloat[] = {
     REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_ARG,