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>
|
Thu Dec 20 18:29:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without
|
* 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 vm_tracing = th->vm->trace_running;
|
||||||
const int tracing = th->trace_running;
|
const int tracing = th->trace_running;
|
||||||
|
|
||||||
th->vm->trace_running = 1;
|
if(!tracing)
|
||||||
|
th->vm->trace_running++;
|
||||||
th->trace_running = 1;
|
th->trace_running = 1;
|
||||||
raised = rb_threadptr_reset_raised(th);
|
raised = rb_threadptr_reset_raised(th);
|
||||||
outer_state = th->state;
|
outer_state = th->state;
|
||||||
|
@ -349,7 +350,8 @@ rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg)
|
||||||
rb_threadptr_set_raised(th);
|
rb_threadptr_set_raised(th);
|
||||||
}
|
}
|
||||||
th->trace_running = tracing;
|
th->trace_running = tracing;
|
||||||
th->vm->trace_running = vm_tracing;
|
if(!tracing)
|
||||||
|
th->vm->trace_running--;
|
||||||
|
|
||||||
if (state) {
|
if (state) {
|
||||||
JUMP_TAG(state);
|
JUMP_TAG(state);
|
||||||
|
|
Loading…
Add table
Reference in a new issue