* patcher_builtin_newarray, patcher_builtin_multianewarray,
authortwisti <none@none>
Fri, 4 Nov 2005 16:25:00 +0000 (16:25 +0000)
committertwisti <none@none>
Fri, 4 Nov 2005 16:25:00 +0000 (16:25 +0000)
  patcher_builtin_arraycheckcast, patcher_builtin_arrayinstanceof: Patch
  classinfo instead of vftbl.

src/vm/jit/x86_64/patcher.c

index 4a21fff85488cd46c7c9ff57ceeafac8a443b090..24402d6fde2406fbcc2f7f62ec2722f38ed03d33 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: patcher.c 3472 2005-10-21 11:43:50Z twisti $
+   $Id: patcher.c 3565 2005-11-04 16:25:00Z twisti $
 
 */
 
@@ -394,9 +394,9 @@ bool patcher_builtin_newarray(u1 *sp)
 
        *((u8 *) (ra + 10)) = mcode;
 
-       /* patch the class' vftbl pointer */
+       /* patch the classinfo pointer */
 
-       *((ptrint *) (ra + 2)) = (ptrint) c->vftbl;
+       *((ptrint *) (ra + 2)) = (ptrint) c;
 
        /* if we show disassembly, we have to skip the nop's */
 
@@ -465,9 +465,9 @@ bool patcher_builtin_multianewarray(u1 *sp)
        if (opt_showdisassemble)
                ra = ra + 5;
 
-       /* patch the class' vftbl pointer */
+       /* patch the classinfo pointer */
 
-       *((ptrint *) (ra + 10 + 2)) = (ptrint) c->vftbl;
+       *((ptrint *) (ra + 10 + 2)) = (ptrint) c;
 
        /* patch new function address */
 
@@ -529,9 +529,9 @@ bool patcher_builtin_arraycheckcast(u1 *sp)
        if (opt_showdisassemble)
                ra = ra + 5;
 
-       /* patch the class' vftbl pointer */
+       /* patch the classinfo pointer */
 
-       *((ptrint *) (ra + 2)) = (ptrint) c->vftbl;
+       *((ptrint *) (ra + 2)) = (ptrint) c;
 
        /* patch new function address */
 
@@ -588,9 +588,9 @@ bool patcher_builtin_arrayinstanceof(u1 *sp)
 
        *((u8 *) (ra + 10)) = mcode;
 
-       /* patch the class' vftbl pointer */
+       /* patch the classinfo pointer */
 
-       *((ptrint *) (ra + 2)) = (ptrint) c->vftbl;
+       *((ptrint *) (ra + 2)) = (ptrint) c;
 
        /* if we show disassembly, we have to skip the nop's */