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

ruby-changes:22160

From: ngoto <ko1@a...>
Date: Wed, 4 Jan 2012 16:04:36 +0900 (JST)
Subject: [ruby-changes:22160] ngoto:r34209 (ruby_1_9_3): sparc.c was missing in r34199

ngoto	2012-01-04 16:04:22 +0900 (Wed, 04 Jan 2012)

  New Revision: 34209

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

  Log:
    sparc.c was missing in r34199

  Added files:
    branches/ruby_1_9_3/sparc.c

Index: ruby_1_9_3/sparc.c
===================================================================
--- ruby_1_9_3/sparc.c	(revision 0)
+++ ruby_1_9_3/sparc.c	(revision 34209)
@@ -0,0 +1,30 @@
+/********************************************************************
+ Flush register windows on sparc.
+
+ This function is in a separate file to prevent inlining. The "flushw"
+ assembler instruction used on sparcv9 flushes all register windows
+ except the current one, so if it is inlined, the current register
+ window of the process executing the instruction will not be flushed
+ correctly.
+
+ See http://bugs.ruby-lang.org/issues/5244 for discussion.
+*********************************************************************/
+void rb_sparc_flush_register_windows(void)
+{
+    asm
+#ifdef __GNUC__
+    __volatile__
+#endif
+
+/* This condition should be in sync with one in configure.in */
+#if defined(__sparcv9) || defined(__sparc_v9__) || defined(__arch64__)
+# ifdef __GNUC__
+    ("flushw" : : : "%o7")
+# else
+    ("flushw")
+# endif /* __GNUC__ */
+#else
+    ("ta 0x03")
+#endif
+    ;
+}

Property changes on: ruby_1_9_3/sparc.c
___________________________________________________________________
Added: snv:eol-style
   + LF


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

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