1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

11 commits

Author SHA1 Message Date
nobu
ac64f196f8 atomic.h: prefer GCC atomic builtins
* atomic.h: prefer GCC atomic builtins than Windows APIs, if possible,
  since they are generic.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 08:17:08 +00:00
nobu
66f4c3f18c suppress warnings on mingw32
* atomic.h (ATOMIC_SIZE_): cast to suppress warnings on mingw32.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-09 04:35:50 +00:00
ngoto
87c25d897b * gc.c, atomic.h (ATOMIC_SIZE_*): moved from gc.c to atomic.h [ruby-dev:45909]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-04 13:02:03 +00:00
akr
2bb5441808 * complex.c: use "__sun" instead of "__sun__" to detect SunOS.
* math.c: ditto.

* hash.c: ditto.

* atomic.h: ditto.

* ext/io/wait/wait.c: ditto.

[ruby-dev:44693]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-24 14:57:08 +00:00
ngoto
b073b5347b * atomic.h: change Solaris checking macro because atomic_ops can work
not only with Sun Studio but also with Fujitsu C Compiler.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-21 03:26:11 +00:00
nobu
c96c193e1d * atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.
[ruby-dev:44596] [Bug #5439]
* signal.c (ruby_atomic_exchange): no needs to define on the
  platforms where atomic.h is available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-13 20:58:08 +00:00
ngoto
5558de40b6 * atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris.
[ruby-dev:44596] [Bug #5439]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-13 10:39:58 +00:00
kosaki
123645aab6 * atomic.h(ATOMIC_SET): add cast to void to prevent misuse.
[ruby-dev:44596] [Bug #5439]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-13 09:19:10 +00:00
nobu
2a8a9d1def * atomic.h (ATOMIC_OR): _InterlockedOr is unavailable in VC6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-09 07:56:04 +00:00
nobu
df3e3768e9 * atomic.h (ATOMIC_OR): _InterlockedOr is not available on migw.
* gc.c (rb_gc_set_params): VM_OBJSPACE is disabled on mignw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-12 00:32:32 +00:00
kosaki
9d4e471cf9 * vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT,
RUBY_VM_SET_FINALIZER_INTERRUPT): use atomic ops for preventing
  interrupt_flag bit lost.
* thread.c (rb_threadptr_execute_interrupts_rec): ditto.
* vm_core.h (typedef struct rb_thread_struct): change type of
  interrupt_flag to rb_atomic_t.
* atomic.h: move atomic ops definition from signal.c.
* signal.c: remove atomic ops definition.
* common.mk (gc, signal, thread, cont): add to dependency to atomic.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-11 14:27:08 +00:00