diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2022-01-16 10:19:50 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2022-01-16 10:19:50 +0000 |
commit | a71f46f17544910a1e3b1d02a905d6a19c88e27d (patch) | |
tree | 39915176dd43e2bdb2d73e31de6e841433b2f6fc /Build/source/texk/web2c | |
parent | 81d53ad5e50775be15c190ef5470940ceb09b22e (diff) |
[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
Diffstat (limited to 'Build/source/texk/web2c')
-rw-r--r-- | Build/source/texk/web2c/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/weave.ch | 22 |
2 files changed, 26 insertions, 0 deletions
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 <https://ascherer.github.io> + + * weave.ch: Add a third layer to 'byte_mem'. + 2022-01-15 Karl Berry <karl@freefriends.org> * 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 @<Print statistics about memory usage@>;@+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):=#; |