mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* vm_trace.c (rb_suppress_tracing): bugfix for vm->trace_running
counter. And if tracing is already true, vm_trace_running ops is skipped to control overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8497a7b918
commit
fbbb06f803
2 changed files with 10 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
Thu Dec 20 20:58:25 2012 Masaya Tarui <tarui@ruby-lang.org>
|
||||
|
||||
* vm_trace.c (rb_suppress_tracing): bugfix for vm->trace_running
|
||||
counter. And if tracing is already true, vm_trace_running ops is
|
||||
skipped to control overflow.
|
||||
|
||||
Thu Dec 20 18:29:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without
|
||||
|
|
|
@ -333,7 +333,8 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
|
|||
const int vm_tracing = th->vm->trace_running;
|
||||
const int tracing = th->trace_running;
|
||||
|
||||
th->vm->trace_running = 1;
|
||||
if(!tracing)
|
||||
th->vm->trace_running++;
|
||||
th->trace_running = 1;
|
||||
raised = rb_threadptr_reset_raised(th);
|
||||
outer_state = th->state;
|
||||
|
@ -349,7 +350,8 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
|
|||
rb_threadptr_set_raised(th);
|
||||
}
|
||||
th->trace_running = tracing;
|
||||
th->vm->trace_running = vm_tracing;
|
||||
if(!tracing)
|
||||
th->vm->trace_running--;
|
||||
|
||||
if (state) {
|
||||
JUMP_TAG(state);
|
||||
|
|
Loading…
Add table
Reference in a new issue