summaryrefslogtreecommitdiff
path: root/vm_trace.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-01 12:00:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-01 12:00:09 +0000
commitf5c5a1979a621a1f09e840fa421e71279b3530f8 (patch)
tree42bb97762e87c71c2ccef39fbd499705a79e80ec /vm_trace.c
parentadd309c49627b88cb20865dacee8dc17cd0d9525 (diff)
vm_trace.c: remove duplicate flag
* vm_trace.c (rb_suppress_tracing): remove duplicate flag `tracing`, which equals to `ec->trace_arg != NULL`. and that `ec->trace_arg` points `dummy_trace_arg` means it was NULL at the beginning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_trace.c')
-rw-r--r--vm_trace.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/vm_trace.c b/vm_trace.c
index 405f6dd34e..39d2a062db 100644
--- a/vm_trace.c
+++ b/vm_trace.c
@@ -381,14 +381,13 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
rb_execution_context_t *ec = GET_EC();
rb_vm_t *vm = rb_ec_vm_ptr(ec);
enum ruby_tag_type state;
- const int volatile tracing = ec->trace_arg ? 1 : 0;
rb_trace_arg_t dummy_trace_arg;
dummy_trace_arg.event = 0;
- if (!tracing) {
+ if (!ec->trace_arg) {
vm->trace_running++;
+ ec->trace_arg = &dummy_trace_arg;
}
- if (!ec->trace_arg) ec->trace_arg = &dummy_trace_arg;
raised = rb_ec_reset_raised(ec);
@@ -402,8 +401,8 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
rb_ec_reset_raised(ec);
}
- if (ec->trace_arg == &dummy_trace_arg) ec->trace_arg = NULL;
- if (!tracing) {
+ if (ec->trace_arg == &dummy_trace_arg) {
+ ec->trace_arg = NULL;
vm->trace_running--;
}