JPH05257704A - Memory area managing system - Google Patents

Memory area managing system

Info

Publication number
JPH05257704A
JPH05257704A JP5588192A JP5588192A JPH05257704A JP H05257704 A JPH05257704 A JP H05257704A JP 5588192 A JP5588192 A JP 5588192A JP 5588192 A JP5588192 A JP 5588192A JP H05257704 A JPH05257704 A JP H05257704A
Authority
JP
Japan
Prior art keywords
memory area
area
pointer
memory
intermediate data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP5588192A
Other languages
Japanese (ja)
Inventor
Sadahiko Sekiguchi
貞彦 関口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP5588192A priority Critical patent/JPH05257704A/en
Publication of JPH05257704A publication Critical patent/JPH05257704A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To effectively utilize unnecessary used memory areas again in working memory areas for storing the intermediate data of a compiler. CONSTITUTION:This system is provided to unify the size of one memory area to one kind of a fixed length with small capacity and to allocate one kind of intermediate data to one memory area and provided with a head securing area pointer area 101 storing a pointer to a memory area 103 at the head of memory areas chained and secured by a next memory area pointer 105, head releasing area memory area 102 storing a pointer to the memory area 103 at the head of releasing memory areas chained by the next memory area pointer 105, memory area 103 to be secured as necessary, next memory area pointer 105 setting the starting address of the next memory area to the head of the memory area 103, and intermediate data 104.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はメモリ領域管理方式に関
し、特に中間データを格納するコンパイラの作業用メモ
リ領域の確保領域と解放領域との管理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory area management system, and more particularly to a management system of a reserved area and a released area of a working memory area of a compiler for storing intermediate data.

【0002】[0002]

【従来の技術】従来のメモリ領域管理方式は、コンパイ
ラの中間データ毎に中間データの可変長サイズで確保し
た各種サイズのメモリ領域を管理する方式や、データ長
の異なる複数の種類の中間データを格納する大容量固定
長(例えば20480バイト等)領域を確保して大容量
領域を管理する方式であった。
2. Description of the Related Art A conventional memory area management method manages a memory area of various sizes secured by a variable length size of intermediate data for each intermediate data of a compiler, and manages a plurality of types of intermediate data having different data lengths. This is a method of managing a large-capacity area by securing a large-capacity fixed-length area (for example, 20480 bytes) to be stored.

【0003】[0003]

【発明が解決しようとする課題】上述した従来のメモリ
領域管理方式は、中間データ毎に中間データの可変長サ
イズでメモリ領域を確保したり、各種サイズの中間デー
タを格納する大容量固定長領域を確保して管理する方式
であった為に、ある中間データが不要になったときに使
用していたメモリ領域や大容量固定長領域内の該当する
中間データ部分を解放しても、解放した領域が中間デー
タのサイズであるので、このサイズを超える中間データ
の領域として再利用できないという欠点がある。
The above-mentioned conventional memory area management system secures a memory area with a variable length size of intermediate data for each intermediate data, and a large capacity fixed length area for storing intermediate data of various sizes. Since it was a method that secures and manages certain intermediate data, even if the corresponding intermediate data part in the memory area or large fixed length area used when certain intermediate data became unnecessary, it was released. Since the area is the size of the intermediate data, there is a drawback that it cannot be reused as an area of the intermediate data that exceeds this size.

【0004】[0004]

