yarv-diff:198
From: ko1 atdot.net
Date: 9 Jan 2006 03:00:04 -0000
Subject: [yarv-diff:198] r356 - trunk
Author: aamine
Date: 2006-01-09 12:00:03 +0900 (Mon, 09 Jan 2006)
New Revision: 356
Modified:
trunk/ChangeLog
trunk/eval.c
trunk/eval_thread.c
trunk/vm.c
trunk/yarvcore.c
trunk/yarvcore.h
Log:
* yarvcore.h: add prototype (remove warning).
* vm.c (th_invoke_proc): make save variables volatile.
* eval.c (eval): initialize local variables (remove warnings).
* eval_thread.c (rb_exec_recursive): ditto.
* yarvcore.c (thread_mark): ditto.
* vm.c (th_invoke_proc): ditto.
* eval.c: remove useless prototypes.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/ChangeLog 2006-01-09 03:00:03 UTC (rev 356)
@@ -4,6 +4,23 @@
# from Mon, 03 May 2004 01:24:19 +0900
#
+2006-01-09(Mon) 11:56:34 +0900 Minero Aoki <aamine loveruby.net>
+
+ * yarvcore.h: add prototype (remove warning).
+
+ * vm.c (th_invoke_proc): make save variables volatile.
+
+ * eval.c (eval): initialize local variables (remove warnings).
+
+ * eval_thread.c (rb_exec_recursive): ditto.
+
+ * yarvcore.c (thread_mark): ditto.
+
+ * vm.c (th_invoke_proc): ditto.
+
+ * eval.c: remove useless prototypes.
+
+
2006-01-09(Mon) 10:25:12 +0900 Minero Aoki <aamine loveruby.net>
* eval_thread.c: rb_thread_join is required to build ruby on
Modified: trunk/eval.c
===================================================================
--- trunk/eval.c 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/eval.c 2006-01-09 03:00:03 UTC (rev 356)
@@ -21,7 +21,6 @@
VALUE rb_f_binding(VALUE);
VALUE rb_f_block_given_p(void);
-static VALUE umethod_bind(VALUE, VALUE);
ID rb_frame_callee(void);
static VALUE rb_frame_self(void);
@@ -42,7 +41,6 @@
static VALUE ruby_wrapper; /* security wrapper */
static VALUE eval _((VALUE,VALUE,VALUE,char*,int));
-static NODE *compile _((VALUE, char*, int));
static VALUE rb_yield_0 _((VALUE, VALUE, VALUE, int, int));
static VALUE rb_call(VALUE,VALUE,ID,int,const VALUE*,int);
@@ -1898,13 +1896,13 @@
{
volatile int safe = ruby_safe_level;
int state;
- VALUE result;
+ VALUE result = Qundef;
VALUE envval;
yarv_binding_t *bind = 0;
yarv_thread_t *th = GET_THREAD();
- yarv_stored_klass_t *stored_klass = 0;
- VALUE stored_special_cref_stack;
- yarv_env_t *env;
+ yarv_env_t *env = NULL;
+ volatile yarv_stored_klass_t *stored_klass = 0;
+ volatile VALUE stored_special_cref_stack = Qundef;
if (file == 0) {
ruby_set_current_source();
Modified: trunk/eval_thread.c
===================================================================
--- trunk/eval_thread.c 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/eval_thread.c 2006-01-09 03:00:03 UTC (rev 356)
@@ -2405,7 +2405,7 @@
return (*func)(obj, arg, Qtrue);
}
else {
- VALUE result;
+ VALUE result = Qundef;
int state;
recursive_push(obj);
Modified: trunk/vm.c
===================================================================
--- trunk/vm.c 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/vm.c 2006-01-09 03:00:03 UTC (rev 356)
@@ -610,10 +610,10 @@
VALUE
th_invoke_proc(yarv_thread_t *th, yarv_proc_t *proc, int argc, VALUE *argv)
{
- VALUE val;
+ VALUE val = Qundef;
int state;
- yarv_stored_klass_t sk;
- VALUE stored_special_cref_stack;
+ volatile yarv_stored_klass_t sk;
+ volatile VALUE stored_special_cref_stack;
stored_special_cref_stack = th_restore_stored_klass(th, proc->block.lfp, &proc->stored_klass);
@@ -843,8 +843,8 @@
{
int i;
VALUE cref = th->cref_stack;
- VALUE klass;
- for(i=0; i<RARRAY(cref)->len; i++){
+ VALUE klass = Qundef;
+ for(i = 0; i < RARRAY(cref)->len; i++){
if((klass = rb_ary_entry(cref, -(1+i))) != 0){
break;
}
@@ -1283,7 +1283,7 @@
unsigned long epc, cont_pc, cont_sp;
VALUE catch_iseqval;
yarv_control_frame_t *cfp;
- VALUE *escape_dfp;
+ VALUE *escape_dfp = NULL;
VALUE type;
err = th->errinfo;
Modified: trunk/yarvcore.c
===================================================================
--- trunk/yarvcore.c 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/yarvcore.c 2006-01-09 03:00:03 UTC (rev 356)
@@ -632,7 +632,7 @@
static void
thread_mark(void *ptr)
{
- yarv_thread_t *th;
+ yarv_thread_t *th = NULL;
MARK_REPORT("-> thread", 1);
if(ptr){
th = ptr;
Modified: trunk/yarvcore.h
===================================================================
--- trunk/yarvcore.h 2006-01-09 01:26:41 UTC (rev 355)
+++ trunk/yarvcore.h 2006-01-09 03:00:03 UTC (rev 356)
@@ -573,9 +573,9 @@
extern int rb_thread_pending;
-void yarv_thraed_schedule();
+//void yarv_thread_schedule();
+void yarv_thread_execute_interrupts(yarv_thread_t *);
-
#define YARV_CHECK_INTS_TH(th) do { \
if(th->interrupt_flag){ \
th->interrupt_flag = 0; \
@@ -587,8 +587,4 @@
#define YARV_CHECK_INTS() \
YARV_CHECK_INTS_TH(GET_THREAD())
-
#endif // _YARVCORE_H_INCLUDED_
-
-
-
--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml