mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
(flush_register_windows): declare flush_register_windows. * eval.c (flush_register_windows): new function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1453dc92e4
commit
179a0025aa
3 changed files with 24 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
Sat Jul 2 17:06:23 2005 Tanaka Akira <akr@m17n.org>
|
||||||
|
|
||||||
|
* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
|
||||||
|
(flush_register_windows): declare flush_register_windows.
|
||||||
|
|
||||||
|
* eval.c (flush_register_windows): new function.
|
||||||
|
|
||||||
Fri Jul 1 17:48:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Fri Jul 1 17:48:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* bignum.c (get2comp): revert all prior changes, and calculate
|
* bignum.c (get2comp): revert all prior changes, and calculate
|
||||||
|
|
|
@ -224,6 +224,13 @@ flush_register_windows(void)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
# define FLUSH_REGISTER_WINDOWS flush_register_windows()
|
# define FLUSH_REGISTER_WINDOWS flush_register_windows()
|
||||||
|
#elif defined(__ia64__)
|
||||||
|
void flush_register_windows(void)
|
||||||
|
# if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
|
||||||
|
__attribute__ ((noinline))
|
||||||
|
# endif
|
||||||
|
;
|
||||||
|
# define FLUSH_REGISTER_WINDOWS flush_register_windows()
|
||||||
#else
|
#else
|
||||||
# define FLUSH_REGISTER_WINDOWS ((void)0)
|
# define FLUSH_REGISTER_WINDOWS ((void)0)
|
||||||
#endif
|
#endif
|
||||||
|
|
10
eval.c
10
eval.c
|
@ -12823,3 +12823,13 @@ rb_throw(tag, val)
|
||||||
argv[1] = val;
|
argv[1] = val;
|
||||||
rb_f_throw(2, argv);
|
rb_f_throw(2, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* flush_register_windows must not be inlined because flushrs doesn't flush
|
||||||
|
* current frame in register stack. */
|
||||||
|
#ifdef __ia64__
|
||||||
|
void flush_register_windows(void)
|
||||||
|
{
|
||||||
|
__asm__ ("flushrs");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue