aboutsummaryrefslogtreecommitdiffstats
path: root/eval_intern.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-18 06:49:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-18 06:49:19 +0000
commit3e8bba2fc1138fb072935b3f935810a78ce71a8c (patch)
tree9bc13b27587882e93e7af41eb7359883e856b8cc /eval_intern.h
parent8a28e97ae999bf26fc59651db581ca90a9206eba (diff)
downloadruby-3e8bba2fc1138fb072935b3f935810a78ce71a8c.tar.gz
vm_core.h: move jmpbuf between tag and prev
* vm_core.h (rb_vm_tag): move jmpbuf between tag and prev so ensure to be accessible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_intern.h')
-rw-r--r--eval_intern.h11
1 files changed, 0 insertions, 11 deletions
diff --git a/eval_intern.h b/eval_intern.h
index 596d45ac82..190ef9195c 100644
--- a/eval_intern.h
+++ b/eval_intern.h
@@ -91,20 +91,9 @@ extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval
rb_fiber_start(); \
} while (0)
-/*
- ensure tag to be accessible, `buf' is at the beginning.
- the end is `prev' which is written in TH_PUSH_TAG().
-*/
-#if defined(__GNUC__) && __GNUC__ >= 4
-/* suppress -Wstrict-aliasing, and should be inlined */
-# define ENSURE_TAG_WRITABLE(tag) MEMZERO((tag).buf, int, 1)
-#else
-# define ENSURE_TAG_WRITABLE(tag) (*(volatile int *)(tag).buf = 0)
-#endif
#define TH_PUSH_TAG(th) do { \
rb_thread_t * const _th = (th); \
struct rb_vm_tag _tag; \
- ENSURE_TAG_WRITABLE(_tag); \
_tag.tag = 0; \
_tag.prev = _th->tag; \
_th->tag = &_tag;