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/