~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to erts/emulator/beam/erl_alloc.types

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
#
63
63
#               <ALLOCATOR>     <MULTI_THREAD>  <DESCRIPTION>
64
64
 
 
65
+if smp
 
66
 
 
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
 
73
 
 
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
 
79
 
 
80
+else # Non smp build
 
81
 
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
71
88
 
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
77
94
 
 
95
+endif
 
96
 
78
97
# --- Class declarations -----------------------------------------------------
79
98
#
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
185
 
 
 
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
186
216
#
187
217
# Types used for special emulators
188
218
#
189
219
 
 
220
+if threads
 
221
 
 
222
type    ETHR_INTERNAL   SYSTEM          SYSTEM          ethread_internal
 
223
 
 
224
+endif
 
225
 
190
226
+if shared_heap
191
227
 
192
228
type    STACK           STANDARD        PROCESSES       stack
194
230
 
195
231
+endif
196
232
 
 
233
+if hybrid
 
234
 
 
235
type    ACTIVE_PROCS    STANDARD        PROCESSES       active_procs
 
236
 
 
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
 
240
 
 
241
# Used in MA_STACK (global.h) and INC_STORAGE (erl_nmgc.h)
 
242
type    OBJECT_STACK    STANDARD        PROCESSES       object_stack
 
243
 
 
244
+endif
 
245
 
 
246
+if smp
 
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
 
251
+endif
 
252
 
197
253
+if hipe
198
254
 
199
255
# Currently most hipe code use this type.
212
268
# Types used by system specific code
213
269
#
214
270
 
215
 
# sys_threads.c
216
 
+if threads
217
 
 
218
 
type    THREAD_REF      SYSTEM          SYSTEM          thread_ref
219
 
type    MUTEX           SYSTEM          SYSTEM          mutex
220
 
type    COND_VAR        SYSTEM          SYSTEM          cond_var
221
 
 
222
 
+endif
223
 
 
224
271
type    DRV_TAB         LONG_LIVED      SYSTEM          drv_tab
225
272
 
226
273
+if unix
227
274
 
 
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
235
289
 
236
290
+endif
237
291
 
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
245
300
 
246
301
+endif
247
302
 
248
303
+if vxworks
249
304
 
 
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
255
311
 
256
312
+if ose
257
313
 
 
314
type    SYS_TMP_BUF     LONG_LIVED      SYSTEM          sys_tmp_buf
258
315
type    PUTENV_STR      SYSTEM          SYSTEM          putenv_string
259
316
type    GETENV_STR      SYSTEM          SYSTEM          getenv_string
260
317
type    GETENV_STATE    SYSTEM          SYSTEM          getenv_state