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

yarv-diff:32

From: ko1 atdot.net
Date: 29 Jun 2005 14:32:15 -0000
Subject: [yarv-diff:32] r187 - in trunk: . benchmark rb

Author: ko1
Date: 2005-06-29 23:32:14 +0900 (Wed, 29 Jun 2005)
New Revision: 187

Added:
   trunk/benchmark/bm_app_raise.rb
   trunk/benchmark/bm_app_strconcat.rb
   trunk/benchmark/bm_vm1_ensure.rb
   trunk/benchmark/bm_vm2_proc.rb
   trunk/benchmark/bm_vm2_regexp.rb
   trunk/rb/eval.rb
Removed:
   trunk/benchmark/bm_vm1_proc.rb
   trunk/benchmark/bm_vm1_regexp.rb
   trunk/benchmark/bm_vm1_simpleiter.rb
   trunk/benchmark/bm_vm2_ensure.rb
   trunk/benchmark/bm_vm2_rescue2.rb
   trunk/benchmark/bm_vm2_strconcat.rb
Modified:
   trunk/ChangeLog
   trunk/benchmark/bm_app_factorial.rb
   trunk/benchmark/bm_app_fib.rb
   trunk/benchmark/bm_loop_times.rb
   trunk/benchmark/bm_so_ackermann.rb
   trunk/benchmark/bm_so_concatenate.rb
   trunk/benchmark/bm_so_lists.rb
   trunk/benchmark/bm_so_sieve.rb
   trunk/compile.c
   trunk/extconf.rb
   trunk/insnhelper.h
   trunk/test.rb
   trunk/version.h
   trunk/vm.h
   trunk/vm_evalbody.h
   trunk/yarvcore.c
   trunk/yarvcore.h
