[前][次][番号順一覧][スレッド一覧][生データ]

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

[前][次][番号順一覧][スレッド一覧][生データ]