emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bignum speedup patch causes crash at startup


From: Eli Zaretskii
Subject: Re: Bignum speedup patch causes crash at startup
Date: Tue, 04 Sep 2018 19:24:21 +0300

> Date: Tue, 04 Sep 2018 18:10:30 +0300
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden
> 
> Paul, why do we need to call init_bignum_once at dump time?

And btw, why on earth this call:

  0x01231e45 in Fround (arg=make_number(9), divisor=make_number(1))

would need to use GMP??  It's due to this code:

      if (!FLOATP (arg) && !FLOATP (divisor))
        {
          if (EQ (divisor, make_fixnum (0)))
            xsignal0 (Qarith_error);
          int_divide (mpz[0],
                      *bignum_integer (&mpz[0], arg),
                      *bignum_integer (&mpz[1], divisor));
          return make_integer_mpz ();
        }

I don't understand why it prefers GMP calls to a simple double
division, when both arguments are fixnums.  What am I missing?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]