          free_list[numfree++] = mp;
      else
          Py_TYPE(mp)->tp_free((PyObject *)mp);
-diff -r 2370e331241b Objects/floatobject.c
---- a/Objects/floatobject.c	Sat Sep 01 14:25:48 2012 +0300
-+++ b/Objects/floatobject.c	Mon Mar 11 03:12:35 2013 +0100
+diff -r 66e30c4870bb Objects/floatobject.c
+--- a/Objects/floatobject.c	Thu Mar 21 15:02:16 2013 -0700
++++ b/Objects/floatobject.c	Sat Mar 23 13:49:18 2013 +0100
 @@ -142,14 +142,21 @@ PyObject *
  PyFloat_FromDouble(double fval)
  {

 #ifdef WITH_VALGRIND
     if (UNLIKELY(running_on_valgrind == -1))
         running_on_valgrind = RUNNING_ON_VALGRIND;
@@ -940,14 +1118,20 @@ redirect:
      */
     if (nbytes == 0)
         nbytes = 1;

     memset(p + SST + 1 , FORBIDDENBYTE, SST-1);
 
     if (nbytes > 0)
@@ -1480,7 +1685,10 @@ void
     nbytes += 4*SST;
     if (nbytes > 0)
         memset(q, DEADBYTE, nbytes);
