Mercurial > hg > xemacs-beta
comparison src/ChangeLog @ 5769:ffc0c5a66ab1
Be lazy converting markers to integers, bytecode_{arithcompare,arithop}().
src/ChangeLog addition:
2013-12-15 Aidan Kehoe <kehoea@parhasard.net>
* bytecode.c (bytecode_arithcompare):
* bytecode.c (bytecode_arithop):
Call promote_args_lazy () in these two functions, only converting
markers to fixnums if absolutely necessary (since that is ON with
large, mule buffers).
* data.c (BIGNUM_CASE):
* data.c (RATIO_CASE):
* data.c (BIGFLOAT_CASE):
* data.c (ARITHCOMPARE_MANY):
Call promote_args_lazy () here too if WITH_NUMBER_TYPES is defined.
We're not doing the equivalent with the non-NUMBER_TYPES code, but
that's mostly fine, we are doing it in the bytecode.
* number.h:
* number.h (NUMBER_TYPES):
* number.h (promote_args_lazy):
Add this, returning LAZY_MARKER_T if both arguments are markers
that point to the same buffer.
tests/ChangeLog addition:
2013-12-15 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Test arithmetic comparisons with markers, check the type of the
returned values for #'min and #'max.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sun, 15 Dec 2013 10:26:31 +0000 |
| parents | 3bfcdeb65578 |
| children | 72a9467f93fc |
comparison
equal
deleted
inserted
replaced
| 5768:3bfcdeb65578 | 5769:ffc0c5a66ab1 |
|---|---|
| 1 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> | |
| 2 | |
| 3 * bytecode.c (bytecode_arithcompare): | |
| 4 * bytecode.c (bytecode_arithop): | |
| 5 Call promote_args_lazy () in these two functions, only converting | |
| 6 markers to fixnums if absolutely necessary (since that is ON with | |
| 7 large, mule buffers). | |
| 8 | |
| 9 * data.c (BIGNUM_CASE): | |
| 10 * data.c (RATIO_CASE): | |
| 11 * data.c (BIGFLOAT_CASE): | |
| 12 * data.c (ARITHCOMPARE_MANY): | |
| 13 Call promote_args_lazy () here too if WITH_NUMBER_TYPES is defined. | |
| 14 We're not doing the equivalent with the non-NUMBER_TYPES code, but | |
| 15 that's mostly fine, we are doing it in the bytecode. | |
| 16 | |
| 17 * number.h: | |
| 18 * number.h (NUMBER_TYPES): | |
| 19 * number.h (promote_args_lazy): | |
| 20 Add this, returning LAZY_MARKER_T if both arguments are markers | |
| 21 that point to the same buffer. | |
| 22 | |
| 1 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> | 23 2013-12-15 Aidan Kehoe <kehoea@parhasard.net> |
| 2 | 24 |
| 3 * data.c (Fmax): | 25 * data.c (Fmax): |
| 4 * data.c (Fmin): | 26 * data.c (Fmin): |
| 5 When an argument is a marker or a character, and WITH_NUMBER_TYPES | 27 When an argument is a marker or a character, and WITH_NUMBER_TYPES |
