Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*
@@ -22,12 +22,10 @@
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/fasttrap_isa.h>
#include <sys/fasttrap_impl.h>
#include <sys/dtrace.h>
#include <sys/dtrace_impl.h>
#include <sys/cmn_err.h>
@@ -1408,11 +1406,11 @@
cookie = dtrace_interrupt_disable();
if (dtrace_getotherwin() > 0) {
value = dtrace_getreg_win(reg, 1);
dtrace_interrupt_enable(cookie);
- atomic_add_64(&fasttrap_getreg_fast_cnt, 1);
+ atomic_inc_64(&fasttrap_getreg_fast_cnt);
return (value);
}
dtrace_interrupt_enable(cookie);
@@ -1433,11 +1431,11 @@
do {
i--;
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
continue;
- atomic_add_64(&fasttrap_getreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_getreg_mpcb_cnt);
return (rwin[i].rw_local[reg - 16]);
} while (i > 0);
}
if (fasttrap_fulword(&fr->fr_local[reg - 16], &value) != 0)
@@ -1453,22 +1451,22 @@
do {
i--;
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
continue;
- atomic_add_64(&fasttrap_getreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_getreg_mpcb_cnt);
return (rwin[i].rw_local[reg - 16]);
} while (i > 0);
}
if (fasttrap_fuword32(&fr->fr_local[reg - 16], &v32[1]) != 0)
goto err;
v32[0] = 0;
}
- atomic_add_64(&fasttrap_getreg_slow_cnt, 1);
+ atomic_inc_64(&fasttrap_getreg_slow_cnt);
return (value);
err:
/*
* If the copy in failed, the process will be in a irrecoverable
@@ -1503,11 +1501,11 @@
*/
cookie = dtrace_interrupt_disable();
if (dtrace_getotherwin() > 0) {
dtrace_putreg_win(reg, value);
dtrace_interrupt_enable(cookie);
- atomic_add_64(&fasttrap_putreg_fast_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_fast_cnt);
return;
}
dtrace_interrupt_enable(cookie);
/*
@@ -1534,11 +1532,11 @@
i--;
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
continue;
rwin[i].rw_local[reg - 16] = value;
- atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
return;
} while (i > 0);
}
if (fasttrap_sulword(&fr->fr_local[reg - 16], value) != 0) {
@@ -1547,11 +1545,11 @@
goto err;
rwin[mpcb->mpcb_wbcnt].rw_local[reg - 16] = value;
mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;
mpcb->mpcb_wbcnt++;
- atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
return;
}
} else {
struct frame32 *fr =
(struct frame32 *)(uintptr_t)(caddr32_t)rp->r_sp;
@@ -1565,11 +1563,11 @@
i--;
if ((long)mpcb->mpcb_spbuf[i] != rp->r_sp)
continue;
rwin[i].rw_local[reg - 16] = v32;
- atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
return;
} while (i > 0);
}
if (fasttrap_suword32(&fr->fr_local[reg - 16], v32) != 0) {
@@ -1578,16 +1576,16 @@
goto err;
rwin[mpcb->mpcb_wbcnt].rw_local[reg - 16] = v32;
mpcb->mpcb_spbuf[mpcb->mpcb_wbcnt] = (caddr_t)rp->r_sp;
mpcb->mpcb_wbcnt++;
- atomic_add_64(&fasttrap_putreg_mpcb_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_mpcb_cnt);
return;
}
}
- atomic_add_64(&fasttrap_putreg_slow_cnt, 1);
+ atomic_inc_64(&fasttrap_putreg_slow_cnt);
return;
err:
/*
* If we couldn't record this register's value, the process is in an