summaryrefslogtreecommitdiff
path: root/source/luametatex/source/tex/textypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/tex/textypes.h')
-rw-r--r--source/luametatex/source/tex/textypes.h25
1 files changed, 11 insertions, 14 deletions
diff --git a/source/luametatex/source/tex/textypes.h b/source/luametatex/source/tex/textypes.h
index c2cd57e64..0fa80dd99 100644
--- a/source/luametatex/source/tex/textypes.h
+++ b/source/luametatex/source/tex/textypes.h
@@ -208,6 +208,7 @@ extern halfword tex_badness(
# define default_output_box 255
/*tex
+
For practical reasons all these registers were max'd to 64K but that really makes no sense for
e.g. glue and mu glue and even attributes. Imagine using more than 8K attributes: we get long
linked lists, slow lookup, lots of copying, need plenty node memory. These large ranges also
@@ -225,31 +226,29 @@ extern halfword tex_badness(
use less than in \LUATEX\ because we got rid of some parallel array so there it would have more
impact).
+ At some point we might actually drop these maxima indeed as we really don't need that many
+ if these registers and if (say) 16K is not enough, then nothing is.
+
*/
# if 1
-
# define max_toks_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x7FFF */ /* 64 64 32 */
# define max_box_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x7FFF */ /* 64 64 32 */
- # define max_int_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x7FFF */ /* 64 64 32 */
- # define max_dimen_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x7FFF */ /* 64 64 32 */
+ # define max_int_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x3FFF */ /* 64 64 16 */
+ # define max_dimen_register_index 0xFFFF /* 0xFFFF 0xFFFF 0x3FFF */ /* 64 64 16 */
# define max_attribute_register_index 0xFFFF /* 0xFFFF 0x7FFF 0x1FFF */ /* 64 32 8 */
- # define max_glue_register_index 0xFFFF /* 0xFFFF 0x7FFF 0x3FFF */ /* 64 32 8 */
+ # define max_glue_register_index 0xFFFF /* 0xFFFF 0x7FFF 0x1FFF */ /* 64 32 8 */
# define max_mu_glue_register_index 0xFFFF /* 0xFFFF 0x3FFF 0x1FFF */ /* 64 16 8 */
- # define max_em_glue_register_index 0xFFFF /* 0xFFFF 0x3FFF 0x1FFF */ /* 64 16 8 */
- # define max_ex_glue_register_index 0xFFFF /* 0xFFFF 0x3FFF 0x1FFF */ /* 64 16 8 */
# else
- # define max_toks_register_index 0x7FFF
+ # define max_toks_register_index 0x3FFF
# define max_box_register_index 0x7FFF
- # define max_int_register_index 0x7FFF
- # define max_dimen_register_index 0x7FFF
+ # define max_int_register_index 0x1FFF
+ # define max_dimen_register_index 0x1FFF
# define max_attribute_register_index 0x1FFF
- # define max_glue_register_index 0x3FFF
+ # define max_glue_register_index 0x1FFF
# define max_mu_glue_register_index 0x1FFF
- # define max_em_glue_register_index 0x1FFF
- # define max_ex_glue_register_index 0x1FFF
# endif
@@ -260,8 +259,6 @@ extern halfword tex_badness(
# define max_n_of_attribute_registers (max_attribute_register_index + 1)
# define max_n_of_glue_registers (max_glue_register_index + 1)
# define max_n_of_mu_glue_registers (max_mu_glue_register_index + 1)
-# define max_n_of_em_glue_registers (max_em_glue_register_index + 1)
-# define max_n_of_ex_glue_registers (max_ex_glue_register_index + 1)
# define max_n_of_bytecodes 65536 /* dynamic */
# define max_n_of_math_families 64