aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-08-12 09:52:37 +0200
committerLukas Larsson <[email protected]>2013-08-12 09:52:37 +0200
commit675390362a7be900e17adc3eb50b898eb2a5ec97 (patch)
treeb3f5f4c02571a19476d3519853976c90a5b293fe /erts/emulator/beam
parentb43191903fd7c0f1185f630a436c60dd13b4b1b5 (diff)
parent01a13c00f67112e7996e45439d4eec9e6aa414ce (diff)
downloadotp-675390362a7be900e17adc3eb50b898eb2a5ec97.tar.gz
otp-675390362a7be900e17adc3eb50b898eb2a5ec97.tar.bz2
otp-675390362a7be900e17adc3eb50b898eb2a5ec97.zip
Merge branch 'maint'
* maint: 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.c5
-rwxr-xr-xerts/emulator/beam/global.h7
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 2a3a45f717..7f7b6f5d1e 100755
--- a/erts/emulator/beam/global.h
+++ b/erts/emulator/beam/global.h
@@ -1024,9 +1024,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,