[svn:parrot] r44107 - branches/sys_mem_reduce/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Wed Feb 17 20:40:10 UTC 2010


Author: bacek
Date: Wed Feb 17 20:40:06 2010
New Revision: 44107
URL: https://trac.parrot.org/parrot/changeset/44107

Log:
Switch BigNum PMC to GC allocations

Modified:
   branches/sys_mem_reduce/src/pmc/bignum.pmc

Modified: branches/sys_mem_reduce/src/pmc/bignum.pmc
==============================================================================
--- branches/sys_mem_reduce/src/pmc/bignum.pmc	Wed Feb 17 19:20:22 2010	(r44106)
+++ branches/sys_mem_reduce/src/pmc/bignum.pmc	Wed Feb 17 20:40:06 2010	(r44107)
@@ -170,7 +170,7 @@
     BIGNUM *bn;
     GETATTR_BigNum_bn(interp, self, bn);
     mpf_clear(bn->b);
-    mem_sys_free(bn);
+    gc_mem_free(interp, bn);
 #endif
 }
 
@@ -282,7 +282,7 @@
 
     GETATTR_BigNum_bn(interp, self, bn);
     n = (mpf_get_prec(bn->b)) / log(base) * log(2);
-    s = (char *)mem_sys_allocate(n + 5);
+    s = gc_mem_allocate_n_typed(interp, n + 5, char);
     return mpf_get_str(s, &exponent, base, 0, bn->b);
 }
 
@@ -294,7 +294,7 @@
     mp_exp_t exponent;
 
     GETATTR_BigNum_bn(interp, self, bn);
-    s = (char *)mem_sys_allocate(digits + 5);
+    s = gc_mem_allocate_n_typed(interp, digits + 5, char);
     return mpf_get_str(s, &exponent, base, digits, bn->b);
 }
 
@@ -987,21 +987,21 @@
     VTABLE STRING *get_string() {
         char   *s  = bignum_get_string(INTERP, SELF, 10);
         STRING *ps = Parrot_str_new(INTERP, s, 0);
-        mem_sys_free(s);
+        gc_mem_free(interp, s);
         return ps;
     }
 
     VTABLE STRING *get_string_keyed_int(INTVAL base) {
         char   *s  = bignum_get_string(INTERP, SELF, base);
         STRING *ps = Parrot_str_new(INTERP, s, 0);
-        mem_sys_free(s);
+        gc_mem_free(interp, s);
         return ps;
     }
 
     VTABLE STRING *get_string_keyed_int_int(INTVAL base, INTVAL digits) {
         char   *s  = bignum_get_string_size(INTERP, SELF, base, digits);
         STRING *ps = Parrot_str_new(INTERP, s, 0);
-        mem_sys_free(s);
+        gc_mem_free(interp, s);
         return ps;
     }
 


More information about the parrot-commits mailing list