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

yarv-diff:180

From: ko1 atdot.net
Date: 28 Dec 2005 15:18:57 -0000
Subject: [yarv-diff:180] r338 - trunk

Author: ko1
Date: 2005-12-29 00:18:57 +0900 (Thu, 29 Dec 2005)
New Revision: 338

Modified:
   trunk/ChangeLog
   trunk/disasm.c
   trunk/gc.c
   trunk/test.rb
Log:
	* disasm.c : show (block) local variable simple (not as symbol)

	* gc.c : fix syntax error



Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-12-28 14:43:01 UTC (rev 337)
+++ trunk/ChangeLog	2005-12-28 15:18:57 UTC (rev 338)
@@ -4,6 +4,13 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2005-12-29(Thu) 00:17:03 +0900  Koichi Sasada  <ko1 atdot.net>
+
+	* disasm.c : show (block) local variable simple (not as symbol)
+
+	* gc.c : fix syntax error
+
+
 2005-12-28(Wed) 23:35:06 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* class.c (method_entry) : fixed for undefed method ([yarv-dev:743])

Modified: trunk/disasm.c
===================================================================
--- trunk/disasm.c	2005-12-28 14:43:01 UTC (rev 337)
+++ trunk/disasm.c	2005-12-28 15:18:57 UTC (rev 338)
@@ -73,8 +73,8 @@
     break;
   case TS_LINDEX:{
     yarv_iseq_t *ip = iseq->local_iseq;
-    op = ID2SYM(ip->local_tbl[ip->local_size - op + 1]);
-    goto inspect_value;
+    ret = rb_str_new2(rb_id2name(ip->local_tbl[ip->local_size - op + 1]));
+    break;
   }
   case TS_DINDEX:{
     if(insn == BIN(getdynamic) ||
@@ -85,22 +85,17 @@
       for(i=0; i<level; i++){
         ip = ip->parent_iseq;
       }
-      op = ID2SYM(ip->local_tbl[ip->local_size - op]);
+      ret = rb_str_new2(rb_id2name(ip->local_tbl[ip->local_size - op]));
     }
     else{
-      op = INT2FIX(op);
+      ret = rb_inspect(INT2FIX(op));
     }
-    goto inspect_value;
+    break;
   }
   case TS_ID:    /* ID (symbol) */
     op = ID2SYM(op);
-    goto inspect_value;
   case TS_VALUE: /* VALUE */
-  inspect_value:
     ret = rb_inspect(op);
-    if(child && CLASS_OF(op) == cYarvISeq){
-      rb_ary_push(child, op);
-    }
     break;
 
   case TS_BLOCKISEQ: /* block */

Modified: trunk/gc.c
===================================================================
--- trunk/gc.c	2005-12-28 14:43:01 UTC (rev 337)
+++ trunk/gc.c	2005-12-28 15:18:57 UTC (rev 338)
@@ -119,7 +119,7 @@
   if (size == 0) size = 1;
   malloc_increase += size;
 
-  if (malloc_increase > malloc_limit) // || gc_debug_flag) {
+  if (malloc_increase > malloc_limit){ // || gc_debug_flag) {
     garbage_collect();
   }
   RUBY_CRITICAL(mem = malloc(size));

Modified: trunk/test.rb
===================================================================
--- trunk/test.rb	2005-12-28 14:43:01 UTC (rev 337)
+++ trunk/test.rb	2005-12-28 15:18:57 UTC (rev 338)
@@ -1,3 +1,6 @@
+a = 1
+p a
+__END__
 class BlockWrapper
   def initialize(block)
     @block = block


-- 
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

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