If a garbage collection message is displayed, Responding to the garbage collection message, Why is garbage collection necessary – Texas Instruments PLUS TI-89 User Manual

Page 379

Advertising
background image

362 Chapter 21: Memory and Variable Management

21MEMORY.DOC TI-89/TI-92 Plus:Memory & Variables Mgmt (English) Susan Gullord Revised: 02/23/01 1:20 PM Printed: 02/23/01 2:19 PM Page 362 of 16

When you see the message to the
right:

¦

To continue archiving,
press ¸.
– or –

¦

To cancel, press N.

After garbage collection, depending on how much additional space is
freed, the variable may or may not be archived. If not, you can
unarchive some variables and try again.

The message:

¦

Lets you know why an archive will take longer than usual. It also
alerts you that the archive may fail if there is not enough memory.

¦

Can alert you when a program is caught in a loop that repetitively
fills the user data archive. Cancel the archive and investigate the
reason.

The user data archive is divided into sectors. When you first begin
archiving, variables are stored consecutively in sector 1. This
continues to the end of the sector. If there is not enough space left in
the sector, the next variable is stored at the beginning of the next
sector. Typically, this leaves an empty block at the end of the
previous sector.

Each variable that you archive is
stored in the first empty block large
enough to hold it.

This process continues to the end of
the last sector. Depending on the size of individual variables, the
empty blocks may account for a significant amount of space.

If a Garbage Collection Message Is Displayed

If you use the user data archive extensively, you may see a
Garbage Collection message. This occurs if you try to archive
a variable when there is not enough free archive memory.
However, the

TI

-

89 / TI

-

92 Plus

will attempt to rearrange the

archived variables to make additional room.

Responding to the
Garbage Collection
Message

Why not Perform
Garbage Collection
Automatically,
without a Message?

Why Is Garbage
Collection
Necessary?

Sector 1

Sector 2

Sector 3

Note: An archived variable
is stored in a continuous
block within a single sector;
it cannot cross a sector
boundary.

Note: Garbage collection
occurs when the variable
you are archiving is larger
than any empty block.

variable A

variable B

variable C

Empty
block

variable D

Depending on its size,
variable D is stored in
one of these locations.

Advertising
This manual is related to the following products: