[前][次][番号順一覧][スレッド一覧]

ruby-changes:35067

From: hsbt <ko1@a...>
Date: Tue, 12 Aug 2014 12:59:52 +0900 (JST)
Subject: [ruby-changes:35067] hsbt:r47149 (trunk): * vm_exec.c: improve performance in ppc64 arch.

hsbt	2014-08-12 12:59:39 +0900 (Tue, 12 Aug 2014)

  New Revision: 47149

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=47149

  Log:
    * vm_exec.c: improve performance in ppc64 arch.
      [ruby-core:63437] [Feature #9997]

  Modified files:
    trunk/ChangeLog
    trunk/vm_exec.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 47148)
+++ ChangeLog	(revision 47149)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Tue Aug 12 12:57:28 2014  SHIBATA Hiroshi  <shibata.hiroshi@g...>
+
+	* vm_exec.c: improve performance in ppc64 arch.
+	  [ruby-core:63437] [Feature #9997]
+
 Tue Aug 12 12:14:52 2014  Akira Matsuda <ronnie@d...>
 
 	* lib/fileutils.rb: fix typo.
Index: vm_exec.c
===================================================================
--- vm_exec.c	(revision 47148)
+++ vm_exec.c	(revision 47149)
@@ -24,6 +24,9 @@ static void vm_analysis_insn(int insn); https://github.com/ruby/ruby/blob/trunk/vm_exec.c#L24
 #elif defined(__GNUC__) && defined(__i386__)
 #define DECL_SC_REG(type, r, reg) register type reg_##r __asm__("e" reg)
 
+#elif defined(__GNUC__) && defined(__powerpc64__)
+#define DECL_SC_REG(type, r, reg) register type reg_##r __asm__("r" reg)
+
 #else
 #define DECL_SC_REG(type, r, reg) register type reg_##r
 #endif
@@ -70,6 +73,11 @@ vm_exec_core(rb_thread_t *th, VALUE init https://github.com/ruby/ruby/blob/trunk/vm_exec.c#L73
 # endif
 #define USE_MACHINE_REGS 1
 
+#elif defined(__GNUC__) && defined(__powerpc64__)
+    DECL_SC_REG(VALUE *, pc, "14");
+    DECL_SC_REG(rb_control_frame_t *, cfp, "15");
+#define USE_MACHINE_REGS 1
+
 #else
     register rb_control_frame_t *reg_cfp;
     VALUE *reg_pc;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]