diff options
author | Lukas Larsson <[email protected]> | 2013-08-12 09:51:15 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2013-08-12 09:51:15 +0200 |
commit | 01a13c00f67112e7996e45439d4eec9e6aa414ce (patch) | |
tree | e2d72ea1e9fee34c29d0a59ad8f07956c56981b4 /erts/emulator/beam | |
parent | f7583d501470259d4da8a4bfd9da4b2bbf5e3553 (diff) | |
parent | a6a08b084f5abe2ab190387918e8a0f4366d454c (diff) | |
download | otp-01a13c00f67112e7996e45439d4eec9e6aa414ce.tar.gz otp-01a13c00f67112e7996e45439d4eec9e6aa414ce.tar.bz2 otp-01a13c00f67112e7996e45439d4eec9e6aa414ce.zip |
Merge branch 'lukas/erts/match_spec_test_silent/OTP-11232' into maint
* lukas/erts/match_spec_test_silent/OTP-11232:
erts: Do not enable TRACE_SILENT when testing a ms
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/erl_db_util.c | 5 | ||||
-rwxr-xr-x | erts/emulator/beam/global.h | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c index 713ac0ba18..ef3749a2c4 100644 --- a/erts/emulator/beam/erl_db_util.c +++ b/erts/emulator/beam/erl_db_util.c @@ -2319,6 +2319,8 @@ restart: break; case matchSilent: --esp; + if (in_flags & ERTS_PAM_IGNORE_TRACE_SILENT) + break; if (*esp == am_true) { erts_smp_proc_lock(c_p, ERTS_PROC_LOCKS_ALL_MINOR); ERTS_TRACE_FLAGS(c_p) |= F_TRACE_SILENT; @@ -4971,7 +4973,8 @@ static Eterm match_spec_test(Process *p, Eterm against, Eterm spec, int trace) save_cp = p->cp; p->cp = NULL; res = erts_match_set_run(p, mps, arr, n, - ERTS_PAM_COPY_RESULT, &ret_flags); + ERTS_PAM_COPY_RESULT|ERTS_PAM_IGNORE_TRACE_SILENT, + &ret_flags); p->cp = save_cp; } else { n = 0; diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index cecfa8a0fd..bacd5a5752 100755 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -1018,9 +1018,10 @@ Eterm erts_match_set_lint(Process *p, Eterm matchexpr); extern void erts_match_set_release_result(Process* p); enum erts_pam_run_flags { - ERTS_PAM_TMP_RESULT=0, - ERTS_PAM_COPY_RESULT=1, - ERTS_PAM_CONTIGUOUS_TUPLE=2 + ERTS_PAM_TMP_RESULT=1, + ERTS_PAM_COPY_RESULT=2, + 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, |