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