[svn:parrot] r36540 - branches/vtable_morph_change/src/pmc
whiteknight at svn.parrot.org
whiteknight at svn.parrot.org
Tue Feb 10 16:02:38 UTC 2009
Author: whiteknight
Date: Tue Feb 10 16:02:37 2009
New Revision: 36540
URL: https://trac.parrot.org/parrot/changeset/36540
Log:
[vtable_morph_change] update bignum.pmc and bigint.pmc to use pmc_reuse for most cases where morph had been used. Some refactors still needed in both these two
Modified:
branches/vtable_morph_change/src/pmc/bigint.pmc
branches/vtable_morph_change/src/pmc/bignum.pmc
Modified: branches/vtable_morph_change/src/pmc/bigint.pmc
==============================================================================
--- branches/vtable_morph_change/src/pmc/bigint.pmc Tue Feb 10 15:54:03 2009 (r36539)
+++ branches/vtable_morph_change/src/pmc/bigint.pmc Tue Feb 10 16:02:37 2009 (r36540)
@@ -313,7 +313,7 @@
static void
bigint_abs(PARROT_INTERP, PMC *self, PMC *dest) {
BIGINT *bi_self, *bi_dest;
- VTABLE_morph(interp, dest, interp->vtables[enum_class_BigInt]->pmc_class);
+ pmc_reuse(interp, dest, enum_class_BigInt, 0);
GETATTR_BigInt_bi(interp, self, bi_self);
GETATTR_BigInt_bi(interp, dest, bi_dest);
mpz_abs(bi_dest->b, bi_self->b);
@@ -322,7 +322,7 @@
static void
bigint_neg(PARROT_INTERP, PMC *self, PMC *dest) {
BIGINT *bi_self, *bi_dest;
- VTABLE_morph(interp, dest, interp->vtables[enum_class_BigInt]->pmc_class);
+ pmc_reuse(interp, dest, enum_class_BigInt, 0);
GETATTR_BigInt_bi(interp, self, bi_self);
GETATTR_BigInt_bi(interp, dest, bi_dest);
mpz_neg(bi_dest->b, bi_self->b);
Modified: branches/vtable_morph_change/src/pmc/bignum.pmc
==============================================================================
--- branches/vtable_morph_change/src/pmc/bignum.pmc Tue Feb 10 15:54:03 2009 (r36539)
+++ branches/vtable_morph_change/src/pmc/bignum.pmc Tue Feb 10 16:02:37 2009 (r36540)
@@ -326,7 +326,7 @@
static void
bignum_abs(PARROT_INTERP, PMC *self, PMC *dest) {
BIGNUM *bi_self, *bi_dest;
- VTABLE_morph(interp, dest, enum_class_BigNum);
+ pmc_reuse(interp, dest, enum_class_BigNum, 0);
GETATTR_BigNum_bi(interp, self, bi_self);
GETATTR_BigNum_bi(interp, dest, bi_dest);
mpf_abs(bi_dest->b, bi_self->b);
@@ -335,7 +335,7 @@
static void
bignum_neg(PARROT_INTERP, PMC *self, PMC *dest) {
BIGNUM *bi_self, *bi_dest;
- VTABLE_morph(interp, dest, enum_class_BigNum);
+ pmc_reuse(interp, dest, enum_class_BigNum, 0);
GETATTR_BigNum_bi(interp, self, bi_self);
GETATTR_BigNum_bi(interp, dest, bi_dest);
mpf_neg(bi_dest->b, bi_self->b);
@@ -910,7 +910,7 @@
MULTI PMC *subtract(BigNum value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -920,7 +920,7 @@
MULTI PMC *subtract(Integer value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -937,7 +937,7 @@
VTABLE PMC *subtract_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1024,7 +1024,7 @@
VTABLE PMC *pow_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1044,7 +1044,7 @@
MULTI PMC *divide(BigNum value, PMC *dest) {
BIGNUM *bi;
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1063,7 +1063,7 @@
MULTI PMC *divide(Integer value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1080,7 +1080,7 @@
VTABLE PMC *divide_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1128,7 +1128,7 @@
VTABLE PMC *floor_divide_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1157,7 +1157,7 @@
MULTI PMC *modulus(BigNum value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1167,7 +1167,7 @@
MULTI PMC *modulus(Integer value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1292,7 +1292,7 @@
MULTI PMC *bitwise_shl(BigNum value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1304,7 +1304,7 @@
MULTI PMC *bitwise_shl(Integer value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1321,7 +1321,7 @@
VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1372,7 +1372,7 @@
MULTI PMC *bitwise_shr(BigNum value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1384,7 +1384,7 @@
MULTI PMC *bitwise_shr(Integer value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
else
dest = pmc_new(INTERP, SELF->vtable->base_type);
@@ -1402,7 +1402,7 @@
VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
if (dest)
- VTABLE_morph(interp, dest, SELF->vtable->base_type);
+ 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