Log:
	* yarvcore.h, extconf.rb, vm.h, compile.c :
	DISPATCH_DIRECT_THREADED_CODE, DISPATCH_THREADED_CODE
	 -> OPT_DIRECT_THREADED_CODE,  OPT_INDIRECT_THREADED_CODE.
	if at least one of then is defined, OPT_THREADED_CODE is defined

	* benchmark/* : fix name and parameters

	* rb/eval.rb : added for YARV evaluation




Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/ChangeLog	2005-06-29 14:32:14 UTC (rev 187)
@@ -4,6 +4,18 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2005-06-29(Wed) 23:28:44 +0900  Koichi Sasada  <ko1 atdot.net>
+
+	* yarvcore.h, extconf.rb, vm.h, compile.c :
+	DISPATCH_DIRECT_THREADED_CODE, DISPATCH_THREADED_CODE
+	 -> OPT_DIRECT_THREADED_CODE,  OPT_INDIRECT_THREADED_CODE.
+	if at least one of then is defined, OPT_THREADED_CODE is defined
+
+	* benchmark/* : fix name and parameters
+
+	* rb/eval.rb : added for YARV evaluation
+
+
 2005-06-29(Wed) 16:16:52 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* benchmark/run.rb : fix output format

Modified: trunk/benchmark/bm_app_factorial.rb
===================================================================
--- trunk/benchmark/bm_app_factorial.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_app_factorial.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -6,6 +6,6 @@
   end
 end
 
-30.times{
-  fact(7300)
+6.times{
+  fact(7000)
 }
\ No newline at end of file

Modified: trunk/benchmark/bm_app_fib.rb
===================================================================
--- trunk/benchmark/bm_app_fib.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_app_fib.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -6,5 +6,5 @@
   end
 end
 
-fib(32)
+fib(34)
 

Copied: trunk/benchmark/bm_app_raise.rb (from rev 186, trunk/benchmark/bm_vm2_rescue2.rb)
===================================================================
--- trunk/benchmark/bm_vm2_rescue2.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_app_raise.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -0,0 +1,8 @@
+i=0
+while i<300000
+  i+=1
+  begin
+    raise
+  rescue
+  end
+end

Copied: trunk/benchmark/bm_app_strconcat.rb (from rev 186, trunk/benchmark/bm_vm2_strconcat.rb)
===================================================================
--- trunk/benchmark/bm_vm2_strconcat.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_app_strconcat.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -0,0 +1,5 @@
+i=0
+while i<500000
+  "#{1+1} #{1+1} #{1+1}"
+  i+=1
+end

Modified: trunk/benchmark/bm_loop_times.rb
===================================================================
--- trunk/benchmark/bm_loop_times.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_loop_times.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,2 +1,2 @@
-10000000.times{|i|
+30000000.times{|i|
 }

Modified: trunk/benchmark/bm_so_ackermann.rb
===================================================================
--- trunk/benchmark/bm_so_ackermann.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_so_ackermann.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -13,7 +13,7 @@
     end
 end
 
-NUM = 7
+NUM = 9
 ack(3, NUM)
 
 

Modified: trunk/benchmark/bm_so_concatenate.rb
===================================================================
--- trunk/benchmark/bm_so_concatenate.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_so_concatenate.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -5,9 +5,13 @@
 # based on code from Aristarkh A Zagorodnikov and Dat Nguyen
 
 STUFF = "hello\n"
-hello = ''
-400000.times do |e|
+i=0
+while i<10
+  i+=1
+  hello = ''
+  400000.times do |e|
     hello << STUFF
+  end
 end
 # puts hello.length
 

Modified: trunk/benchmark/bm_so_lists.rb
===================================================================
--- trunk/benchmark/bm_so_lists.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_so_lists.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,6 +1,6 @@
 #from http://www.bagley.org/~doug/shootout/bench/lists/lists.ruby
 
-NUM = 10
+NUM = 100
 SIZE = 10000
 
 def test_lists()

Modified: trunk/benchmark/bm_so_sieve.rb
===================================================================
--- trunk/benchmark/bm_so_sieve.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_so_sieve.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,5 +1,5 @@
 # from http://www.bagley.org/~doug/shootout/bench/sieve/sieve.ruby
-num = 100
+num = 400
 count = i = j = 0
 flags0 = Array.new(8192,1)
 k = 0

Copied: trunk/benchmark/bm_vm1_ensure.rb (from rev 186, trunk/benchmark/bm_vm2_ensure.rb)

Deleted: trunk/benchmark/bm_vm1_proc.rb
===================================================================
--- trunk/benchmark/bm_vm1_proc.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm1_proc.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,14 +0,0 @@
-def m &b
-  b
-end
-
-pr = m{
-  a = 1
-}
-
-i=0
-while i<30000000 # while loop 1
-  i+=1
-  pr.call
-end
-

Deleted: trunk/benchmark/bm_vm1_regexp.rb
===================================================================
--- trunk/benchmark/bm_vm1_regexp.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm1_regexp.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,6 +0,0 @@
-i=0
-str = 'xxxhogexxx'
-while i<30000000 # while loop 1
-  /hoge/ =~ str
-  i+=1
-end

Deleted: trunk/benchmark/bm_vm1_simpleiter.rb
===================================================================
--- trunk/benchmark/bm_vm1_simpleiter.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm1_simpleiter.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,3 +0,0 @@
-1000000.times{|simpleiter|
-  simpleiter
-}

Deleted: trunk/benchmark/bm_vm2_ensure.rb
===================================================================
--- trunk/benchmark/bm_vm2_ensure.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm2_ensure.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,11 +0,0 @@
-i=0
-while i<30000000 # benchmark loop 1
-  i+=1
-  begin
-    begin
-    ensure
-    end
-  ensure
-  end
-end
-

Copied: trunk/benchmark/bm_vm2_proc.rb (from rev 186, trunk/benchmark/bm_vm1_proc.rb)
===================================================================
--- trunk/benchmark/bm_vm1_proc.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm2_proc.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -0,0 +1,14 @@
+def m &b
+  b
+end
+
+pr = m{
+  a = 1
+}
+
+i=0
+while i<6000000 # benchmark loop 2
+  i+=1
+  pr.call
+end
+

Copied: trunk/benchmark/bm_vm2_regexp.rb (from rev 186, trunk/benchmark/bm_vm1_regexp.rb)
===================================================================
--- trunk/benchmark/bm_vm1_regexp.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm2_regexp.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -0,0 +1,6 @@
+i=0
+str = 'xxxhogexxx'
+while i<6000000 # benchmark loop 2
+  /hoge/ =~ str
+  i+=1
+end

Deleted: trunk/benchmark/bm_vm2_rescue2.rb
===================================================================
--- trunk/benchmark/bm_vm2_rescue2.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm2_rescue2.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,8 +0,0 @@
-i=0
-while i<6000000 # benchmark loop 2
-  i+=1
-  begin
-    raise
-  rescue
-  end
-end

Deleted: trunk/benchmark/bm_vm2_strconcat.rb
===================================================================
--- trunk/benchmark/bm_vm2_strconcat.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/benchmark/bm_vm2_strconcat.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -1,5 +0,0 @@
-i=0
-while i<6000000 # benchmark loop 2
-  "#{1+1} #{1+1} #{1+1}"
-  i+=1
-end

Modified: trunk/compile.c
===================================================================
--- trunk/compile.c	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/compile.c	2005-06-29 14:32:14 UTC (rev 187)
@@ -205,7 +205,7 @@
 VALUE thread_eval_body(VALUE);
 
 static int iseq_translate_direct_threaded_code(struct iseq_object *iseqobj){
-#ifdef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_DIRECT_THREADED_CODE
   void **table = (void **)thread_eval_body(0);
   int i;
   
@@ -2941,7 +2941,7 @@
     }
     
 
-#ifdef OPT_REGEXP_MATCH
+#ifdef OPT_BASIC_OPERATIONS
     /* TODO: detect by node */
     if((&recv)->last == (&recv)->anchor.next &&
        INSN_OF((&recv)->last) == BIN(putobject)){

Modified: trunk/extconf.rb
===================================================================
--- trunk/extconf.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/extconf.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -6,21 +6,18 @@
   --enable-OPTION    enable yarv option
   --disable-OPTION   disable yarv option
 
-  OPTION:
+OPTION:
   
-  dispatch option (default enable):
-  * dispatch-threaded-code
-  * dispatch-direct-threaded-code
-
   optimization option (default enable):
+  * opt-direct-threaded-code
   * opt-basic-operations
-  * opt-regexp-match
   * opt-operands-unification
   * opt-instructions-unification
   * opt-stack-caching
   * opt-inline-method-cache
   
   others (default disable):
+  * opt-indirect-threaded-code
   * opt-jit-compile          (experimental, support only few insns)
   * test-aot-compile         (experimental)
   * fake-inline-method-cache (dengerous)
@@ -49,18 +46,13 @@
   end
 end
 
-# dispatcher
-check_arg('dispatch-threaded-code', true)
-check_arg('dispatch-direct-threaded-code', true)
-
 # optimizer
+check_arg('opt-direct-threaded-code', true)
+check_arg('opt-indirect-threaded-code', false)
 check_arg('opt-basic-operations', true)
-check_arg('opt-regexp-match'    , true)
-
 check_arg('opt-operands-unification', true)
 check_arg('opt-instructions-unification', true)
 check_arg('opt-stack-caching'   , true)
-
 check_arg('opt-inline-method-cache', true)
 
 # danger

Modified: trunk/insnhelper.h
===================================================================
--- trunk/insnhelper.h	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/insnhelper.h	2005-06-29 14:32:14 UTC (rev 187)
@@ -57,7 +57,7 @@
 #define GET_OPERAND(n)     (GET_PC()[(n)])
 #define ADD_PC(n)          (SET_PC(REG_PC + (n)))
 
-#ifdef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_DIRECT_THREADED_CODE
 #define GET_PC_COUNT()     (REG_PC - GET_ISEQ()->iseq_dt)
 #else
 #define GET_PC_COUNT()     (REG_PC - GET_ISEQ()->iseq)

Added: trunk/rb/eval.rb
===================================================================
--- trunk/rb/eval.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/rb/eval.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -0,0 +1,80 @@
+
+require 'rbconfig'
+require 'fileutils'
+require 'pp'
+
+Ruby = ENV['RUBY'] ||
+  File.join(Config::CONFIG["bindir"],
+            Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"])
+#
+
+OPTIONS = %w{
+ opt-direct-threaded-code
+ opt-basic-operations
+ opt-operands-unification
+ opt-instructions-unification
+ opt-inline-method-cache
+ opt-stack-caching
+}.map{|opt|
+  '--disable-' + opt
+}
+
+opts = OPTIONS.dup
+Configs = OPTIONS.map{|opt|
+  o = opts.dup
+  opts.delete(opt)
+  o
+} + []
+
+pp Configs if $DEBUG
+
+def exec_cmd(cmd)
+  unless system(cmd)
+    p cmd
+    raise "error"
+  end
+end
+
+def dirname idx
+  "ev-#{idx}"
+end
+
+def build
+  Configs.each_with_index{|config, idx|
+    dir = dirname(idx)
+    FileUtils.rm_rf(dir) if FileTest.exist?(dir)
+    Dir.mkdir(dir)
+    FileUtils.cd(dir){
+      exec_cmd("#{Ruby} ../extconf.rb " + config.join(" "))
+      exec_cmd("make clean test-all")
+    }
+  }
+end
+
+def check
+  Configs.each_with_index{|c, idx|
+    puts "= #{idx}"
+    system("#{Ruby} -r ev-#{idx}/yarvcore -e 'puts YARVCore::OPTS'")
+  }
+end
+
+def bench
+  Configs.each_with_index{|c, idx|
+    puts "= #{idx}"
+    FileUtils.cd(dirname(idx)){
+      exec_cmd("make benchmark BOPT=-y > ../b#{idx}")
+    }
+  }
+end
+
+ARGV.each{|cmd|
+  case cmd
+  when 'build'
+    build
+  when 'check'
+    check
+  when 'bench'
+    bench
+  end
+}
+

Modified: trunk/test.rb
===================================================================
--- trunk/test.rb	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/test.rb	2005-06-29 14:32:14 UTC (rev 187)
@@ -9,6 +9,13 @@
 ###########################################################
 $prog =<<'__EOP__'
 
+p :a, :b
+p 1+2
+p(/a/ =~ 'b')
+
+
+__END__
+
 def m
 end
 

Modified: trunk/version.h
===================================================================
--- trunk/version.h	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/version.h	2005-06-29 14:32:14 UTC (rev 187)
@@ -9,8 +9,8 @@
 #define _VERSION_H_INCLUDED_
 
 #define MAJOR_VER   0
-#define MINOR_VER   2
-#define DEVEL_VER   1
+#define MINOR_VER   3
+#define DEVEL_VER   0
 
 /*****************/
 /* configuration */
@@ -19,14 +19,26 @@
 /* gcc ver. check */
 #if defined(__GNUC__) && __GNUC__ >= 2
 
+#ifdef OPT_INDIRECT_THREADED_CODE
+#ifdef OPT_DIRECT_THREADED_CODE
+#undef OPT_DIRECT_THREADED_CODE
+#endif
+#endif
+
+#if defined(OPT_DIRECT_THREADED_CODE) || defined(OPT_INDIRECT_THREADED_CODE)
+#define OPT_THREADED_CODE 1
+#endif
+
 #else
 
-#ifdef DISPATCH_THREADED_CODE
-#undef DISPATCH_THREADED_CODE
+/* disable threaded code options */
+
+#ifdef OPT_DIRECT_THREADED_CODE
+#undef OPT_DIRECT_THREADED_CODE
 #endif
 
-#ifdef DISPATCH_DIRECT_THREADED_CODE
-#undef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_INDIRECT_THREADED_CODE
+#undef OPT_INDIRECT_THREADED_CODE
 #endif
 
 #endif

Modified: trunk/vm.h
===================================================================
--- trunk/vm.h	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/vm.h	2005-06-29 14:32:14 UTC (rev 187)
@@ -83,57 +83,56 @@
 error!
 
 /************************************************/
-#elif defined(DISPATCH_THREADED_CODE)
+#elif defined(OPT_THREADED_CODE)
 /* threaded code with gcc */
 
 #define LABEL(x)  INSN_LABEL_##x
 #define ELABEL(x) INSN_ELABEL_##x
 
 #define INSN_ENTRY_SIG(insn) \
-  asm volatile (  "; *****************************************************\n" \
-                "\t; [start] " # insn "\n") \
+  asm volatile (  "; #**************************************************\n" \
+                "\t; #[start] " # insn "\n") \
 
 
 #define INSN_DISPATCH_SIG(insn) \
-  asm volatile (  "; [end  ] " # insn "\n"\
-                "\t; =====================================================\n") \
+  asm volatile (  "; #[end  ] " # insn "\n"\
+                "\t; #==================================================\n") \
 
 #define INSN_ENTRY(insn) \
   LABEL(insn): \
   INSN_ENTRY_SIG(insn); \
 
-/**********************************/
-#ifdef DISPATCH_DIRECT_THREADED_CODE
-
-#define x86_dispatch(addr) \
+/* dispather */
+#if __GNUC__ && __i386__
+#define DISPATCH_ARCH_DEPEND_WAY(addr) \
   asm volatile("jmp *%0;" : : "r" (addr))
 
-/* direct threaded code */
-#if __GNUC__ && __i386__
+#else
+#define DISPATCH_ARCH_DEPEND_WAY(addr) \
+  /* do nothing */
 
+#endif
+
+
+/**********************************/
+#ifdef OPT_DIRECT_THREADED_CODE
+
+
 /* for GCC 3.4.x */
 #define TC_DISPATCH(insn) \
-  x86_dispatch(*((void **)reg_pc)); \
+  DISPATCH_ARCH_DEPEND_WAY(GET_CURRENT_INSN()); \
   INSN_DISPATCH_SIG(insn); \
   goto *GET_CURRENT_INSN(); \
   ;
-#else
 
-#define TC_DISPATCH(insn) \
-  goto *GET_CURRENT_INSN();
-
-#endif
-
-//  goto *GET_CURRENT_INSN(); \
-//  rb_bug("dtc error");
-
 #define GET_SEQ(iseq) (iseq)->iseq_dt
 
-/**********************************/
-#else /* DISPATCH_DIRECT_THREADED_CODE */
-#error "unsupported"
-/* indirect threaded code */
-#define TC_DISPATCH()                            \
+#else 
+/* indirect threade code */
+
+#define TC_DISPATCH(insn)  \
+  DISPATCH_ARCH_DEPEND_WAY(insns_address_table[GET_CURRENT_INSN()]); \
+  INSN_DISPATCH_SIG(insn); \
   goto *insns_address_table[GET_CURRENT_INSN()]; \
   rb_bug("tc error");
 
@@ -146,8 +145,8 @@
   DEBUG_END_INSN();         \
   TC_DISPATCH(insn);        \
 
-#define INSN_DISPATCH()   \
-  TC_DISPATCH(__START__)  \
+#define INSN_DISPATCH()     \
+  TC_DISPATCH(__START__)    \
   {
 
 #define END_INSNS_DISPATCH()    \
@@ -157,7 +156,7 @@
 #define NEXT_INSN() TC_DISPATCH(__NEXT_INSN__)
 
 /************************************************/
-#else
+#else /* no threaded code */
 /* most common method */
 
 #define GET_SEQ(is) (is)->iseq

Modified: trunk/vm_evalbody.h
===================================================================
--- trunk/vm_evalbody.h	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/vm_evalbody.h	2005-06-29 14:32:14 UTC (rev 187)
@@ -57,11 +57,11 @@
   int state;
   struct tag _tag;
 
-#ifdef DISPATCH_THREADED_CODE
+#ifdef OPT_THREADED_CODE
 #include "vmtc.inc"
 #endif
 
-#ifdef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_THREADED_CODE
   if(self == 0){
     return (VALUE)insns_address_table;
   }

Modified: trunk/yarvcore.c
===================================================================
--- trunk/yarvcore.c	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/yarvcore.c	2005-06-29 14:32:14 UTC (rev 187)
@@ -301,7 +301,7 @@
   if(ptr){
     iseqobj = ptr;
     FREE_UNLESS_NULL(iseqobj->iseq);
-#ifdef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_DIRECT_THREADED_CODE
     FREE_UNLESS_NULL(iseqobj->iseq_dt);
 #endif
     FREE_UNLESS_NULL(iseqobj->insn_info_tbl);
@@ -738,11 +738,12 @@
 VALUE insns_name_array();
 
 void Init_yarvcore(){
-  char opts[] = 
-#if   defined(DISPATCH_DIRECT_THREADED_CODE)
+  char opts[] = ""
+
+#if   defined(OPT_DIRECT_THREADED_CODE)
     "[direct threaded code] "
-#elif defined(DISPATCH_THREADED_CODE)
-    "[threaded code] "
+#elif defined(OPT_INDIRECT_THREADED_CODE)
+    "[indirect threaded code] "
 #endif
 
 #ifdef FAKE_INLINE_METHOD_CACHE
@@ -753,15 +754,19 @@
     "[optimize basic operation] "
 #endif
 
-#ifdef OPT_REGEXP_MATCH
-    "[optimize regexp match] "
-#endif
-
 #ifdef OPT_STACK_CACHING
     "[stack caching] "
 #endif
 
-#ifdef INLINE_METHOD_CACHE
+#ifdef OPT_OPERANDS_UNIFICATION
+    "[operands unification] "
+#endif
+
+#ifdef OPT_INSTRUCTIONS_UNIFICATION
+    "[instructions unification] "
+#endif
+
+#ifdef OPT_INLINE_METHOD_CACHE
     "[inline method cache] "
 #endif
       ;

Modified: trunk/yarvcore.h
===================================================================
--- trunk/yarvcore.h	2005-06-29 13:38:12 UTC (rev 186)
+++ trunk/yarvcore.h	2005-06-29 14:32:14 UTC (rev 187)
@@ -153,7 +153,7 @@
 
   NODE *node;
   
-#ifdef DISPATCH_DIRECT_THREADED_CODE
+#ifdef OPT_DIRECT_THREADED_CODE
   VALUE *iseq_dt;
 #endif
   


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

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