[svn:parrot] r36581 - in trunk/src: dynpmc pmc

Infinoid at svn.parrot.org Infinoid at svn.parrot.org
Wed Feb 11 17:57:17 UTC 2009


Author: Infinoid
Date: Wed Feb 11 17:57:16 2009
New Revision: 36581
URL: https://trac.parrot.org/parrot/changeset/36581

Log:
Fix some fallout from r36396, related to upgrading data types through morphing, bigint pmcs and rational dynpmcs.

Modified:
   trunk/src/dynpmc/rational.pmc
   trunk/src/pmc/bigint.pmc

Modified: trunk/src/dynpmc/rational.pmc
==============================================================================
--- trunk/src/dynpmc/rational.pmc	Wed Feb 11 17:57:09 2009	(r36580)
+++ trunk/src/dynpmc/rational.pmc	Wed Feb 11 17:57:16 2009	(r36581)
@@ -78,7 +78,7 @@
 
     if (dest) {
         if (self != dest)
-            VTABLE_morph(interp, dest, self->vtable->pmc_class);
+            pmc_reuse(interp, dest, self->vtable->base_type, 0);
     }
     else {
         dest = pmc_new(interp, self->vtable->base_type);
@@ -108,7 +108,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -133,7 +133,7 @@
 static void rat_multiply_integer(PARROT_INTERP, PMC *self, int value, PMC *dest) {
   #ifdef PARROT_HAS_GMP
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -158,7 +158,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -185,7 +185,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -212,7 +212,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -240,7 +240,7 @@
     mpz_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->pmc_class);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -563,7 +563,7 @@
     MULTI PMC *add(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -673,7 +673,7 @@
     MULTI PMC *subtract(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -783,7 +783,7 @@
     MULTI PMC *multiply(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -893,7 +893,7 @@
     MULTI PMC *divide(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -993,7 +993,7 @@
     VTABLE PMC *neg(PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1029,7 +1029,7 @@
     VTABLE PMC *absolute(PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 

Modified: trunk/src/pmc/bigint.pmc
==============================================================================
--- trunk/src/pmc/bigint.pmc	Wed Feb 11 17:57:09 2009	(r36580)
+++ trunk/src/pmc/bigint.pmc	Wed Feb 11 17:57:16 2009	(r36581)
@@ -893,7 +893,7 @@
 
     MULTI PMC *subtract(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -903,7 +903,7 @@
 
     MULTI PMC *subtract(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -920,7 +920,7 @@
 
     VTABLE PMC *subtract_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1007,7 +1007,7 @@
 
     VTABLE PMC *pow_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1027,7 +1027,7 @@
     MULTI PMC *divide(BigInt value, PMC *dest) {
         BIGINT *bi;
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1046,7 +1046,7 @@
 
     MULTI PMC *divide(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1063,7 +1063,7 @@
 
     VTABLE PMC *divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1111,7 +1111,7 @@
 
     VTABLE PMC *floor_divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1140,7 +1140,7 @@
 
     MULTI PMC *modulus(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1150,7 +1150,7 @@
 
     MULTI PMC *modulus(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1275,7 +1275,7 @@
 
     MULTI PMC *bitwise_shl(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1287,7 +1287,7 @@
 
     MULTI PMC *bitwise_shl(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1304,7 +1304,7 @@
 
     VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1355,7 +1355,7 @@
 
     MULTI PMC *bitwise_shr(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1367,7 +1367,7 @@
 
     MULTI PMC *bitwise_shr(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1385,7 +1385,7 @@
 
     VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->pmc_class);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 


More information about the parrot-commits mailing list