~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/emulator/beam/bif.h

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-06-11 12:18:07 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090611121807-ks7eb4xrt7dsysgx
Tags: 1:13.b.1-dfsg-1
* New upstream release.
* Removed unnecessary dependency of erlang-os-mon on erlang-observer and
  erlang-tools and added missing dependency of erlang-nox on erlang-os-mon
  (closes: #529512).
* Removed a patch to eunit application because the bug was fixed upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
196
196
 
197
197
extern Export bif_return_trap_export;
198
198
#ifdef DEBUG
199
 
#define ERTS_BIF_YIELD_RETURN(P, VAL, DEBUG_VAL)                        \
 
199
#define ERTS_BIF_PREP_YIELD_RETURN_X(RET, P, VAL, DEBUG_VAL)            \
 
200
do {                                                                    \
 
201
    ERTS_VBUMP_ALL_REDS(P);                                             \
 
202
    ERTS_BIF_PREP_TRAP2(RET, &bif_return_trap_export, (P), (VAL),       \
 
203
                        (DEBUG_VAL));                                   \
 
204
} while (0)
 
205
#else
 
206
#define ERTS_BIF_PREP_YIELD_RETURN_X(RET, P, VAL, DEBUG_VAL)            \
 
207
do {                                                                    \
 
208
    ERTS_VBUMP_ALL_REDS(P);                                             \
 
209
    ERTS_BIF_PREP_TRAP1(RET, &bif_return_trap_export, (P), (VAL));      \
 
210
} while (0)
 
211
#endif
 
212
 
 
213
#define ERTS_BIF_PREP_YIELD_RETURN(RET, P, VAL) \
 
214
  ERTS_BIF_PREP_YIELD_RETURN_X(RET, (P), (VAL), am_undefined)
 
215
 
 
216
#ifdef DEBUG
 
217
#define ERTS_BIF_YIELD_RETURN_X(P, VAL, DEBUG_VAL)                      \
200
218
do {                                                                    \
201
219
    ERTS_VBUMP_ALL_REDS(P);                                             \
202
220
    BIF_TRAP2(&bif_return_trap_export, (P), (VAL), (DEBUG_VAL));        \
203
221
} while (0)
204
222
#else
205
 
#define ERTS_BIF_YIELD_RETURN(P, VAL, DEBUG_VAL)                        \
 
223
#define ERTS_BIF_YIELD_RETURN_X(P, VAL, DEBUG_VAL)                      \
206
224
do {                                                                    \
207
225
    ERTS_VBUMP_ALL_REDS(P);                                             \
208
226
    BIF_TRAP1(&bif_return_trap_export, (P), (VAL));                     \
209
227
} while (0)
210
228
#endif
211
229
 
 
230
#define ERTS_BIF_RETURN_YIELD(P) ERTS_VBUMP_ALL_REDS((P))
 
231
 
 
232
#define ERTS_BIF_YIELD_RETURN(P, VAL) \
 
233
  ERTS_BIF_YIELD_RETURN_X((P), (VAL), am_undefined)
212
234
 
213
235
#define ERTS_BIF_PREP_YIELD0(RET, TRP, P)                               \
214
236
do {                                                                    \