[svn:parrot] r43844 - in branches/vtable_massacre: . docs src src/ops src/pmc t/op t/pmc tools/dev

whiteknight at svn.parrot.org whiteknight at svn.parrot.org
Wed Feb 10 03:00:48 UTC 2010


Author: whiteknight
Date: Wed Feb 10 03:00:46 2010
New Revision: 43844
URL: https://trac.parrot.org/parrot/changeset/43844

Log:
nuke the bitwise VTABLEs from all the PMC types. Start the conversion process on the ops to get us building again, but it's taking time and I don't want to leave it uncommitted overnight

Deleted:
   branches/vtable_massacre/t/op/bitwise.t
Modified:
   branches/vtable_massacre/MANIFEST
   branches/vtable_massacre/docs/embed.pod
   branches/vtable_massacre/src/ops/bit.ops
   branches/vtable_massacre/src/pmc/bigint.pmc
   branches/vtable_massacre/src/pmc/default.pmc
   branches/vtable_massacre/src/pmc/scalar.pmc
   branches/vtable_massacre/src/pmc/string.pmc
   branches/vtable_massacre/src/vtable.tbl
   branches/vtable_massacre/t/op/arithmetics_pmc.t
   branches/vtable_massacre/t/op/trans.t
   branches/vtable_massacre/t/pmc/multidispatch.t
   branches/vtable_massacre/tools/dev/vtablize.pl

Modified: branches/vtable_massacre/MANIFEST
==============================================================================
--- branches/vtable_massacre/MANIFEST	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/MANIFEST	Wed Feb 10 03:00:46 2010	(r43844)
@@ -1801,7 +1801,6 @@
 t/op/arithmetics.t                                          [test]
 t/op/arithmetics_pmc.t                                      [test]
 t/op/basic.t                                                [test]
-t/op/bitwise.t                                              [test]
 t/op/box.t                                                  [test]
 t/op/calling.t                                              [test]
 t/op/cc_params.t                                            [test]

Modified: branches/vtable_massacre/docs/embed.pod
==============================================================================
--- branches/vtable_massacre/docs/embed.pod	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/docs/embed.pod	Wed Feb 10 03:00:46 2010	(r43844)
@@ -1053,46 +1053,6 @@
 
 =item C<Parrot_PMC_assign_string_native>
 
-=item C<Parrot_PMC_bitwise_and>
-
-=item C<Parrot_PMC_bitwise_and_int>
-
-=item C<Parrot_PMC_bitwise_ands>
-
-=item C<Parrot_PMC_bitwise_ands_str>
-
-=item C<Parrot_PMC_bitwise_lsr>
-
-=item C<Parrot_PMC_bitwise_lsr_int>
-
-=item C<Parrot_PMC_bitwise_not>
-
-=item C<Parrot_PMC_bitwise_nots>
-
-=item C<Parrot_PMC_bitwise_or>
-
-=item C<Parrot_PMC_bitwise_or_int>
-
-=item C<Parrot_PMC_bitwise_ors>
-
-=item C<Parrot_PMC_bitwise_ors_str>
-
-=item C<Parrot_PMC_bitwise_shl>
-
-=item C<Parrot_PMC_bitwise_shl_int>
-
-=item C<Parrot_PMC_bitwise_shr>
-
-=item C<Parrot_PMC_bitwise_shr_int>
-
-=item C<Parrot_PMC_bitwise_xor>
-
-=item C<Parrot_PMC_bitwise_xor_int>
-
-=item C<Parrot_PMC_bitwise_xors>
-
-=item C<Parrot_PMC_bitwise_xors_str>
-
 =item C<Parrot_PMC_can>
 
 =item C<Parrot_PMC_clone>
@@ -1251,46 +1211,6 @@
 
 =item C<Parrot_PMC_i_add_int>
 
-=item C<Parrot_PMC_i_bitwise_and>
-
-=item C<Parrot_PMC_i_bitwise_and_int>
-
-=item C<Parrot_PMC_i_bitwise_ands>
-
-=item C<Parrot_PMC_i_bitwise_ands_str>
-
-=item C<Parrot_PMC_i_bitwise_lsr>
-
-=item C<Parrot_PMC_i_bitwise_lsr_int>
-
-=item C<Parrot_PMC_i_bitwise_not>
-
-=item C<Parrot_PMC_i_bitwise_nots>
-
-=item C<Parrot_PMC_i_bitwise_or>
-
-=item C<Parrot_PMC_i_bitwise_or_int>
-
-=item C<Parrot_PMC_i_bitwise_ors>
-
-=item C<Parrot_PMC_i_bitwise_ors_str>
-
-=item C<Parrot_PMC_i_bitwise_shl>
-
-=item C<Parrot_PMC_i_bitwise_shl_int>
-
-=item C<Parrot_PMC_i_bitwise_shr>
-
-=item C<Parrot_PMC_i_bitwise_shr_int>
-
-=item C<Parrot_PMC_i_bitwise_xor>
-
-=item C<Parrot_PMC_i_bitwise_xor_int>
-
-=item C<Parrot_PMC_i_bitwise_xors>
-
-=item C<Parrot_PMC_i_bitwise_xors_str>
-
 =item C<Parrot_PMC_i_concatenate>
 
 =item C<Parrot_PMC_i_concatenate_str>
@@ -1659,14 +1579,6 @@
 
 =item C<Parrot_str_append>
 
-=item C<Parrot_str_bitwise_and>
-
-=item C<Parrot_str_bitwise_not>
-
-=item C<Parrot_str_bitwise_or>
-
-=item C<Parrot_str_bitwise_xor>
-
 =item C<Parrot_str_boolean>
 
 =item C<Parrot_str_byte_length>

