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

yarv-diff:405

From: ko1 atdot.net
Date: 6 Nov 2006 13:24:45 +0900
Subject: [yarv-diff:405] r573 - in trunk: . rb

Author: ko1
Date: 2006-11-06 13:24:44 +0900 (Mon, 06 Nov 2006)
New Revision: 573

Modified:
   trunk/ChangeLog
   trunk/iseq.c
   trunk/rb/parse.rb
Log:
	* iseq.c : fixed GC debugging outputs

	* rb/parse.rb : fixed output format



Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-11-04 00:50:33 UTC (rev 572)
+++ trunk/ChangeLog	2006-11-06 04:24:44 UTC (rev 573)
@@ -4,6 +4,13 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2006-11-06(Mon) 13:22:34 +0900  Koichi Sasada  <ko1 atdot.net>
+
+	* iseq.c : fixed GC debugging outputs
+
+	* rb/parse.rb : fixed output format
+
+
 2006-11-04(Sat) 09:46:50 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* compile.c : fix to duplicate "#{'foo'}" string

Modified: trunk/iseq.c
===================================================================
--- trunk/iseq.c	2006-11-04 00:50:33 UTC (rev 572)
+++ trunk/iseq.c	2006-11-06 04:24:44 UTC (rev 573)
@@ -13,6 +13,8 @@
 #include "yarvcore.h"
 #include "insns.inc"
 #include "insns_info.inc"
+
+// #define MARK_FREE_DEBUG 1
 #include "gc.h"
 
 static void
@@ -38,8 +40,10 @@
 
     if (ptr) {
 	iseq = ptr;
-	GC_INFO("%s\n", RSTRING_PTR(iseq->name));
-
+	/* It's possible that strings are freed
+         * GC_INFO("%s @ %s\n", RSTRING_PTR(iseq->name),
+         *                      RSTRING_PTR(iseq->file_name));
+	 */
 	if (iseq->iseq != iseq->iseq_encoded) {
 	    FREE_UNLESS_NULL(iseq->iseq_encoded);
 	}
@@ -63,7 +67,7 @@
 
     if (ptr) {
 	iseq = ptr;
-	GC_INFO("%s\n", RSTRING_PTR(iseq->name));
+	GC_INFO("%s @ %s\n", RSTRING_PTR(iseq->name), RSTRING_PTR(iseq->file_name));
 	MARK_UNLESS_NULL(iseq->iseq_mark_ary);
 	MARK_UNLESS_NULL(iseq->name);
 	MARK_UNLESS_NULL(iseq->file_name);

Modified: trunk/rb/parse.rb
===================================================================
--- trunk/rb/parse.rb	2006-11-04 00:50:33 UTC (rev 572)
+++ trunk/rb/parse.rb	2006-11-06 04:24:44 UTC (rev 573)
@@ -1,5 +1,13 @@
 $file = ARGV[0]
-$str  = ARGF.read
+$str  = ARGF.read.sub(/^__END__.*\z/m, '')
+puts '# ' + '-' * 70
+puts "# target program: "
+puts '# ' + '-' * 70
 puts $str
+puts '# ' + '-' * 70
+
 $parsed = YARVCore::InstructionSequence.compile_file($file)
+puts "# disasm result: "
+puts '# ' + '-' * 70
 puts $parsed.disasm
+puts '# ' + '-' * 70


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

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