From a71f46f17544910a1e3b1d02a905d6a19c88e27d Mon Sep 17 00:00:00 2001 From: Andreas Scherer Date: Sun, 16 Jan 2022 10:19:50 +0000 Subject: [WEB] Add third layer to 'byte_mem'. "pdftex.web + pdftex-final.ch" requires more than $2\times65336$ bytes of memory when processed by WEAVE. git-svn-id: svn://tug.org/texlive/trunk@61622 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/ChangeLog | 4 ++++ Build/source/texk/web2c/weave.ch | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'Build') diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index ce6e8ade2c4..f9e6331d364 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,7 @@ +2022-01-16 Andreas Scherer + + * weave.ch: Add a third layer to 'byte_mem'. + 2022-01-15 Karl Berry * web2c/Makefile.am (web2c_LDADD): set to libweb2c.a diff --git a/Build/source/texk/web2c/weave.ch b/Build/source/texk/web2c/weave.ch index 88916483f4c..0ed63c395f5 100644 --- a/Build/source/texk/web2c/weave.ch +++ b/Build/source/texk/web2c/weave.ch @@ -276,6 +276,28 @@ stat @;@+tats@;@/ end; @z +@x [37] extend 'byte_mem' for "pdftex.web + pdftex-final.ch" +there are programs that need more than 65536 bytes; \TeX\ is one of these. +@y +there are programs that need more than 65536 bytes; \TeX\ is one of these +(and the pdf\TeX\ variant even requires more than twice that amount when +its ``final'' change file is applied). +@z + +@x +is either 0 or 1. (For generality, the first index is actually allowed to +run between 0 and |ww-1|, where |ww| is defined to be 2; the program will +@y +is either 0, 1 or 2. (For generality, the first index is actually allowed to +run between 0 and |ww-1|, where |ww| is defined to be 3; the program will +@z + +@x +@d ww=2 {we multiply the byte capacity by approximately this amount} +@y +@d ww=3 {we multiply the byte capacity by approximately this amount} +@z + @x [50] don't enter xrefs if no_xref set @d append_xref(#)==if xref_ptr=max_refs then overflow('cross reference') else begin incr(xref_ptr); num(xref_ptr):=#; -- cgit v1.2.3