【課題を解決するための手段】本発明のメモリ領域管理
方式は、コンパイラの中間データを格納するメモリ領域
管理方式において、小容量固定長(例えば2048バイ
ト単位)でメモリ領域の確保を行い,1メモリ領域に格
納する中間データを1種類として,メモリ領域を確保す
るメモリと、メモリ状のデータ格納領域であるメモリ領
域と、確保したメモリ領域をポインタで繋いだ確保領域
群の先頭領域のアドレスを格納している先頭確保領域ポ
インタ領域と、使用済みとなり解放されたメモリ領域を
ポインタで繋いだ解放領域群の先頭領域のアドレスを格
納している先頭解放領域ポインタ領域とを備えて構成さ
れる。
According to the memory area management method of the present invention, in the memory area management method for storing intermediate data of a compiler, a memory area is secured with a small fixed length (for example, in units of 2048 bytes). With one type of intermediate data to be stored in the memory area, the memory for securing the memory area, the memory area that is the memory-like data storage area, and the address of the head area of the secured area group that connects the secured memory area with the pointer It is configured to include a stored head secured area pointer area and a head released area pointer area that stores an address of a head area of a released area group in which used and released memory areas are connected by a pointer.

【0005】[0005]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0006】図1は本発明の一実施例のメモリ領域管理
方式の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of a memory area management system according to an embodiment of the present invention.

【0007】本実施例のメモリ管理方式は、1つのメモ
リ領域103の大きさを例えば2048バイトの小容量
固定長の1種類に統一し、1つのメモリ領域103には
1種類の中間データのみを割り当てる方式とし、次メモ
リ領域ポインタ105によって繋がっている確保された
メモリ領域103の先頭のメモリ領域へのポインタが格
納されている先頭確保領域ポインタ領域101と、次メ
モリ領域ポインタ105によって繋がっている解放され
たメモリ領域103の先頭のメモリ領域2へのポインタ
が格納されている先頭解放領域ポインタ領域102と、
必要に応じて確保されるメモリ領域2とから構成されて
いる。また、1つのメモリ領域を見ると、メモリ領域1
02の先頭に次のメモリ領域の開始アドレスが入ってい
る次メモリ領域ポインタ105と中間データBとから構
成されている。
In the memory management system of this embodiment, the size of one memory area 103 is unified into one kind of small capacity fixed length of 2048 bytes, and only one kind of intermediate data is stored in one memory area 103. In the allocation method, the head secured area pointer area 101 in which the pointer to the head memory area of the secured memory area 103 connected by the next memory area pointer 105 is stored and the release connected by the next memory area pointer 105 A head free area pointer area 102 in which a pointer to the head memory area 2 of the stored memory area 103 is stored,
It is composed of a memory area 2 secured as necessary. Looking at one memory area, memory area 1
02 is composed of the next memory area pointer 105 in which the start address of the next memory area is entered and the intermediate data B.

【0008】次に、このように構成された本実施例のメ
モリ領域管理方式の動作について説明する。
Next, the operation of the memory area management system of this embodiment constructed as described above will be described.

【0009】図2は、中間データAとBとCとの領域が
確保された本実施例のブロック図である。先頭確保領域
ポインタ201と次メモリ領域ポインタ204のそれぞ
れには次のメモリ領域203を示す値が設定されてお
り、メモリ領域5の次メモリ領域ポインタ204には次
のメモリ領域203が無いのでNULL値が設定されて
いる。一方、解放されたメモリ領域203は存在しない
ので先頭解放領域ポインタ202にはNULL値が設定
されている。
FIG. 2 is a block diagram of this embodiment in which areas for intermediate data A, B and C are secured. A value indicating the next memory area 203 is set in each of the head secured area pointer 201 and the next memory area pointer 204, and the next memory area pointer 204 of the memory area 5 does not have the next memory area 203, so a NULL value is set. Is set. On the other hand, since the released memory area 203 does not exist, the NULL value is set in the head release area pointer 202.

