summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-01 06:49:17 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-01 06:49:17 +0000
commitb8d684d9e2cfb7e4744fa3c2c283007ce26bd7a0 (patch)
tree62194856e948f1a7f7b9b57ea95f9c8d9ddf10fb
parent753a22a0e0e24ddf860e719f2aea7b561e3855f7 (diff)
* eval.c (PUSH_ANCHOR, POP_ANCHOR, rb_thread_start_0): separated
anchors from PROT_THREAD. [ruby-core:24097] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c26
-rw-r--r--version.h8
3 files changed, 22 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 91165e5282..8c77907360 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jul 1 15:49:13 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (PUSH_ANCHOR, POP_ANCHOR, rb_thread_start_0): separated
+ anchors from PROT_THREAD. [ruby-core:24097]
+
Sun Jun 28 05:11:03 2009 Akinori MUSHA <knu@iDaemons.org>
* enum.c (enum_first): Perform negative length check before
diff --git a/eval.c b/eval.c
index 989d76d98f..65c1dfd36a 100644
--- a/eval.c
+++ b/eval.c
@@ -1142,11 +1142,11 @@ struct ruby_env {
static void push_thread_anchor _((struct ruby_env *));
static void pop_thread_anchor _((struct ruby_env *));
-#define PUSH_THREAD_TAG() PUSH_TAG(PROT_THREAD); \
+#define PUSH_ANCHOR() PUSH_TAG(PROT_NONE); \
do { \
struct ruby_env _interp; \
push_thread_anchor(&_interp);
-#define POP_THREAD_TAG() \
+#define POP_ANCHOR() \
pop_thread_anchor(&_interp); \
} while (0); \
POP_TAG()
@@ -1579,7 +1579,7 @@ ruby_options(argc, argv)
int state;
ruby_init_stack((void*)&state);
- PUSH_THREAD_TAG();
+ PUSH_ANCHOR();
if ((state = EXEC_TAG()) == 0) {
ruby_process_options(argc, argv);
}
@@ -1591,7 +1591,7 @@ ruby_options(argc, argv)
tracing = 0;
exit(error_handle(state));
}
- POP_THREAD_TAG();
+ POP_ANCHOR();
}
void rb_exec_end_proc _((void));
@@ -1635,7 +1635,7 @@ ruby_cleanup(ex)
errs[1] = ruby_errinfo;
ruby_safe_level = 0;
ruby_init_stack(&errs[STACK_UPPER(errs, 0, 1)]);
- PUSH_THREAD_TAG();
+ PUSH_ANCHOR();
PUSH_ITER(ITER_NOT);
if ((state = EXEC_TAG()) == 0) {
ruby_finalize_0();
@@ -1653,7 +1653,7 @@ ruby_cleanup(ex)
ruby_errinfo = errs[1];
ex = error_handle(ex);
ruby_finalize_1();
- POP_THREAD_TAG();
+ POP_ANCHOR();
for (nerr = 0; nerr < sizeof(errs) / sizeof(errs[0]); ++nerr) {
VALUE err = errs[nerr];
@@ -1691,7 +1691,7 @@ ruby_exec_internal()
{
int state;
- PUSH_THREAD_TAG();
+ PUSH_ANCHOR();
PUSH_ITER(ITER_NOT);
/* default visibility is private at toplevel */
SCOPE_SET(SCOPE_PRIVATE);
@@ -1702,7 +1702,7 @@ ruby_exec_internal()
rb_thread_start_1();
}
POP_ITER();
- POP_THREAD_TAG();
+ POP_ANCHOR();
return state;
}
@@ -5596,7 +5596,7 @@ rb_protect(proc, data, state)
VALUE result = Qnil; /* OK */
int status;
- PUSH_THREAD_TAG();
+ PUSH_ANCHOR();
cont_protect = (VALUE)rb_node_newnode(NODE_MEMO, cont_protect, 0, 0);
if ((status = EXEC_TAG()) == 0) {
result = (*proc)(data);
@@ -5605,7 +5605,7 @@ rb_protect(proc, data, state)
rb_thread_start_1();
}
cont_protect = ((NODE *)cont_protect)->u1.value;
- POP_THREAD_TAG();
+ POP_ANCHOR();
if (state) {
*state = status;
}
@@ -7162,14 +7162,14 @@ rb_load_protect(fname, wrap, state)
{
int status;
- PUSH_THREAD_TAG();
+ PUSH_ANCHOR();
if ((status = EXEC_TAG()) == 0) {
rb_load(fname, wrap);
}
else if (status == TAG_THREAD) {
rb_thread_start_1();
}
- POP_THREAD_TAG();
+ POP_ANCHOR();
if (state) *state = status;
}
@@ -12608,7 +12608,7 @@ rb_thread_start_0(fn, arg, th)
thread_insert(th);
- PUSH_TAG(PROT_NONE);
+ PUSH_TAG(PROT_THREAD);
if ((state = EXEC_TAG()) == 0) {
if (THREAD_SAVE_CONTEXT(th) == 0) {
curr_thread = th;
diff --git a/version.h b/version.h
index a471b9b404..396e7d59bc 100644
--- a/version.h
+++ b/version.h
@@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.8"
-#define RUBY_RELEASE_DATE "2009-06-28"
+#define RUBY_RELEASE_DATE "2009-07-01"
#define RUBY_VERSION_CODE 188
-#define RUBY_RELEASE_CODE 20090628
+#define RUBY_RELEASE_CODE 20090701
#define RUBY_PATCHLEVEL -1
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 8
#define RUBY_RELEASE_YEAR 2009
-#define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 28
+#define RUBY_RELEASE_MONTH 7
+#define RUBY_RELEASE_DAY 1
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];