[Top][All Lists]

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

Re: bignum branch

From: Andy Moreton
Subject: Re: bignum branch
Date: Sun, 05 Aug 2018 11:46:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (windows-nt)

On Sat 04 Aug 2018, Tom Tromey wrote:

>>>>>> "Andy" == Andy Moreton <address@hidden> writes:
> Andy> The patch has been tested with the attached ccl-tests.el ERT tests to
> Andy> check that ash/lsh shifts behave properly, and that the CCL machinery
> Andy> uses its 28bit codewords correctly in a bignum build.
> Andy> Please check this works for you, and feel free to commit it to the
> Andy> bignum branch.
> I've applied the patch but the new test fails for me.
> I've appended the log.

The test failure is caused by a missing space in the expected CCL dump
output. The following (add a single space) works for me:

diff --git a/test/lisp/international/ccl-tests.el 
index d0c254ce91..ba6d2040e8 100644
--- a/test/lisp/international/ccl-tests.el
+++ b/test/lisp/international/ccl-tests.el
@@ -162,7 +162,7 @@ prog-midi-dump
     2:[read-jump-cond-expr-const] read r0, if !(r0 < 128), jump to 22(+20)
     5:[branch] jump to array[r3] of length 4
-       11 12 15 18 22
+       11 12 15 18 22 
    11:[jump] jump to 2(-9)
    12:[set-register] r1 = r0
    13:[set-register] r0 = r4

> I fixed a couple of trivial formatting issues in your patch, and I also
> added a comment by ccl-fixnum, but otherwise it's what you wrote.

Thanks. I was going to add the explanation I gave to Eli earlier in this

;; The CCL compiled codewords are 28bits, but the CCL implementation
;; assumes that the codewords are sign-extended, so that data constants in
;; the upper part of the codeword are signed. This function truncates a
;; codeword to 28bits, and then sign extends the result to a fixnum.

Perhaps you could add that to give a more detailed explanation.
Hopefully nobody else will need to do anything further to CCL until it
is deprecated and removed. :-)


reply via email to

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