Make assembly functions inline to prevent multiple definitions. Required to change from function level assembly to regular functions with statement level assembly.

[SVN r28133]
This commit is contained in:
Rene Rivera
2005-04-11 15:59:44 +00:00
parent 76722e125f
commit df1d8b27df

View File

@@ -32,7 +32,9 @@ namespace boost
namespace detail namespace detail
{ {
asm void atomic_increment( register long * pw ) inline void atomic_increment( register long * pw )
{
asm
{ {
loop: loop:
@@ -41,8 +43,11 @@ loop:
stwcx. r4, 0, r3 stwcx. r4, 0, r3
bne- loop bne- loop
} }
}
asm long atomic_decrement( register long * pw ) inline long atomic_decrement( register long * pw )
{
asm
{ {
sync sync
@@ -57,8 +62,11 @@ loop:
isync isync
} }
}
asm long atomic_conditional_increment( register long * pw ) inline long atomic_conditional_increment( register long * pw )
{
asm
{ {
loop: loop:
@@ -75,6 +83,7 @@ store:
mr r3, r4 mr r3, r4
} }
}
class sp_counted_base class sp_counted_base
{ {