mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
vm_core.h (rb_thread_set_current*): convert to static inline
We already use "static inline" heavily and there should be no penalty for modern compilers; this adds type-checking, too. This will make future changes easier-to-review. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2b894084ef
commit
9a8b75a77e
1 changed files with 15 additions and 8 deletions
23
vm_core.h
23
vm_core.h
|
@ -1743,14 +1743,21 @@ rb_current_vm(void)
|
|||
return ruby_current_vm_ptr;
|
||||
}
|
||||
|
||||
#define rb_thread_set_current_raw(th) (void)(ruby_current_execution_context_ptr = (th)->ec)
|
||||
#define rb_thread_set_current(th) do { \
|
||||
if ((th)->vm->running_thread != (th)) { \
|
||||
(th)->running_time_us = 0; \
|
||||
} \
|
||||
rb_thread_set_current_raw(th); \
|
||||
(th)->vm->running_thread = (th); \
|
||||
} while (0)
|
||||
static inline void
|
||||
rb_thread_set_current_raw(const rb_thread_t *th)
|
||||
{
|
||||
ruby_current_execution_context_ptr = th->ec;
|
||||
}
|
||||
|
||||
static inline void
|
||||
rb_thread_set_current(rb_thread_t *th)
|
||||
{
|
||||
if (th->vm->running_thread != th) {
|
||||
th->running_time_us = 0;
|
||||
}
|
||||
rb_thread_set_current_raw(th);
|
||||
th->vm->running_thread = th;
|
||||
}
|
||||
|
||||
#else
|
||||
#error "unsupported thread model"
|
||||
|
|
Loading…
Reference in a new issue