summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-11 00:20:45 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-11 00:20:45 +0000
commit97e21517a3c79b9b144b7160afd545c283815413 (patch)
tree33343f1f486c1d1e1c3973a09756ce6c6c5affb7 /internal.h
parent9f21759c53934597aa2db6a68fffc2edd662b3ed (diff)
* internal.h: define struct MEMO.
* enum.c: use MEMO. * enumerator.c: ditto. * load.c: ditto. * node.h: return (struct MEMO *) pointer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/internal.h b/internal.h
index b146b46d30..0aa58439b5 100644
--- a/internal.h
+++ b/internal.h
@@ -596,6 +596,23 @@ CREF_OMOD_SHARED_UNSET(rb_cref_t *cref)
cref->flags &= ~NODE_FL_CREF_OMOD_SHARED_;
}
+/* MEMO */
+
+struct MEMO {
+ VALUE flags;
+ VALUE reserved;
+ VALUE v1;
+ VALUE v2;
+ union {
+ long cnt;
+ long state;
+ VALUE value;
+ VALUE (*func)(ANYARGS);
+ } u3;
+};
+
+#define MEMO_CAST(m) ((struct MEMO *)m)
+
struct vtm; /* defined by timev.h */
/* array.c */