Modified: branches/vtable_massacre/src/ops/bit.ops
==============================================================================
--- branches/vtable_massacre/src/ops/bit.ops	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/ops/bit.ops	Wed Feb 10 03:00:46 2010	(r43844)
@@ -63,11 +63,15 @@
 }
 
 inline op band(invar PMC, in INT) :base_core {
-    VTABLE_i_bitwise_and_int(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(INTERP, $1);
+    const INTVAL b = a & $2;
+    VTABLE_set_integer_native(INTERP, $1, b);
 }
 
 inline op band(invar PMC, invar PMC) :base_core {
-    VTABLE_i_bitwise_and(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(INTERP, $1);
+    const INTVAL b = VTABLE_get_integer(INTERP, $2);
+    VTABLE_set_integer_native(INTERP, $1, a & b);
 }
 
 inline op band(out INT, in INT, in INT) :base_core {
@@ -75,11 +79,14 @@
 }
 
 inline op band(invar PMC, invar PMC, in INT) :base_core {
-    $1 = VTABLE_bitwise_and_int(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(INTERP, $2);
+    VTABLE_set_integer_native(INTERP, $1, a & $3);
 }
 
 inline op band(invar PMC, invar PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_and(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(INTERP, $2);
+    const INTVAL b = VTABLE_get_integer(INTERP, $3);
+    VTABLE_set_integer_native(INTERP, $1, a & b);
 }
 
 =item B<bands>(inout STR, in STR)
@@ -107,11 +114,16 @@
 }
 
 inline op bands(invar PMC, in STR) :base_core {
-    VTABLE_i_bitwise_ands_str(interp, $1, $2);
+    STRING * const a = VTABLE_get_string(INTERP, $1);
+    STRING * const b = Parrot_str_bitwise_and(INTERP, a, $1, NULL);
+    VTABLE_set_string_native(INTERP, $1, b);
 }
 
 inline op bands(invar PMC, invar PMC) :base_core {
-    VTABLE_i_bitwise_ands(interp, $1, $2);
+    STRING * a = VTABLE_get_string(INTERP, $1);
+    STRING * b = VTBALE_get_string(INTERP, $2);
+    a = Parrot_str_bitwise_and(INTERP, a, b, NULL);
+    VTABLE_set_string_native(INTERP, $1, a);
 }
 
 inline op bands(out STR, in STR, in STR) :base_core {
@@ -119,11 +131,15 @@
 }
 
 inline op bands(invar PMC, invar PMC, in STR) :base_core {
-    $1 = VTABLE_bitwise_ands_str(interp, $2, $3, $1);
+    STRING * const a = VTABLE_get_string(INTERP, $2);
+    STRING * const b = Parrot_str_bitwise_and(interp, a, $3, NULL);
+    VTABLE_set_string_native(interp, $1, b);
 }
 
 inline op bands(invar PMC, invar PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_ands(interp, $2, $3, $1);
+    STRING * const a = VTABLE_get_string(INTERP, $2);
+    STRING * const b = VTABLE_get_string(INTERP, $3);
+    STRING * const c = Parrot_str_bitwise_and(interp, a, b, NULL);
 }
 
 ########################################
@@ -149,11 +165,13 @@
 }
 
 inline op bnot(invar PMC) :base_core {
-    VTABLE_i_bitwise_not(interp, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    VTABLE_set_integer_native(interp, $1, ~a);
 }
 
 inline op bnot(out PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_not(interp, $2, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    VTABLE_set_integer_native(interp, $2, ~a);
 }
 
 =item B<bnots>(inout STR)
@@ -175,11 +193,17 @@
 }
 
 inline op bnots(invar PMC) :base_core {
-    VTABLE_i_bitwise_nots(interp, $1);
+    STRING * a = VTABLE_get_string(interp, $1);
+    STRING * b;
+    Parrot_str_bitwise_not(interp, a, &b);
+    VTABLE_set_string_native(interp, $1, b);
 }
 
 inline op bnots(out PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_nots(interp, $2, $1);
+    STRING * a = VTABLE_get_string(interp, $1);
+    STRING * b;
+    Parrot_str_bitwise_not(interp, a, &b);
+    VTABLE_set_string_native(interp, $2, b);
 }
 
 ########################################
@@ -209,11 +233,14 @@
 }
 
 inline op bor(invar PMC, in INT) :base_core {
-    VTABLE_i_bitwise_or_int(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    VTABLE_set_integer_native(interp, $1, a | $2);
 }
 
 inline op bor(invar PMC, invar PMC) :base_core {
-    VTABLE_i_bitwise_or(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a | b);
 }
 
 inline op bor(out INT, in INT, in INT) :base_core {
@@ -221,11 +248,14 @@
 }
 
 inline op bor(invar PMC, invar PMC, in INT) :base_core {
-    $1 = VTABLE_bitwise_or_int(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a | $3);
 }
 
 inline op bor(invar PMC, invar PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_or(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    VTABLE_set_integer_native(interp, $1, a | b);
 }
 
 =item B<bors>(inout STR, in STR)
@@ -253,11 +283,16 @@
 }
 
 inline op bors(invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = Parrot_str_bitwise_or(interp, $1, $2, NULL);
     VTABLE_i_bitwise_ors_str(interp, $1, $2);
 }
 
 inline op bors(invar PMC, invar PMC) :base_core {
-    VTABLE_i_bitwise_ors(interp, $1, $2);
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = VTABLE_get_string(interp, $2);
+    STRING * const c = Parrot_str_bitwise_or(interp, a, b, NULL);
+    VTABLE_set_string_native(interp, $1, c);
 }
 
 inline op bors(out STR, in STR, in STR) :base_core {
@@ -265,11 +300,16 @@
 }
 
 inline op bors(invar PMC, invar PMC, in STR) :base_core {
-    $1 = VTABLE_bitwise_ors_str(interp, $2, $3, $1);
+    STRING * const b = VTABLE_get_string(interp, $2);
+    STRING * const c = Parrot_str_bitwise_or(interp, b, $3, NULL);
+    VTABLE_set_string_native(interp, $1, c);
 }
 
 inline op bors(invar PMC, invar PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_ors(interp, $2, $3, $1);
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = VTABLE_get_string(interp, $3);
+    STRING * const c = Parrot_str_bitwise_or(interp, a, b, NULL);
+    VTABLE_set_string_native(interp, $1, c);
 }
 
 ########################################
@@ -297,11 +337,16 @@
 }
 
 inline op shl(invar PMC, in INT) :base_core {
-    VTABLE_i_bitwise_shl_int(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = bit_shift_left(a, $2);
+    VTABLE_set_integer_native(interp, $1, b);
 }
 
 inline op shl(invar PMC, invar PMC) :base_core {
-    VTABLE_i_bitwise_shl(interp, $1, $2);
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    const INTVAL c = bit_shift_left(a, b);
+    VTABLE_set_integer_native(interp, $1, c);
 }
 
 inline op shl(out INT, in INT, in INT) :base_core {
@@ -309,11 +354,16 @@
 }
 
 inline op shl(invar PMC, invar PMC, in INT) :base_core {
-    $1 = VTABLE_bitwise_shl_int(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL c = bit_shift_left(a, $3);
+    VTABLE_set_integer_native(interp, $1, b);
 }
 
 inline op shl(invar PMC, invar PMC, invar PMC) :base_core {
-    $1 = VTABLE_bitwise_shl(interp, $2, $3, $1);
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    const INTVAL c = bit_shift_left(a, b);
+    VTABLE_set_integer_native(interp, $1, c);
 }
 
 ########################################

Modified: branches/vtable_massacre/src/pmc/bigint.pmc
==============================================================================
--- branches/vtable_massacre/src/pmc/bigint.pmc	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/pmc/bigint.pmc	Wed Feb 10 03:00:46 2010	(r43844)
@@ -323,36 +323,6 @@
     mpz_neg(bi_dest->b, bi_self->b);
 }
 
-static void
-bigint_bitwise_shl_bigint_int(PARROT_INTERP, PMC *self,
-                              INTVAL value, PMC *dest)
-{
-    BIGINT *bi_self, *bi_dest;
-    GETATTR_BigInt_bi(interp, self, bi_self);
-    GETATTR_BigInt_bi(interp, dest, bi_dest);
-    /* The third args to mpz_mul_2exp and mpz_tdiv_q_2exp are unsigned, so we
-       need to do something sensible with negative values. */
-    if (value >= 0)
-        mpz_mul_2exp(bi_dest->b, bi_self->b, (unsigned long int)value);
-    else
-        mpz_tdiv_q_2exp(bi_dest->b, bi_self->b, (unsigned long int)-value);
-}
-
-static void
-bigint_bitwise_shr_bigint_int(PARROT_INTERP, PMC *self,
-                              INTVAL value, PMC *dest)
-{
-    BIGINT *bi_self, *bi_dest;
-    GETATTR_BigInt_bi(interp, self, bi_self);
-    GETATTR_BigInt_bi(interp, dest, bi_dest);
-    /* The third args to mpz_mul_2exp and mpz_tdiv_q_2exp are unsigned, so we
-       need to do something sensible with negative values. */
-    if (value >= 0)
-        mpz_tdiv_q_2exp(bi_dest->b, bi_self->b, (unsigned long int)value);
-    else
-        mpz_mul_2exp(bi_dest->b, bi_self->b, (unsigned long int)-value);
-}
-
 #else /* ifdef PARROT_HAS_GMP */
 
 typedef struct BIGINT {
@@ -533,32 +503,6 @@
         "no bigint lib loaded");
 }
 
-static void
-bigint_bitwise_shl_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
-    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
-        "no bigint lib loaded");
-}
-
-static void
-bigint_bitwise_shl_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)
-{
-    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
-        "no bigint lib loaded");
-}
-
-static void
-bigint_bitwise_shr_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest) {
-    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
-        "no bigint lib loaded");
-}
-
-static void
-bigint_bitwise_shr_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)
-{
-    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
-        "no bigint lib loaded");
-}
-
 #endif /* ifdef PARROT_HAS_GMP */
 
 pmclass BigInt auto_attrs {
@@ -1174,151 +1118,6 @@
     VTABLE void i_neg() {
         bigint_neg(INTERP, SELF, SELF);
     }
-
-/*
-
-=item C<PMC *bitwise_shl(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_shl_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the shift left of the BigInt by C<*value>.
-
-=item C<void i_bitwise_shl(PMC *value)>
-
-=item C<void i_bitwise_shl_int(INTVAL value)>
-
-Inplace shift left.
-
-=cut
-
-*/
-
-    MULTI PMC *bitwise_shl(BigInt value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shl_bigint_int(INTERP, SELF,
-                                      VTABLE_get_integer(INTERP, value),
-                                      dest);
-        return dest;
-    }
-
-    MULTI PMC *bitwise_shl(Integer value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shl_bigint_int(INTERP, SELF,
-                VTABLE_get_integer(interp, value), dest);
-        return dest;
-    }
-    MULTI PMC *bitwise_shl(DEFAULT value, PMC *dest) {
-        UNUSED(dest)
-        Parrot_ex_throw_from_c_args(INTERP, NULL,
-            EXCEPTION_INTERNAL_NOT_IMPLEMENTED,
-            "BigInt: no multiple dispatch variant 'bitwise_shl' for %Ss",
-            VTABLE_name(interp, value));
-    }
-
-    VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shl_bigint_int(INTERP, SELF, value, dest);
-        return dest;
-    }
-
-
-    MULTI void i_bitwise_shl(BigInt value) {
-        bigint_bitwise_shl_bigint_int(INTERP, SELF,
-                                      VTABLE_get_integer(INTERP, value),
-                                      SELF);
-    }
-
-    MULTI void i_bitwise_shl(Integer value) {
-        bigint_bitwise_shl_bigint_int(INTERP, SELF,
-                VTABLE_get_integer(interp, value), SELF);
-    }
-
-    MULTI void i_bitwise_shl(DEFAULT value) {
-        Parrot_ex_throw_from_c_args(INTERP, NULL,
-            EXCEPTION_INTERNAL_NOT_IMPLEMENTED,
-            "BigInt: no multiple dispatch variant 'i_bitwise_shl' for %Ss",
-            VTABLE_name(interp, value));
-    }
-
-    VTABLE void i_bitwise_shl_int(INTVAL value) {
-        bigint_bitwise_shl_bigint_int(INTERP, SELF, value, SELF);
-    }
-
-/*
-
-=item C<PMC *bitwise_shr(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_shr_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the shift right of the BigInt by C<*value>.
-
-=item C<void i_bitwise_shr(PMC *value)>
-
-=item C<void i_bitwise_shr_int(INTVAL value)>
-
-Inplace shift left.
-
-=cut
-
-*/
-
-    MULTI PMC *bitwise_shr(BigInt value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shr_bigint_int(INTERP, SELF,
-                                      VTABLE_get_integer(INTERP, value),
-                                      dest);
-        return dest;
-    }
-
-    MULTI PMC *bitwise_shr(Integer value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shr_bigint_int(INTERP, SELF,
-                VTABLE_get_integer(interp, value), dest);
-        return dest;
-    }
-
-    MULTI PMC *bitwise_shr(DEFAULT value, PMC *dest) {
-        UNUSED(dest)
-        Parrot_ex_throw_from_c_args(INTERP, NULL,
-            EXCEPTION_INTERNAL_NOT_IMPLEMENTED,
-            "BigInt: no multiple dispatch variant 'bitwise_shr' for %Ss",
-            VTABLE_name(interp, value));
-    }
-
-    VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        bigint_bitwise_shr_bigint_int(INTERP, SELF, value, dest);
-        return dest;
-    }
-
-
-    MULTI void i_bitwise_shr(BigInt value) {
-        bigint_bitwise_shr_bigint_int(INTERP, SELF,
-                                      VTABLE_get_integer(INTERP, value),
-                                      SELF);
-    }
-
-    MULTI void i_bitwise_shr(Integer value) {
-        bigint_bitwise_shr_bigint_int(INTERP, SELF,
-                VTABLE_get_integer(interp, value), SELF);
-    }
-
-    MULTI void i_bitwise_shr(DEFAULT value) {
-        Parrot_ex_throw_from_c_args(INTERP, NULL,
-            EXCEPTION_INTERNAL_NOT_IMPLEMENTED,
-            "BigInt: no multiple dispatch variant 'i_bitwise_shr' for %Ss",
-            VTABLE_name(interp, value));
-    }
-
-    VTABLE void i_bitwise_shr_int(INTVAL value) {
-        bigint_bitwise_shr_bigint_int(INTERP, SELF, value, SELF);
-    }
 }
 
 /*

Modified: branches/vtable_massacre/src/pmc/default.pmc
==============================================================================
--- branches/vtable_massacre/src/pmc/default.pmc	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/pmc/default.pmc	Wed Feb 10 03:00:46 2010	(r43844)
@@ -1786,581 +1786,6 @@
                 "i_pow_float", "PN", SELF, value);
     }
 
-/*
-
-=item C<PMC *bitwise_or(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_or'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_or(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_or", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_or_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_or_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_or_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_or_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_or(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_or'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_or(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_or", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_or_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_or_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_or_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_or_int", "PI", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_and(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_and'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_and(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_and", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_and_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_and_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_and_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_and_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_and(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_and'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_and(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_and", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_and_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_and_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_and_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_and_int", "PI", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_xor(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_xor'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_xor(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_xor", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_xor_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_xor_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_xor_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_xor_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_xor(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_xor'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_xor(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_xor", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_xor_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_xor_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_xor_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_xor_int", "PI", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_ors(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_ors'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_ors(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_ors", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_ors_str(STRING *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_ors_str'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_ors_str(STRING *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_ors_str", "PSP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_ors(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_ors'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_ors(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_ors", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_ors_str(STRING *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_ors_str'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_ors_str(STRING *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_ors_str", "PS", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_ands(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_ands'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_ands(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_ands", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_ands_str(STRING *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_ands_str'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_ands_str(STRING *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_ands_str", "PSP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_ands(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_ands'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_ands(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_ands", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_ands_str(STRING *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_ands_str'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_ands_str(STRING *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_ands_str", "PS", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_xors(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_xors'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_xors(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_xors", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_xors_str(STRING *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_xors_str'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_xors_str(STRING *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_xors_str", "PSP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_xors(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_xors'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_xors(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_xors", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_xors_str(STRING *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_xors_str'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_xors_str(STRING *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_xors_str", "PS", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_shl(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_shl'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shl(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_shl", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_shl_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_shl_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_shl_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_shl(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_shl'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_shl(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_shl", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_shl_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_shl_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_shl_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_shl_int", "PI", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_shr(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_shr'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shr(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_shr", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_shr_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_shr_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_shr_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_shr(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_shr'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_shr(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_shr", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_shr_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_shr_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_shr_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_shr_int", "PI", SELF, value);
-    }
-
-/*
-
-=item C<PMC *bitwise_lsr(PMC *value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_lsr'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_lsr(PMC *value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_lsr", "PPP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<PMC *bitwise_lsr_int(INTVAL value, PMC *dest)>
-
-Default fallback. Performs a multiple dispatch call for 'bitwise_lsr_int'.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_lsr_int(INTVAL value, PMC *dest) {
-        PMC *result = PMCNULL;
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "bitwise_lsr_int", "PIP->P", SELF, value, dest, &result);
-        return result;
-    }
-
-/*
-
-=item C<void i_bitwise_lsr(PMC *value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_lsr'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_lsr(PMC *value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_lsr", "PP", SELF, value);
-    }
-
-/*
-
-=item C<void i_bitwise_lsr_int(INTVAL value)>
-
-Default fallback. Performs a multiple dispatch call for 'i_bitwise_lsr_int'.
-
-=cut
-
-*/
-
-    VTABLE void i_bitwise_lsr_int(INTVAL value) {
-        Parrot_mmd_multi_dispatch_from_c_args(interp,
-                "i_bitwise_lsr_int", "PI", SELF, value);
-    }
 
 /*
 

Modified: branches/vtable_massacre/src/pmc/scalar.pmc
==============================================================================
--- branches/vtable_massacre/src/pmc/scalar.pmc	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/pmc/scalar.pmc	Wed Feb 10 03:00:46 2010	(r43844)
@@ -20,68 +20,6 @@
 
 #include "pmc/pmc_bigint.h"
 
-static PMC *
-bitwise_left_shift_internal(PARROT_INTERP, PMC *self,
-                            PMC *dest, INTVAL shift_amount)
-{
-    /* This handles both left and right shifts; the sign of shift_amount
-       controls the direction, shifting left if positive and right if negative.
-       If we get an error (which can only happen for left shifts) and
-       PARROT_ERRORS_OVERFLOW_FLAG is set, then we throw an error, else the
-       destination is promoted to a BigInt before shifting.  If dest == self,
-       then the shift is done in place.  */
-    const INTVAL base = VTABLE_get_integer(interp, self);
-    INTVAL result     = 0;
-    int overflow_p    = 0;
-
-    /* Compute the shift. */
-    if (shift_amount >= 8*INTVAL_SIZE) {
-        /* Extreme left shift; no need to do an integer shift first. */
-        overflow_p = 1;
-    }
-    else if (shift_amount >= 0) {
-        /* Left shift. */
-        result = base << shift_amount;
-        overflow_p = (result >> shift_amount) != base;
-    }
-    else if (shift_amount > -8*INTVAL_SIZE) {
-        /* Right shift.  By definition, this can never overflow. */
-        result = base >> -shift_amount;
-    }
-    else {
-        /* Extreme right shift. */
-        result = 0;
-    }
-
-    /* Store the result. */
-    if (! overflow_p) {
-        /* If SELF is the destination, we won't want to create a
-           new PMC, because then we won't have the result in SELF.
-           Only create a new PMC if we aren't saving the result
-           to SELF, or if they are both NULL */
-        if (dest != self || dest == NULL)
-            dest = pmc_new(interp, VTABLE_type(interp, self));
-
-        VTABLE_set_integer_native(interp, dest, result);
-    }
-    else if (PARROT_ERRORS_test(interp, PARROT_ERRORS_OVERFLOW_FLAG)) {
-        Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ERR_OVERFLOW,
-            "Integer overflow");
-    }
-    else {
-        /* Overflow; must promote dest to BigInt, and do a BigInt shift. */
-        if (self == dest)
-            pmc_reuse(interp, self, enum_class_BigInt, 0);
-        else
-            dest = pmc_new(interp, enum_class_BigInt);
-
-        VTABLE_set_integer_native(interp, dest, base);
-        VTABLE_i_bitwise_shl_int(interp, dest, shift_amount);
-    }
-
-    return dest;
-}
-
 pmclass scalar {
 
 /*
@@ -734,311 +672,6 @@
 
 =back
 
-=head2 Bitwise Methods
-
-=over 4
-
-=item C<PMC *bitwise_or(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_or_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the bitwise C<OR> of the scalar and C<value>.
-
-=item C<void i_bitwise_or(PMC *value)>
-
-=item C<void i_bitwise_or_int(INTVAL value)>
-
-Inplace bitwise or.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_or(PMC *value, PMC *dest) {
-        const INTVAL result = SELF.get_integer() | VTABLE_get_integer(INTERP, value);
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-
-    VTABLE PMC *bitwise_or_int(INTVAL value, PMC *dest) {
-        const INTVAL result = SELF.get_integer() | value;
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE void i_bitwise_or(PMC *value) {
-        const INTVAL result =
-            SELF.get_integer() | VTABLE_get_integer(INTERP, value);
-
-        SELF.set_integer_native(result);
-    }
-
-
-    VTABLE void i_bitwise_or_int(INTVAL value) {
-        const INTVAL result = SELF.get_integer() | value;
-        SELF.set_integer_native(result);
-    }
-
-/*
-
-=item C<PMC *bitwise_and(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_and_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the bitwise C<AND> of the scalar and C<value>.
-
-=item C<void i_bitwise_and(PMC *value)>
-
-=item C<void i_bitwise_and_int(INTVAL value)>
-
-Inplace bitwise and.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_and(PMC *value, PMC *dest) {
-        const INTVAL result =
-            SELF.get_integer() & VTABLE_get_integer(INTERP, value);
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_and_int(INTVAL value, PMC *dest) {
-        const INTVAL result = SELF.get_integer() & value;
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE void i_bitwise_and(PMC *value) {
-        const INTVAL result =
-            SELF.get_integer() & VTABLE_get_integer(INTERP, value);
-        SELF.set_integer_native(result);
-    }
-
-
-    VTABLE void i_bitwise_and_int(INTVAL value) {
-        const INTVAL result = SELF.get_integer() & value;
-        SELF.set_integer_native(result);
-    }
-
-/*
-
-=item C<void bitwise_xor(PMC *value, PMC *dest)>
-
-=item C<void bitwise_xor_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the bitwise C<XOR> of the scalar and C<*value>.
-
-=item C<void i_bitwise_xor(PMC *value)>
-
-=item C<void i_bitwise_xor_int(INTVAL value)>
-
-Inplace bitwise and.
-
-=cut
-
-*/
-
-    MULTI PMC *bitwise_xor(PMC *value, PMC *dest) {
-        const INTVAL result =
-            SELF.get_integer() ^ VTABLE_get_integer(INTERP, value);
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_xor_int(INTVAL value, PMC *dest) {
-        const INTVAL result = SELF.get_integer() ^ value;
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE void i_bitwise_xor(PMC *value) {
-        const INTVAL result =
-            SELF.get_integer() ^ VTABLE_get_integer(INTERP, value);
-        SELF.set_integer_native(result);
-    }
-
-    VTABLE void i_bitwise_xor_int(INTVAL value) {
-        const INTVAL result = SELF.get_integer() ^ value;
-        SELF.set_integer_native(result);
-    }
-
-/*
-
-=item C<PMC *bitwise_not(PMC *dest)>
-
-=item C<void i_bitwise_not()>
-
-Returns in C<*dest> the bitwise negation of the scalar and C<value>.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_not(PMC *dest) {
-        const INTVAL a = ~SELF.get_integer();
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, a);
-        return dest;
-    }
-
-    VTABLE void i_bitwise_not() {
-        VTABLE_set_integer_native(INTERP, SELF, ~SELF.get_integer());
-    }
-
-/*
-
-=item C<PMC *bitwise_shr(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_shr_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the arithmetic shift right of the scalar by C<value>.
-A negative C<value> shifts left.
-The destination may become a C<BigInt> as a result (but only if the shift amount
-is less than zero).
-
-=item C<void i_bitwise_shr(PMC *value)>
-
-=item C<void i_bitwise_shr_int(INTVAL value)>
-
-Inplace shift right.  A negative C<value> shifts left.
-SELF may become a C<BigInt> as a result (but only if the shift amount is less
-than zero).
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shr(PMC *value, PMC *dest) {
-        return bitwise_left_shift_internal(INTERP, SELF, dest,
-                                           -VTABLE_get_integer(INTERP, value));
-    }
-
-    VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
-        return bitwise_left_shift_internal(INTERP, SELF, dest, -value);
-    }
-
-    VTABLE void i_bitwise_shr(PMC *value) {
-        bitwise_left_shift_internal(INTERP, SELF, SELF,
-                                    -VTABLE_get_integer(INTERP, value));
-    }
-
-    VTABLE void i_bitwise_shr_int(INTVAL value) {
-        bitwise_left_shift_internal(INTERP, SELF, SELF, -value);
-    }
-
-/*
-
-=item C<PMC *bitwise_lsr(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_lsr_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the logical shift right of the scalar by C<*value>.
-
-=item C<void i_bitwise_lsr(PMC *value)>
-
-=item C<void i_bitwise_lsr_int(INTVAL value)>
-
-Inplace shift right.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_lsr(PMC *value, PMC *dest) {
-        const INTVAL result = (UINTVAL)SELF.get_integer() >>
-            VTABLE_get_integer(INTERP, value);
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_lsr_int(INTVAL value, PMC *dest) {
-        const INTVAL result = (UINTVAL)SELF.get_integer() >> value;
-
-        dest = pmc_new(INTERP, VTABLE_type(INTERP, SELF));
-
-        VTABLE_set_integer_native(INTERP, dest, result);
-        return dest;
-    }
-
-    VTABLE void i_bitwise_lsr(PMC *value) {
-        const INTVAL result = (UINTVAL)SELF.get_integer() >>
-                VTABLE_get_integer(INTERP, value);
-        SELF.set_integer_native(result);
-    }
-
-    VTABLE void i_bitwise_lsr_int(INTVAL value) {
-        const INTVAL result = (UINTVAL)SELF.get_integer() >> value;
-        SELF.set_integer_native(result);
-    }
-
-/*
-
-=item C<PMC *bitwise_shl(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_shl_int(INTVAL value, PMC *dest)>
-
-Returns in C<*dest> the shift left of the scalar by C<*value>.  A negative
-C<value> shifts right.  The destination may become a C<BigInt> as a result.
-
-=item C<void i_bitwise_shl(PMC *value)>
-
-=item C<void i_bitwise_shl_int(INTVAL value)>
-
-Inplace shift left.  A negative C<value> shifts right.  SELF may become a
-C<BigInt> as a result.
-
-=cut
-
-*/
-
-    VTABLE PMC *bitwise_shl(PMC *value, PMC *dest) {
-        return bitwise_left_shift_internal(INTERP, SELF, dest,
-                                           VTABLE_get_integer(INTERP, value));
-    }
-
-    VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
-        return bitwise_left_shift_internal(INTERP, SELF, dest, value);
-    }
-
-    VTABLE void i_bitwise_shl(PMC *value) {
-        bitwise_left_shift_internal(INTERP, SELF, SELF,
-                                    VTABLE_get_integer(INTERP, value));
-    }
-
-    VTABLE void i_bitwise_shl_int(INTVAL value) {
-        bitwise_left_shift_internal(INTERP, SELF, SELF, value);
-    }
-
-/*
-
-=back
-
 =head2 String Methods
 
 =over 4

Modified: branches/vtable_massacre/src/pmc/string.pmc
==============================================================================
--- branches/vtable_massacre/src/pmc/string.pmc	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/pmc/string.pmc	Wed Feb 10 03:00:46 2010	(r43844)
@@ -233,172 +233,6 @@
 
 /*
 
-=item C<PMC *bitwise_ors(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_ors_str(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_ands(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_ands_str(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_xors(PMC *value, PMC *dest)>
-
-=item C<PMC *bitwise_xors_str(PMC *value, PMC *dest)>
-
-=item C<void bitwise_nots(PMC *value)>
-
-These functions perform bitwise operations on entire
-strings, and place the result in C<dest>.
-
-=item C<void i_bitwise_ors(PMC *value)>
-
-=item C<void i_bitwise_ors_str(PMC *value)>
-
-=item C<void i_bitwise_ands(PMC *value)>
-
-=item C<void i_bitwise_ands_str(PMC *value)>
-
-=item C<void i_bitwise_xors(PMC *value)>
-
-=item C<void i_bitwise_xors_str(PMC *value)>
-
-=item C<void i_bitwise_nots(PMC *value)>
-
-These functions perform bitwise operations on entire
-strings in place.
-
-=cut
-
-*/
-    VTABLE PMC *bitwise_ors(PMC *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_or(INTERP, s, v, NULL));
-
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_ors_str(STRING *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_or(INTERP, s, value, NULL));
-
-        return dest;
-    }
-
-    VTABLE void i_bitwise_ors(PMC *value) {
-        STRING        *s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-        SELF.set_string_native(Parrot_str_bitwise_or(INTERP, s, v, &s));
-    }
-
-    VTABLE void i_bitwise_ors_str(STRING *value) {
-        STRING *s = VTABLE_get_string(INTERP, SELF);
-        SELF.set_string_native(Parrot_str_bitwise_or(INTERP, s, value, &s));
-    }
-
-    VTABLE PMC *bitwise_ands(PMC *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_and(INTERP, s, v, NULL));
-
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_ands_str(STRING *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_and(INTERP, s, value, NULL));
-
-        return dest;
-    }
-
-
-    VTABLE void i_bitwise_ands(PMC *value) {
-        STRING        *s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-        SELF.set_string_native(Parrot_str_bitwise_and(INTERP, s, v, &s));
-    }
-
-    VTABLE void i_bitwise_ands_str(STRING *value) {
-        STRING *s = VTABLE_get_string(INTERP, SELF);
-        SELF.set_string_native(Parrot_str_bitwise_and(INTERP, s, value, &s));
-    }
-
-    VTABLE PMC *bitwise_xors(PMC *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_xor(INTERP, s, v, NULL));
-
-        return dest;
-    }
-
-    VTABLE PMC *bitwise_xors_str(STRING *value, PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_xor(INTERP, s, value, NULL));
-
-        return dest;
-    }
-
-    VTABLE void i_bitwise_xors(PMC *value) {
-        STRING        *s = VTABLE_get_string(INTERP, SELF);
-        STRING * const v = VTABLE_get_string(INTERP, value);
-        SELF.set_string_native(Parrot_str_bitwise_xor(INTERP, s, v, &s));
-    }
-
-    VTABLE void i_bitwise_xors_str(STRING *value) {
-        STRING *s = VTABLE_get_string(INTERP, SELF);
-        SELF.set_string_native(Parrot_str_bitwise_xor(INTERP, s, value, &s));
-    }
-
-    VTABLE PMC *bitwise_nots(PMC *dest) {
-        STRING * const s = VTABLE_get_string(INTERP, SELF);
-
-        if (!dest)
-            dest = pmc_new(INTERP, SELF->vtable->base_type);
-
-        VTABLE_set_string_native(INTERP, dest,
-            Parrot_str_bitwise_not(INTERP, s, NULL));
-
-        return dest;
-    }
-
-    VTABLE void i_bitwise_nots() {
-        STRING *s = VTABLE_get_string(INTERP, SELF);
-        VTABLE_set_string_native(
-            INTERP, SELF, Parrot_str_bitwise_not(INTERP, s, &s));
-    }
-
-/*
-
 =item C<INTVAL is_equal(PMC *value)>
 
 Compares the string with C<value>; returns true if

Modified: branches/vtable_massacre/src/vtable.tbl
==============================================================================
--- branches/vtable_massacre/src/vtable.tbl	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/src/vtable.tbl	Wed Feb 10 03:00:46 2010	(r43844)
@@ -192,67 +192,6 @@
 PMC* neg(PMC* dest)
 void i_neg() :write
 
-[BITWISE]
-PMC* bitwise_or(PMC* value, PMC* dest)
-PMC* bitwise_or_int(INTVAL value, PMC* dest)
-
-void i_bitwise_or(PMC* value) :write
-void i_bitwise_or_int(INTVAL value) :write
-
-PMC* bitwise_and(PMC* value, PMC* dest)
-PMC* bitwise_and_int(INTVAL value, PMC* dest)
-
-void i_bitwise_and(PMC* value) :write
-void i_bitwise_and_int(INTVAL value) :write
-
-PMC* bitwise_xor(PMC* value, PMC* dest)
-PMC* bitwise_xor_int(INTVAL value, PMC* dest)
-
-void i_bitwise_xor(PMC* value) :write
-void i_bitwise_xor_int(INTVAL value) :write
-
-PMC* bitwise_ors(PMC* value, PMC* dest)
-PMC* bitwise_ors_str(STRING* value, PMC* dest)
-
-void i_bitwise_ors(PMC* value) :write
-void i_bitwise_ors_str(STRING* value) :write
-
-PMC* bitwise_ands(PMC* value, PMC* dest)
-PMC* bitwise_ands_str(STRING* value, PMC* dest)
-
-void i_bitwise_ands(PMC* value) :write
-void i_bitwise_ands_str(STRING* value) :write
-
-PMC* bitwise_xors(PMC* value, PMC* dest)
-PMC* bitwise_xors_str(STRING* value, PMC* dest)
-
-void i_bitwise_xors(PMC* value) :write
-void i_bitwise_xors_str(STRING* value) :write
-
-PMC* bitwise_not(PMC* dest)
-void i_bitwise_not() :write
-
-PMC* bitwise_nots(PMC* dest)
-void i_bitwise_nots() :write
-
-PMC* bitwise_shl(PMC* value, PMC* dest)
-PMC* bitwise_shl_int(INTVAL value, PMC* dest)
-
-void i_bitwise_shl(PMC* value) :write
-void i_bitwise_shl_int(INTVAL value) :write
-
-PMC* bitwise_shr(PMC* value, PMC* dest)
-PMC* bitwise_shr_int(INTVAL value, PMC* dest)
-
-void i_bitwise_shr(PMC* value) :write
-void i_bitwise_shr_int(INTVAL value) :write
-
-PMC* bitwise_lsr(PMC* value, PMC* dest)
-PMC* bitwise_lsr_int(INTVAL value, PMC* dest)
-
-void i_bitwise_lsr(PMC* value) :write
-void i_bitwise_lsr_int(INTVAL value) :write
-
 [CMP]
 INTVAL is_equal(PMC* value)
 INTVAL is_equal_num(PMC* value)

Modified: branches/vtable_massacre/t/op/arithmetics_pmc.t
==============================================================================
--- branches/vtable_massacre/t/op/arithmetics_pmc.t	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/t/op/arithmetics_pmc.t	Wed Feb 10 03:00:46 2010	(r43844)
@@ -35,7 +35,7 @@
 
     if gmp goto do_big_ones
         skip( 34, "will not test BigInt or BigNum without gmp" )
-        goto end   
+        goto end
 
   do_big_ones:
     run_tests_for('BigInt')
@@ -54,15 +54,9 @@
     test_concatenate(type)
     test_logical_xor(type)
     test_logical_or(type)
-    test_bitwise_shr(type)
-    test_bitwise_or(type)
-    test_bitwise_shl(type)
-    test_bitwise_xor(type)
     test_modulus(type)
     test_pow(type)
     test_subtract(type)
-    test_bitwise_lsr(type)
-    test_bitwise_and(type)
 .end
 
 .sub test_add
@@ -86,7 +80,7 @@
     add $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -116,7 +110,7 @@
     div $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -146,7 +140,7 @@
     mul $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -176,7 +170,7 @@
     fdiv $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -206,7 +200,7 @@
     and $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -236,7 +230,7 @@
     concat $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -266,7 +260,7 @@
     xor $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -296,127 +290,7 @@
     or $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_shr
-    .param pmc type
-
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_shr for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    shr $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_or
-    .param pmc type
 
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_or for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    bor $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_shl
-    .param pmc type
-
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_shl for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    shl $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_xor
-    .param pmc type
-
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_xor for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    bxor $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
     is( $I0, 0, $S0 )
     goto end
 
@@ -446,7 +320,7 @@
     mod $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -476,7 +350,7 @@
     pow $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
+
     is( $I0, 0, $S0 )
     goto end
 
@@ -506,67 +380,7 @@
     sub $P2, $P0, $P1
 
     $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_lsr
-    .param pmc type
 
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_lsr for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    lsr $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
-    is( $I0, 0, $S0 )
-    goto end
-
-  done:
-    ok(1, 'ignoring exceptions')
-  end:
-.end
-
-.sub test_bitwise_and
-    .param pmc type
-
-    $P0 = new type
-    $P0 = 40
-    $P1 = new type
-    $P1 = 2
-    $P2 = new type
-    $P2 = 115200
-
-    $P99 = $P2
-
-    $S0 = "original dest is untouched in bitwise_and for "
-    $S1 = type
-    concat $S0, $S1
-
-    # ignore exceptions
-    push_eh done
-    band $P2, $P0, $P1
-
-    $I0 = cmp $P99, 115200
-    
     is( $I0, 0, $S0 )
     goto end
 

Deleted: branches/vtable_massacre/t/op/bitwise.t
==============================================================================
--- branches/vtable_massacre/t/op/bitwise.t	Wed Feb 10 03:00:46 2010	(r43843)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,474 +0,0 @@
-#!parrot
-# Copyright (C) 2001-2009, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/op/bitwise.t - Bitwise Ops
-
-=head1 SYNOPSIS
-
-        % prove t/op/bitwise.t
-
-=head1 DESCRIPTION
-
-Tests various bitwise logical operations.
-
-=cut
-
-.sub main :main
-    .include 'test_more.pir'
-
-    plan(68)
-
-    test_shr_i_i_i_shift_rt_()
-    test_shr_i_i_shift_rt_()
-    test_shr_i_i_ic_shift_rt_()
-    test_shr_i_ic_i_shift_rt_()
-    test_shr_i_ic_ic_shift_rt_()
-    test_lsr_i_ic_ic_shift_rt_()
-    test_lsr_i_ic_shift_rt()
-    test_lsr_i_i_i_shift_rt()
-    test_lsr_i_i_ic_shift_rt()
-    test_shr_i_i_ic_shift_rt_negative()
-    test_shl_i_i_i_shift_lt()
-    test_shl_i_i_ic_shift_lt()
-    test_shl_i_ic_i_shift_lt()
-    test_shl_i_ic_ic_shift_lt()
-    test_shl_i_i_shift_lt()
-    test_bxor_i_i_i_xor()
-    test_bxor_i_i_ic_xor()
-    test_bxor_i_ic_xor()
-    test_band_i_i_i_and()
-    test_band_i_i_ic_and()
-    test_band_i_i_ic_and_2()
-    test_bor_i_i_i()
-    test_bor_i_i_ic()
-    test_bor_i_i_ic_2()
-    test_bnot_i_i_2()
-    test_rot_i_i_ic_ic()
-    test_i_reg_shl_and_pmc_shl_are_consistent()
-    # END_OF_TESTS
-.end
-
-.macro exception_is ( M )
-    .local pmc exception
-    .local string message
-    .get_results (exception)
-
-    message = exception['message']
-    is( message, .M, .M )
-.endm
-
-.sub test_shr_i_i_i_shift_rt_
-    set $I0, 0b001100
-    set $I1, 0b010100
-    set $I2, 1
-    set $I3, 2
-    shr $I4, $I0, $I2
-    shr $I2, $I0, $I2
-    shr $I1, $I1, $I3
-    is( $I4, "6", 'shr_i_i_i (>>)' )
-    is( $I2, "6", 'shr_i_i_i (>>)' )
-    is( $I1, "5", 'shr_i_i_i (>>)' )
-    is( $I0, "12", 'shr_i_i_i (>>)' )
-.end
-
-.sub test_shr_i_i_shift_rt_
-    set $I0, 0b001100
-    set $I1, 0b010100
-    set $I2, 1
-    set $I3, 2
-    shr $I0, $I2
-    shr $I1, $I3
-    is( $I0, "6", 'shr_i_i (>>)' )
-    is( $I1, "5", 'shr_i_i (>>)' )
-.end
-
-.sub test_shr_i_i_ic_shift_rt_
-    set     $I0, 0b001100
-    set     $I1, 0b010100
-    shr     $I2, $I0, 1
-    shr     $I1, $I1, 2
-    is( $I2, "6", 'shr_i_i_ic (>>)' )
-    is( $I1, "5", 'shr_i_i_ic (>>)' )
-    is( $I0, "12", 'shr_i_i_ic (>>)' )
-.end
-
-.sub test_shr_i_ic_i_shift_rt_
-    set $I0, 1
-    set $I1, 2
-    shr $I2, 0b001100, $I0
-    shr $I1, 0b010100, $I1
-    is( $I2, "6", 'shr_i_ic_i (>>)' )
-    is( $I1, "5", 'shr_i_ic_i (>>)' )
-.end
-
-.sub test_shr_i_ic_ic_shift_rt_
-    shr $I2, 0b001100, 1
-    shr $I1, 0b010100, 2
-    is( $I2, "6", 'shr_i_ic_ic (>>)' )
-    is( $I1, "5", 'shr_i_ic_ic (>>)' )
-.end
-
-# The crux of this test is that a proper logical right shift
-# will clear the most significant bit, so the shifted value
-# will be a positive value on any 2's or 1's complement CPU
-.sub test_lsr_i_ic_ic_shift_rt_
-    lsr $I2, -40, 1
-    lt $I2, 0, BAD
-    ok( 1, 'lsr_i_ic_ic (>>)' )
-    goto END
-  BAD:
-    ok( 0, 'lsr_i_ic_ic (>>)' )
-  END:
-.end
-
-.sub test_lsr_i_ic_shift_rt
-    set $I2, -100
-    lsr $I2, 1
-    lt $I2, 0, BAD
-    ok( 1, 'lsr_i_ic (>>) OK')
-    goto END
-  BAD:
-    ok( 0, 'lsr_i_ic (>>)')
-  END:
-.end
-
-.sub test_lsr_i_i_i_shift_rt
-    set $I0, -40
-    set $I1, 1
-    lsr $I2, $I0, $I1
-    lt $I2, 0, BAD
-    ok( 1, 'lsr_i_i_i (>>) OK')
-    goto END
-  BAD:
-    ok( 0, 'lsr_i_i_i (>>)')
-  END:
-.end
-
-# ... and the missing op signature was untested and wrong in JIT/i386
-.sub test_lsr_i_i_ic_shift_rt
-    set $I0, -40
-    lsr $I2, $I0, 1
-    lt $I2, 0, BAD
-    ok( 1, 'lsr_i_i_ic (>>) OK')
-    goto END
-  BAD:
-    ok( 0, 'lsr_i_i_ic (>>)')
-  END:
-.end
-
-.sub test_shr_i_i_ic_shift_rt_negative
-    set $I0, -40
-    shr $I2, $I0, 1
-    ge $I2, 0, BAD
-    ok( 1, 'shr_i_i_ic (>>) negative OK')
-    goto END
-  BAD:
-    ok( 0, 'shr_i_i_ic (>>) negative')
-  END:
-.end
-
-.sub test_shl_i_i_i_shift_lt
-    set $I0, 0b001100
-    set $I1, 0b010100
-    set $I2, 2
-    set $I3, 1
-    shl $I4, $I0, $I2
-    shl $I2, $I0, $I2
-    shl $I1, $I1, $I3
-    is( $I4, "48", 'shl_i_i_i (<<)' )
-    is( $I2, "48", 'shl_i_i_i (<<)' )
-    is( $I1, "40", 'shl_i_i_i (<<)' )
-    is( $I0, "12", 'shl_i_i_i (<<)' )
-.end
-
-.sub test_shl_i_i_ic_shift_lt
-    set $I0, 0b001100
-    set $I1, 0b010100
-    shl $I2, $I0, 2
-    shl $I1, $I1, 1
-    is( $I2, "48", 'shl_i_i_ic (<<)' )
-    is( $I1, "40", 'shl_i_i_ic (<<)' )
-    is( $I0, "12", 'shl_i_i_ic (<<)' )
-.end
-
-.sub test_shl_i_ic_i_shift_lt
-    set $I0, 2
-    set $I1, 1
-    shl $I2, 0b001100, $I0
-    shl $I1, 0b010100, $I1
-    is( $I2, "48", 'shl_i_ic_i (<<)' )
-    is( $I1, "40", 'shl_i_ic_i (<<)' )
-.end
-
-.sub test_shl_i_ic_ic_shift_lt
-    shl $I2, 0b001100, 2
-    shl $I1, 0b010100, 1
-    is( $I2, "48", 'shl_i_ic_ic (<<)' )
-    is( $I1, "40", 'shl_i_ic_ic (<<)' )
-.end
-
-.sub test_shl_i_i_shift_lt
-    set $I0, 0b001100
-    set $I1, 0b010100
-    set $I2, 1
-    set $I3, 2
-    shl $I0, $I2
-    shl $I1, $I3
-    is( $I0, "24", 'shl_i_i (<<)' )
-    is( $I1, "80", 'shl_i_i (<<)' )
-.end
-
-.sub test_bxor_i_i_i_xor
-    set     $I0, 0b001100
-    set     $I1, 0b100110
-    bxor    $I2, $I0, $I1
-    is( $I2, "42", 'bxor_i_i_i (^)' )
-    bxor    $I1, $I0, $I1
-    is( $I1, "42", 'bxor_i_i_i (^)' )
-    is( $I0, "12", 'bxor_i_i_i (^)' )
-.end
-
-.sub test_bxor_i_i_ic_xor
-    set $I0, 0b001100
-    bxor $I2, $I0, 0b100110
-    is( $I2, "42", 'bxor_i_i_ic (^)' )
-    is( $I0, "12", 'bxor_i_i_ic (^)' )
-    bxor $I0, $I0, 0b100110
-    is( $I0, "42", 'bxor_i_i_ic (^)' )
-.end
-
-.sub test_bxor_i_ic_xor
-    set $I0, 0b001100
-    set $I2, 0b000011
-    bxor $I2, $I0
-    is( $I2, "15", 'bxor_i|ic (^)' )
-    set $I2, 0b001100
-    bxor  $I2, $I0
-    is( $I2, "0", 'bxor_i|ic (^)' )
-    set $I2, 0b101010
-    bxor $I2, $I2
-    is( $I2, "0", 'bxor_i|ic (^)' )
-    set $I2, 0b010101
-    bxor $I2, 0b000011
-    is( $I2, "22", 'bxor_i|ic (^)' )
-.end
-
-.sub test_band_i_i_i_and
-    set     $I0, 0b001100
-    set     $I1, 0b010110
-    band    $I2, $I0,$I1
-    is( $I2, "4", 'band_i_i_i (&)' )
-    band    $I1,$I0,$I1
-    is( $I1, "4", 'band_i_i_i (&)' )
-    is( $I0, "12", 'band_i_i_i (&)' )
-.end
-
-.sub test_band_i_i_ic_and
-    set $I0, 0b001100
-    band $I2, $I0,0b010110
-    is( $I2, "4", 'band_i_i_ic (&)' )
-    is( $I0, "12", 'band_i_i_ic (&)' )
-    band $I0,$I0,0b010110
-    is( $I0, "4", 'band_i_i_ic (&)' )
-.end
-
-.sub test_band_i_i_ic_and_2
-    set $I0, 0b001100
-    set $I2, 0b000011
-    band $I2, $I0
-    is( $I2, "0", 'band_i_i|ic (&)' )
-
-    set $I2, 0b001100
-    band  $I2, $I0
-    is( $I2, "12", 'band_i_i|ic (&)' )
-
-    set $I2, 0b101010
-    band $I2, $I2
-    is( $I2, "42", 'band_i_i|ic (&)' )
-    
-    set $I2, 0b010101
-    band $I2, 0b000011
-    is( $I2, "1", 'band_i_i|ic (&)' )
-.end
-
-.sub test_bor_i_i_i
-    set $I0, 0b001100
-    set $I1, 0b010110
-    bor $I2, $I0,$I1
-    is( $I2, "30", 'bor_i_i_i (|)' )
-    bor $I1,$I0,$I1
-    is( $I1, "30", 'bor_i_i_i (|)' )
-    is( $I0, "12", 'bor_i_i_i (|)' )
-.end
-
-.sub test_bor_i_i_ic
-    set $I0, 0b001100
-    bor $I2, $I0,0b010110
-    is( $I2, "30", 'bor_i_i_ic (|)' )
-    is( $I0, "12", 'bor_i_i_ic (|)' )
-    bor $I0,$I0,0b010110
-    is( $I0, "30", 'bor_i_i_ic (|)' )
-.end
-
-.sub test_bor_i_i_ic_2
-    set $I0, 0b001100
-    set $I2, 0b000011
-    bor $I2, $I0
-    is( $I2, "15", 'bor_i_i|ic (|) 2' )
-    set $I2, 0b001100
-    bor  $I2, $I0
-    is( $I2, "12", 'bor_i_i|ic (|) 2' )
-    set $I2, 0b101010
-    bor $I2, $I2
-    is( $I2, "42", 'bor_i_i|ic (|) 2' )
-    set $I2, 0b010101
-    bor $I2, 0b000011
-    is( $I2, "23", 'bor_i_i|ic (|) 2' )
-.end
-
-.sub test_bnot_i_i_2
-    set     $I0, 0b001100
-    set     $I1, 0b001100
-    set     $I31, 0b111111
-    bnot    $I2, $I0
-    band    $I2, $I2, $I31
-    is( $I2, "51", 'bnot_i_i (~) 2' )
-    bnot    $I1, $I1
-    band    $I1, $I1, $I31
-    is( $I1, "51", 'bnot_i_i (~) 2' )
-    is( $I0, "12", 'bnot_i_i (~) 2' )
-.end
-
-.sub test_rot_i_i_ic_ic
-    .include "iglobals.pasm"
-    .local pmc interp     # a handle to our interpreter object.
-    interp = getinterp
-    .local pmc config
-    config = interp[.IGLOBALS_CONFIG_HASH]
-    .local int intvalsize 
-    intvalsize = config['intvalsize']
-
-    .local int int_bits
-    int_bits = intvalsize * 8
-
-    set $I0, 0b001100
-
-    gt intvalsize, 4, do64bit
-
-    rot $I1, $I0, 1, 32         # 1 left
-    is( $I1, "24", 'rot_i_i_ic_ic' )
-    rot $I1, $I0, -1, 32        # 1 right
-    is( $I1, "6", 'rot_i_i_ic_ic' )
-    goto END
-
-  do64bit:
-    rot $I1, $I0, 1, 64         # 1 left
-    is( $I1, "24", 'rot_i_i_ic_ic' )
-    rot $I1, $I0, -1, 64        # 1 right
-    is( $I1, "6", 'rot_i_i_ic_ic' )
-    
-  END:
-.end
-
-## The PMC shl op will promote Integer to Bigint when needed.  We can't stuff a
-## BigInt in an I register, but we can produce the same result modulo wordsize.
-## [Only we cheat by using the word size minus one, so that we don't have to
-## deal with negative numbers.  -- rgr, 2-Jun-07.]
-.sub test_i_reg_shl_and_pmc_shl_are_consistent
-
-    .include "iglobals.pasm"
-    .local pmc interp     # a handle to our interpreter object.
-    interp = getinterp
-    .local pmc config
-    config = interp[.IGLOBALS_CONFIG_HASH]
-    .local int gmp
-    gmp = config['gmp']
-    
-    if gmp, runtest
-    skip( 2, 'no BigInt lib found' )
-    goto END
-
-  runtest:
-
-    ## Figure out the wordsize.  We need integer_modulus because assigning a
-    ## too-big BigInt throws an error otherwise.
-    .include 'sysinfo.pasm'
-    .local int i_bytes_per_word, i_bits_per_word_minus_one
-    .local pmc bits_per_word_minus_one, integer_modulus
-    i_bytes_per_word = sysinfo .SYSINFO_PARROT_INTSIZE
-    i_bits_per_word_minus_one = 8 * i_bytes_per_word
-    dec i_bits_per_word_minus_one
-    bits_per_word_minus_one = new 'Integer'
-    bits_per_word_minus_one = i_bits_per_word_minus_one
-    integer_modulus = new 'BigInt'
-    integer_modulus = 1
-    integer_modulus <<= bits_per_word_minus_one
-
-    ## Test shifting a positive number.
-    new $P0, 'Integer'
-    set $P0, 1000001
-    test_shift($P0, integer_modulus)
-
-    ## Test shifting a negative number.
-    set $P0, -1000001
-    test_shift($P0, integer_modulus)
-  END:
-.end
-
-.sub test_shift
-    .param pmc number
-    .param pmc integer_modulus
-    new $P1, 'Integer'
-    set $P1, 1
-    .local int i_number
-    i_number = number
-
-    ## Start the loop.
-  loop:
-    if $P1 > 100 goto done
-    ## shift number and i_number into $P2 and $I2.
-    shl $P2, number, $P1
-    $I1 = $P1
-    shl $I2, i_number, $I1
-    ## compare in I registers.
-    $P3 = mod $P2, integer_modulus
-    $I3 = $P3
-    if $I2 >= 0 goto pos_check
-    ## The register op gave a negative result, but the modulus will always be
-    ## positive.  If the truncated result is correct, then the difference will
-    ## be the most negative INTVAL, which is the only number for which -x==x.
-    $I4 = $I3 - $I2
-    $I5 = - $I4
-    if $I4 == $I5 goto ok
-    goto bad
-  pos_check:
-    if $I2 == $I3 goto ok
-  bad:
-    ok( 0, "oops; not ok: " )
-    diag( i_number )
-    diag( ' << ' )
-    diag( $I1 )
-    diag( ' gives I ' )
-    diag( $I2 )
-    diag( ' vs. P ' )
-    diag( $P3 )
-    diag( ".\n" )
-    diag( $I5 )
-    diag( "\n" )
-  ok:
-    ## set up for the next one
-    inc $P1
-    goto loop
-  done:
-    ok( 1, 'finished ok' )
-.end
-
-# Local Variables:
-#   mode: pir
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:

Modified: branches/vtable_massacre/t/op/trans.t
==============================================================================
--- branches/vtable_massacre/t/op/trans.t	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/t/op/trans.t	Wed Feb 10 03:00:46 2010	(r43844)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-t/op/bitwise.t - Bitwise Ops
+t/op/trans.t - Bitwise Ops
 
 =head1 SYNOPSIS
 
@@ -12,7 +12,7 @@
 
 =head1 DESCRIPTION
 
-Tests various bitwise logical operations.
+Tests various transcendental operations
 
 =cut
 
@@ -20,7 +20,7 @@
     .include 'test_more.pir'
 
     plan(16)
-    
+
     test_sin_n()
     test_sin_i()
     test_cos_n()
@@ -44,17 +44,17 @@
 .sub test_sin_n
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = sin 0.0
     is($N0, 0.0, "sin(0.0)", epsilon)
-    
+
     $N0 = sin 1.0
     is($N0, 0.841471, "sin(1.0)", epsilon)
-    
+
     $N1 = _pi()
     $N0 = sin $N1
     is($N0, 0.0, "sin(pi)", epsilon)
-    
+
     $N1 = _pi()
     $N1 = $N1 / 2
     $N0 = sin $N1
@@ -64,10 +64,10 @@
 .sub test_sin_i
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = sin 0
     is($N0, 0.0, "sin(0)", epsilon)
-    
+
     $N0 = sin 1
     is($N0, 0.841471, "sin(1)", epsilon)
 .end
@@ -75,17 +75,17 @@
 .sub test_cos_n
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = cos 0.0
     is($N0, 1.0, "cos(0.0)", epsilon)
-    
+
     $N0 = cos 1.0
     is($N0, 0.540302, "cos(1.0)", epsilon)
-    
+
     $N1 = _pi()
     $N0 = cos $N1
     is($N0, -1.0, "cos(pi)", epsilon)
-    
+
     $N1 = _pi()
     $N1 = $N1 / 2
     $N0 = cos $N1
@@ -95,10 +95,10 @@
 .sub test_cos_i
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = cos 0
     is($N0, 1.0, "cos(0)", epsilon)
-    
+
     $N0 = cos 1
     is($N0, 0.540302, "cos(1)", epsilon)
 .end
@@ -106,22 +106,22 @@
 .sub test_tan_n
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = tan 0.0
     is($N0, 0.0, "tan(0.0)", epsilon)
-    
+
     $N0 = tan 1.0
     is($N0, 1.557408, "tan(1.0)", epsilon)
-.end    
+.end
 
 .sub test_tan_i
     .local num epsilon
     epsilon = _epsilon()
-    
+
     $N0 = tan 0
     is($N0, 0.0, "tan(0)", epsilon)
-    
+
     $N0 = tan 1
     is($N0, 1.557408, "tan(1)", epsilon)
-.end 
+.end
 

Modified: branches/vtable_massacre/t/pmc/multidispatch.t
==============================================================================
--- branches/vtable_massacre/t/pmc/multidispatch.t	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/t/pmc/multidispatch.t	Wed Feb 10 03:00:46 2010	(r43844)
@@ -239,88 +239,6 @@
 42
 OUTPUT
 
-pasm_output_is( <<'CODE', <<'OUTPUT', "PASM INTVAL - new result", todo => 'TT #452' );
-.include "datatypes.pasm"
-    get_global P10, "Integer_bxor_Intval"
-    add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
-
-    new P1, ['Integer']
-    set P1, 3
-    bxor P9, P1, 2
-    print P9
-    print "\n"
-    end
-.pcc_sub Integer_bxor_Intval:
-    get_params "0,0,0", P5, I5, P6
-    print "ok\n"
-    set I10, P5
-    bxor I11, I10, I5
-    new P6, ['Integer']
-    set P6, I11
-    set_returns "0", P6
-    returncc
-CODE
-ok
-1
-OUTPUT
-
-pasm_output_is( <<'CODE', <<'OUTPUT', "PASM INTVAL - existing result", todo => 'TT #452' );
-.include "datatypes.pasm"
-    get_global P10, "Integer_bxor_Intval"
-    add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
-
-    new P0, ['Integer']
-    new P1, ['Integer']
-    set P1, 3
-    bxor P0, P1, 2
-    print P0
-    print "\n"
-    end
-.pcc_sub Integer_bxor_Intval:
-    get_params "0,0,0", P5, I5, P6
-    print "ok\n"
-    set I10, P5
-    bxor I11, I10, I5
-    set P6, I11
-    set_returns "0", P6
-    returncc
-CODE
-ok
-1
-OUTPUT
-
-pasm_output_is( <<'CODE', <<'OUTPUT', "PASM INTVAL - mixed", todo => 'TT #452' );
-.include "datatypes.pasm"
-    get_global P10, "Integer_bxor_Intval"
-    add_multi "bitwise_xor_int", "Integer,INTVAL,PMC", P10
-
-    new P0, ['Integer']
-    new P1, ['Integer']
-    set P1, 3
-    bxor P0, P1, 2
-    print P0
-    print "\n"
-    bxor P9, P1, 2
-    print P9
-    print "\n"
-    end
-.pcc_sub Integer_bxor_Intval:
-    get_params "0,0,0", P5, I5, P6
-    print "ok\n"
-    set I10, P5
-    bxor I11, I10, I5
-    new P6, ['Integer']
-    set P6, I11
-    set_returns "0", P6
-    returncc
-
-CODE
-ok
-1
-ok
-1
-OUTPUT
-
 pir_output_is( <<'CODE', <<'OUT', "first dynamic MMD call" );
 
 .sub main :main

Modified: branches/vtable_massacre/tools/dev/vtablize.pl
==============================================================================
--- branches/vtable_massacre/tools/dev/vtablize.pl	Wed Feb 10 02:29:40 2010	(r43843)
+++ branches/vtable_massacre/tools/dev/vtablize.pl	Wed Feb 10 03:00:46 2010	(r43844)
@@ -168,46 +168,6 @@
 s/^(\s*)(void\s+i_absolute\(\)\s+{)/$1VTABLE $2/;
 s/^(\s*)(PMC\s+\*neg\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
 s/^(\s*)(void\s+i_neg\(\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_or\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_or_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_or\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_or_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_xor\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_xor_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_xor\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_xor_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_ors\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_ors_str\(STRING\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_ors\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_ors_str\(STRING\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_xors\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_xors_str\(STRING\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_xors\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_xors_str\(STRING\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_and\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_and_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_and\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_and_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_ands\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_ands_str\(STRING\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_ands\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_ands_str\(STRING\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_not\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_not\(\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_nots\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_nots\(\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_shl\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_shl_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_shl\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_shl_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_shr\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_shr_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_shr\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_shr_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_lsr\(PMC\s+\*\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(PMC\s+\*bitwise_lsr_int\(INTVAL\s+\w*,\s+PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_lsr\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
-s/^(\s*)(void\s+i_bitwise_lsr_int\(INTVAL\s+\w*\)\s+{)/$1VTABLE $2/;
 s/^(\s*)(INTVAL\s+is_equal\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
 s/^(\s*)(INTVAL\s+is_equal_num\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;
 s/^(\s*)(INTVAL\s+is_equal_string\(PMC\s+\*\w*\)\s+{)/$1VTABLE $2/;


More information about the parrot-commits mailing list