【0010】図3は、図2に対し中間データBの領域を
解放した本実施例である。中間データBが使用していた
メモリ領域2とメモリ領域5とを解放する為に、メモリ
領域1の次メモリ領域ポインタ304にメモリ領域2の
次メモリ領域ポインタ304の値を設定し、メモリ領域
4の次メモリ領域ポインタ304にメモリ領域5の次メ
モリ領域ポインタ304の値を設定することで、確保し
ているメモリ領域の繋がりを修正でき、一方、解放され
たメモリ領域の繋がりは、初めての解放であるので先頭
解放領域ポインタ302にメモリ領域2の開始アドレス
を設定し、メモリ領域2の次メモリ領域領域ポインタ3
04にメモリ領域5の開始アドレスを設定し、メモリ領
域5の次メモリ領域ポインタ304には次の解放された
メモリ領域が無いのでNULL値を設定することで作成
終了となり、解放処理が終了する。
FIG. 3 shows the present embodiment in which the area of the intermediate data B is released as compared with FIG. In order to release the memory areas 2 and 5 used by the intermediate data B, the value of the next memory area pointer 304 of the memory area 2 is set in the next memory area pointer 304 of the memory area 1, and the memory area 4 is set. By setting the value of the next memory area pointer 304 of the memory area 5 to the next memory area pointer 304 of, the connection of the secured memory area can be corrected, while the connection of the released memory area is released for the first time. Therefore, the start address of the memory area 2 is set in the head release area pointer 302, and the next memory area pointer 3 of the memory area 2 is set.
The start address of the memory area 5 is set in 04, and there is no next released memory area in the next memory area pointer 304 of the memory area 5. Therefore, by setting a NULL value, the creation is completed and the release processing is completed.

【0011】図4は、図3に対し中間データDの領域が
確保された本実施例のブロック図である。中間データD
のメモリ領域403には解放されたメモリ領域の繋がり
を先頭解放領域ポインタ402から検索して最初のメモ
リ領域2を割り当てられることが判明する。この時点
で、先頭解放領域ポインタにメモリ領域2の次メモリ領
域ポインタ404の値を設定し、一方、確保しているメ
モリ領域の繋がりの端末のメモリ領域403であるメモ
リ領域4の次メモリ領域ポインタ404にメモリ領域2
の開始アドレスを設定し、メモリ領域2の次メモリ領域
ポインタ404にNULL値を設定することで、メモリ
領域2の再利用が可能となり中間データDのメモリ領域
403として確保が終了する。
FIG. 4 is a block diagram of this embodiment in which the area of the intermediate data D is secured as compared with FIG. Intermediate data D
It is found that the first free memory area 2 is allocated by searching the connection of the free memory areas from the head free area pointer 402 for the memory area 403 of FIG. At this point, the value of the next memory area pointer 404 of the memory area 2 is set in the head release area pointer, while the next memory area pointer of the memory area 4 which is the memory area 403 of the terminal connected to the secured memory area. Memory area 2 in 404
By setting the start address of the memory area 2 and setting the NULL value to the next memory area pointer 404 of the memory area 2, the memory area 2 can be reused and the securing of the intermediate data D as the memory area 403 is completed.

【0012】[0012]

【発明の効果】以上説明したように本発明は、1メモリ
領域を小容量固定長とし、確保するメモリ領域の容量を
1種類に統一し、1つのメモリ領域に格納する中間デー
タを1種類とすること、メモリ領域の確保および解放を
1メモリ領域単位で行うことで、解放したすべてのメモ
リ領域の再利用が可能になりメモリに無駄な部分がなく
なりメモリ利用効率が向上するこいう効果がある。
As described above, according to the present invention, one memory area has a small capacity and fixed length, the capacity of the memory area to be secured is unified into one type, and the intermediate data stored in one memory area is defined as one type. In addition, by securing and releasing the memory area in units of one memory area, it is possible to reuse all the released memory areas, and there is an effect that there is no unnecessary portion in the memory and the memory utilization efficiency is improved. ..

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】中間データA,BおよびCの領域が確保された
本実施例のブロック図。
FIG. 2 is a block diagram of the present embodiment in which areas for intermediate data A, B, and C are secured.

【図3】図2に対して中間データBの領域が解放された
本実施例のブロック図。
3 is a block diagram of the present embodiment in which the area of intermediate data B is released as compared with FIG.

