diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-10 23:25:30 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-10 23:25:30 +0000 |
commit | 85647d9f2b4b2da17827cc1d613f425748a39b3f (patch) | |
tree | 5533f43c9957655f62e7be4cc2c5f1bb4c6ed75e | |
parent | 62a81ad98c2421077acd637c11e06022e19a4977 (diff) |
* vm_core.h: define VM_ASSERT() for assertion
enabled only when (VM_CHECK_MODE > 0).
* vm_insnhelper.c: move definition VM_CHECK_MODE
from vm_insnhelper.c to vm_core.h.
* vm.c: remove <assert.h>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | vm.c | 2 | ||||
-rw-r--r-- | vm_core.h | 16 | ||||
-rw-r--r-- | vm_insnhelper.c | 8 |
4 files changed, 26 insertions, 10 deletions
@@ -1,3 +1,13 @@ +Thu Jun 11 08:16:48 2015 Koichi Sasada <ko1@atdot.net> + + * vm_core.h: define VM_ASSERT() for assertion + enabled only when (VM_CHECK_MODE > 0). + + * vm_insnhelper.c: move definition VM_CHECK_MODE + from vm_insnhelper.c to vm_core.h. + + * vm.c: remove <assert.h> + Thu Jun 11 06:46:07 2015 Koichi Sasada <ko1@atdot.net> * vm_insnhelper.c (check_frame): check type of cref_or_me first. @@ -146,8 +146,6 @@ static rb_serial_t ruby_vm_class_serial = 1; #include "vm_method.c" #include "vm_eval.c" -#include <assert.h> - #define PROCDEBUG 0 rb_serial_t @@ -12,6 +12,22 @@ #ifndef RUBY_VM_CORE_H #define RUBY_VM_CORE_H +/* + * Enable check mode. + * 1: enable local assertions. + */ +#ifndef VM_CHECK_MODE +#define VM_CHECK_MODE 0 +#endif + +#if VM_CHECK_MODE > 0 +#define VM_ASSERT(expr) do { \ + if(!(expr)) rb_bug("%s:%d assertion violation - %s", __FILE__, __LINE__, #expr); \ +} while (0) +#else +#define VM_ASSERT(expr) +#endif + #define RUBY_VM_THREAD_MODEL 2 #include "ruby/ruby.h" diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 8b28471e62..926f342e4c 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -16,14 +16,6 @@ #include "probes.h" #include "probes_helper.h" -/* - * Enable check mode. - * 1: enable local assertions. - */ -#ifndef VM_CHECK_MODE -#define VM_CHECK_MODE 0 -#endif - /* control stack frame */ #ifndef INLINE |