63
63
# <ALLOCATOR> <MULTI_THREAD> <DESCRIPTION>
67
allocator SYSTEM true sys_alloc
68
allocator TEMPORARY true temp_alloc
69
allocator SHORT_LIVED true sl_alloc
70
allocator STANDARD true std_alloc
71
allocator LONG_LIVED true ll_alloc
72
allocator EHEAP true eheap_alloc
74
# Binary alloc has its own thread
75
# safety implementation
76
allocator BINARY false binary_alloc
77
allocator ETS true ets_alloc
78
allocator FIXED_SIZE true fix_alloc
65
82
allocator SYSTEM true sys_alloc
66
83
allocator TEMPORARY false temp_alloc
67
84
allocator SHORT_LIVED false sl_alloc
69
86
allocator LONG_LIVED false ll_alloc
70
87
allocator EHEAP false eheap_alloc
72
# binary_alloc has to be thread safe since
73
# other threads in drivers may use it
74
allocator BINARY true binary_alloc
89
# Binary alloc has its own thread
90
# safety implementation
91
allocator BINARY false binary_alloc
75
92
allocator ETS false ets_alloc
76
93
allocator FIXED_SIZE false fix_alloc
78
97
# --- Class declarations -----------------------------------------------------
80
99
# Syntax: class <CLASS> <DESCRIPTION>
112
131
type EXPORT FIXED_SIZE CODE export_entry
113
132
type MODULE FIXED_SIZE CODE module_entry
114
133
type REG_PROC FIXED_SIZE PROCESSES reg_proc
115
type LINK FIXED_SIZE PROCESSES link_nh
116
type LINK_SH FIXED_SIZE PROCESSES link_sh
117
134
type LINK_LH STANDARD PROCESSES link_lh
135
type MONITOR_SH FIXED_SIZE PROCESSES monitor_sh
136
type MONITOR_LH STANDARD PROCESSES monitor_lh
137
type NLINK_SH FIXED_SIZE PROCESSES nlink_sh
138
type NLINK_LH STANDARD PROCESSES nlink_lh
118
139
type PROC_LIST FIXED_SIZE PROCESSES proc_list
119
140
type FUN_ENTRY FIXED_SIZE CODE fun_entry
120
141
type ATOM_TXT LONG_LIVED ATOM atom_text
125
146
type MSG_ROOTS TEMPORARY PROCESSES msg_roots
126
147
type ROOTSET TEMPORARY PROCESSES root_set
127
148
type LOADER_TMP TEMPORARY CODE loader_tmp
149
type BIF_TIMER_TABLE LONG_LIVED SYSTEM bif_timer_table
128
150
type SL_BIF_TIMER SHORT_LIVED PROCESSES bif_timer_sl
129
151
type LL_BIF_TIMER STANDARD PROCESSES bif_timer_ll
130
152
type REG_TABLE STANDARD SYSTEM reg_tab
131
153
type FUN_TABLE STANDARD CODE fun_tab
132
154
type DIST_TABLE STANDARD SYSTEM dist_tab
133
155
type NODE_TABLE STANDARD SYSTEM node_tab
134
type ATOM_TABLE STANDARD ATOM atom_tab
135
type EXPORT_TABLE STANDARD CODE export_tab
136
type MODULE_TABLE STANDARD CODE module_tab
156
type ATOM_TABLE LONG_LIVED ATOM atom_tab
157
type EXPORT_TABLE LONG_LIVED CODE export_tab
158
type MODULE_TABLE LONG_LIVED CODE module_tab
137
159
type MODULE_REFS STANDARD CODE module_refs
138
160
type NC_TMP TEMPORARY SYSTEM nc_tmp
139
161
type TMP TEMPORARY SYSTEM tmp
140
162
type UNDEF SYSTEM SYSTEM undefined
141
type DMSG_BLD_BUF LONG_LIVED SYSTEM dmsg_buf
142
163
type DCACHE STANDARD SYSTEM dcache
143
164
type DCTRL_BUF TEMPORARY SYSTEM dctrl_buf
144
165
type DIST_ENTRY STANDARD SYSTEM dist_entry
145
166
type NODE_ENTRY STANDARD SYSTEM node_entry
146
167
type PROC_TABLE LONG_LIVED PROCESSES proc_tab
147
168
type PORT_TABLE LONG_LIVED SYSTEM port_tab
148
type TMP_BUF LONG_LIVED SYSTEM tmp_buf
149
169
type TIMER_WHEEL LONG_LIVED SYSTEM timer_wheel
150
170
type DRV SYSTEM SYSTEM drv_internal
151
171
type DRV_BINARY BINARY BINARIES drv_binary
161
181
type LINEBUF STANDARD SYSTEM line_buf
162
182
type IOQ STANDARD SYSTEM io_queue
163
183
type BITS_BUF STANDARD SYSTEM bits_buf
164
type DIST_BUF STANDARD SYSTEM dist_buf
184
type TMP_DIST_BUF TEMPORARY SYSTEM tmp_dist_buf
165
185
type ASYNC SYSTEM SYSTEM async
166
186
type ASYNC_Q LONG_LIVED SYSTEM async_queue
167
187
type ESTACK TEMPORARY SYSTEM estack
172
192
type DB_TABLES LONG_LIVED ETS db_tabs
173
193
type DB_TMP TEMPORARY ETS db_tmp
174
194
type DB_MC_STK TEMPORARY ETS db_mc_stack
175
type DB_MPROG_HEAP TEMPORARY ETS db_match_prog_heap
195
type DB_MS_PSDO_PROC LONG_LIVED ETS db_match_pseudo_proc
196
type DB_MS_RUN_HEAP SHORT_LIVED ETS db_match_spec_run_heap
197
type DB_MS_CMPL_HEAP TEMPORARY ETS db_match_spec_cmpl_heap
176
198
type DB_SEG ETS ETS db_segment
177
199
type DB_SEG_TAB ETS ETS db_segment_tab
178
200
type DB_STK ETS ETS db_stack
182
204
type DB_DMC_ERR_INFO ETS ETS db_dmc_error_info
183
205
type DB_TERM ETS ETS db_term
184
206
type INSTR_INFO LONG_LIVED SYSTEM instr_info
207
type LOGGER_DSBUF TEMPORARY SYSTEM logger_dsbuf
208
type TMP_DSBUF TEMPORARY SYSTEM tmp_dsbuf
209
type INFO_DSBUF SYSTEM SYSTEM info_dsbuf
210
# INFO_DSBUF have to use the SYSTEM allocator; otherwise, a deadlock might occur
211
type SCHDLR_DATA LONG_LIVED PROCESSES scheduler_data
212
type DDLL_PROCESS STANDARD SYSTEM ddll_processes
213
type DDLL_HANDLE STANDARD SYSTEM ddll_handle
214
type DDLL_ERRCODES LONG_LIVED SYSTEM ddll_errcodes
215
type DDLL_TMP_BUF TEMPORARY SYSTEM ddll_tmp_buf
187
217
# Types used for special emulators
222
type ETHR_INTERNAL SYSTEM SYSTEM ethread_internal
192
228
type STACK STANDARD PROCESSES stack
235
type ACTIVE_PROCS STANDARD PROCESSES active_procs
237
# Used for all memory involved in incremental gc of the message area
238
# that is, young (x2) and old generation, forwarding pointers and blackmap
239
type MESSAGE_AREA LONG_LIVED PROCESSES message_area
241
# Used in MA_STACK (global.h) and INC_STORAGE (erl_nmgc.h)
242
type OBJECT_STACK STANDARD PROCESSES object_stack
247
type SL_PTIMER SHORT_LIVED SYSTEM ptimer_sl
248
type LL_PTIMER STANDARD SYSTEM ptimer_ll
249
type SYS_MSG_Q SHORT_LIVED PROCESSES system_messages_queue
250
type FP_EXCEPTION LONG_LIVED SYSTEM fp_exception
199
255
# Currently most hipe code use this type.
212
268
# Types used by system specific code
218
type THREAD_REF SYSTEM SYSTEM thread_ref
219
type MUTEX SYSTEM SYSTEM mutex
220
type COND_VAR SYSTEM SYSTEM cond_var
224
271
type DRV_TAB LONG_LIVED SYSTEM drv_tab
275
type SYS_READ_BUF TEMPORARY SYSTEM sys_read_buf
228
276
type FD_TAB LONG_LIVED SYSTEM fd_tab
229
277
type FD_ENTRY_BUF STANDARD SYSTEM fd_entry_buf
278
type FD_LIST SHORT_LIVED SYSTEM fd_list
279
type CS_PROG_PATH LONG_LIVED SYSTEM cs_prog_path
280
type ENVIRONMENT SYSTEM SYSTEM environment
281
type PUTENV_STR SYSTEM SYSTEM putenv_string
282
type POLLSET LONG_LIVED SYSTEM poll_set
230
283
type POLL_FDS LONG_LIVED SYSTEM poll_fds
231
type READY_FDS LONG_LIVED SYSTEM ready_fds
232
type CS_PROG_PATH LONG_LIVED SYSTEM cs_prog_path
233
type ENVIRONMENT SYSTEM SYSTEM environment
234
type PUTENV_STR SYSTEM SYSTEM putenv_string
284
type POLL_RES_EVS LONG_LIVED SYSTEM poll_result_events
285
type FD_STATUS LONG_LIVED SYSTEM fd_status
286
type DRV_EV_STATE LONG_LIVED SYSTEM driver_event_state
287
type DRV_EV_D_STATE STANDARD SYSTEM driver_event_data_state
288
type POLLSET_UPDREQ SHORT_LIVED SYSTEM pollset_update_req
242
296
type PUTENV_STR SYSTEM SYSTEM putenv_string
243
297
type WAITER_OBJ LONG_LIVED SYSTEM waiter_object
244
298
type ENVIRONMENT SYSTEM SYSTEM environment
299
type CON_VPRINTF_BUF TEMPORARY SYSTEM con_vprintf_buf
305
type SYS_TMP_BUF LONG_LIVED SYSTEM sys_tmp_buf
250
306
type PEND_DATA SYSTEM SYSTEM pending_data
251
307
type FD_TAB LONG_LIVED SYSTEM fd_tab
252
308
type FD_ENTRY_BUF SYSTEM SYSTEM fd_entry_buf