【図4】図3に対して中間データDの領域が確保された
本実施例のブロック図。
FIG. 4 is a block diagram of the present embodiment in which an area for intermediate data D is secured with respect to FIG.

【符号の説明】[Explanation of symbols]

1〜n メモリ領域 101 先頭確保領域ポインタ領域 102 先頭解放領域ポインタ領域 103 メモリ領域 104 1つのメモリ領域 105 次メモリ領域ポインタ 1 to n memory area 101 head secured area pointer area 102 head released area pointer area 103 memory area 104 one memory area 105 next memory area pointer

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 コンパイラの中間データを格納するメモ
リ領域管理方式において、小容量固定長でメモリ領域の
確保を行い,1メモリ領域に格納する中間データを1種
類として,メモリ領域を確保するメモリと、メモリ状の
データ格納領域であるメモリ領域と、確保したメモリ領
域をポインタで繋いだ確保領域群の先頭領域のアドレス
を格納している先頭確保領域ポインタ領域と、使用済み
となり解放されたメモリ領域をポインタで繋いだ解放領
域群の先頭領域のアドレスを格納している先頭解放領域
ポインタ領域とを備えて成ることを特徴とするメモリ領
域管理方式。
1. A memory area management system for storing intermediate data of a compiler, wherein a memory area is secured with a small fixed capacity and a memory area is secured with one type of intermediate data stored in one memory area. , A memory area that is a memory-like data storage area, and a head secured area pointer area that stores the address of the head area of the secured area group that connects the secured memory area with a pointer, and the memory area that has been used and released A free area pointer area that stores the address of the free area group of the free area group connected by a pointer.
JP5588192A 1992-03-16 1992-03-16 Memory area managing system Withdrawn JPH05257704A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5588192A JPH05257704A (en) 1992-03-16 1992-03-16 Memory area managing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5588192A JPH05257704A (en) 1992-03-16 1992-03-16 Memory area managing system

Publications (1)

Publication Number Publication Date
JPH05257704A true JPH05257704A (en) 1993-10-08

Family

ID=13011444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5588192A Withdrawn JPH05257704A (en) 1992-03-16 1992-03-16 Memory area managing system

Country Status (1)

Country Link
JP (1) JPH05257704A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038397A (en) * 1994-05-20 2000-03-14 Matsushita Electric Industrial Co., Ltd. System for allocating the memory area of second data which value need not be preserved to another data of some of the processes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038397A (en) * 1994-05-20 2000-03-14 Matsushita Electric Industrial Co., Ltd. System for allocating the memory area of second data which value need not be preserved to another data of some of the processes

Similar Documents

Publication Publication Date Title
JPH0623968B2 (en) Data transfer control system
JPH05257704A (en) Memory area managing system
JPH0452968B2 (en)
JPH0833856B2 (en) Serial number management method
JPH04219836A (en) Block control system
JPH05108462A (en) Intermediate control system for dynamic memory in table system editor
JPS5987567A (en) Variable length data storage controlling system
JPH04223537A (en) Image file storing system
JPH05189299A (en) Memory management device
JPH08249225A (en) Memory management device
JPS631182A (en) Teletext receiving device
JPH05134909A (en) Idle space retrieving method
JPH06309197A (en) Storage area management system
JPH09223058A (en) System for managing file space for bit map setting index part and data part as independent files
JPH0348950A (en) Memory control system
JPS633349A (en) Processing system for allocating file space
JPS63177234A (en) File save loading method
JPS5817587A (en) Blank area controller for main memory
JP2000200211A (en) Memory pool control circuit
JPH1049433A (en) Memory storage system
JPH1083340A (en) Device and method for memory area management, and medium where memory area managing program is recorded
JPS5850369B2 (en) Data transfer method
JPH06188919A (en) Communication controller
JPS6065354A (en) Data store system
JPS6358555A (en) Control system for file space

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518