diff options
author | Sverker Eriksson <[email protected]> | 2016-05-09 15:30:04 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-05-09 15:30:04 +0200 |
commit | 72854151006ca4bba903f99fb598fbe244827d5c (patch) | |
tree | 4700fd2fa91ad01ae41ab62b191c5f9ed44944c2 /erts/emulator/beam/global.h | |
parent | 387e94f0a7796869486cf3160f2d124b1e216a21 (diff) | |
parent | d38d8a4cafe04d7ad63a4d0b168a25eb5e887440 (diff) | |
download | otp-72854151006ca4bba903f99fb598fbe244827d5c.tar.gz otp-72854151006ca4bba903f99fb598fbe244827d5c.tar.bz2 otp-72854151006ca4bba903f99fb598fbe244827d5c.zip |
Merge branch 'sverker/trace-send-receive-matchspec/OTP-13507'
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 49eec44053..550db95ba8 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -1483,9 +1483,19 @@ do { \ #define MatchSetGetSource(MPSP) erts_match_set_get_source(MPSP) -extern Binary *erts_match_set_compile(Process *p, Eterm matchexpr); +extern Binary *erts_match_set_compile(Process *p, Eterm matchexpr, Eterm MFA); Eterm erts_match_set_lint(Process *p, Eterm matchexpr); extern void erts_match_set_release_result(Process* p); +ERTS_GLB_INLINE void erts_match_set_release_result_trace(Process* p, Eterm); + +#if ERTS_GLB_INLINE_INCL_FUNC_DEF +ERTS_GLB_INLINE +void erts_match_set_release_result_trace(Process* p, Eterm pam_result) +{ + if (is_not_immed(pam_result)) + erts_match_set_release_result(p); +} +#endif /* ERTS_GLB_INLINE_INCL_FUNC_DEF */ enum erts_pam_run_flags { ERTS_PAM_TMP_RESULT=1, @@ -1493,10 +1503,12 @@ enum erts_pam_run_flags { ERTS_PAM_CONTIGUOUS_TUPLE=4, ERTS_PAM_IGNORE_TRACE_SILENT=8 }; -extern Eterm erts_match_set_run(Process *p, Binary *mpsp, - Eterm *args, int num_args, - enum erts_pam_run_flags in_flags, - Uint32 *return_flags); +extern Eterm erts_match_set_run_trace(Process *p, + Process *self, + Binary *mpsp, + Eterm *args, int num_args, + enum erts_pam_run_flags in_flags, + Uint32 *return_flags); extern Eterm erts_match_set_get_source(Binary *mpsp); extern void erts_match_prog_foreach_offheap(Binary *b, void (*)(ErlOffHeap *, void *), |