summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty
blob: 6213d0cb5e39a9c1008f1520774589b26b43018c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
\newcount\@lisp@gc@simple@count

% gc initializer (called by lisp-on-tex.sty)
\def\@lisp@gc@init{\@lisp@gc@simple@count=0\relax}

% allocator
% The allocator define #1 to allocated the control sequence
\def\@lisp@gc@alloc#1{%
  \expandafter\def\expandafter#1\expandafter{%
  \csname @lisp@gc@memory\the\@lisp@gc@simple@count\endcsname}%
  \global\advance\@lisp@gc@simple@count1\relax}

% GC main routine. The routine is called by the allocator.
% If you want to call GC manually, you can do it.
% In simple mode, this does not affects.
\def\@lisp@gc@perform{}

% pinning a object on global.
% In simple mode, this does not affects.
\def\@lisp@gc@pinning#1#2{}

% pinning objects on local.
% In simple mode, this does not affects.
\def\@lisp@gc@save@objects@local#1{}

% pinning memories on local.
% In simple mode, this does not affects.
\def\@lisp@gc@save@memory@local#1{}

% pinning environmnt on local.
% In simple mode, this does not affects.
\def\@lisp@gc@save@env@local#1{}