diff options
author | Glenn Kasten <gkasten@google.com> | 2011-12-15 09:51:17 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2012-01-05 07:33:45 -0800 |
commit | 99ed22412db547c59d3da08114d9d5a586442b30 (patch) | |
tree | 686069701dc5e709304fe64a5437f17d461fc67d | |
parent | a91bc48fbd4a2ca744b4e4a4cfb695375f0aaf1c (diff) | |
download | frameworks_native-99ed22412db547c59d3da08114d9d5a586442b30.zip frameworks_native-99ed22412db547c59d3da08114d9d5a586442b30.tar.gz frameworks_native-99ed22412db547c59d3da08114d9d5a586442b30.tar.bz2 |
Use the standard CC_LIKELY and CC_UNLIKELY macros
Several source files privately defined macros LIKELY and UNLIKELY in terms
of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and
CC_UNLIKELY which are intended for this purpose. So rename the private
uses to use the standard names.
In addition, AudioFlinger was relying on the macro expanding to extra ( ).
Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
-rw-r--r-- | libs/gui/ISurfaceComposer.cpp | 5 | ||||
-rw-r--r-- | libs/gui/ISurfaceComposerClient.cpp | 3 | ||||
-rw-r--r-- | services/surfaceflinger/LayerBase.cpp | 4 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 28 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.h | 5 |
5 files changed, 18 insertions, 27 deletions
diff --git a/libs/gui/ISurfaceComposer.cpp b/libs/gui/ISurfaceComposer.cpp index db32827..ca7c8f8 100644 --- a/libs/gui/ISurfaceComposer.cpp +++ b/libs/gui/ISurfaceComposer.cpp @@ -40,11 +40,6 @@ // --------------------------------------------------------------------------- -#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) -#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) - -// --------------------------------------------------------------------------- - namespace android { class IDisplayEventConnection; diff --git a/libs/gui/ISurfaceComposerClient.cpp b/libs/gui/ISurfaceComposerClient.cpp index ace16aa..5ebdbd9 100644 --- a/libs/gui/ISurfaceComposerClient.cpp +++ b/libs/gui/ISurfaceComposerClient.cpp @@ -42,9 +42,6 @@ #define AID_GRAPHICS 1003 #endif -#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) -#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) - // --------------------------------------------------------------------------- namespace android { diff --git a/services/surfaceflinger/LayerBase.cpp b/services/surfaceflinger/LayerBase.cpp index f04add1..37879f1 100644 --- a/services/surfaceflinger/LayerBase.cpp +++ b/services/surfaceflinger/LayerBase.cpp @@ -240,7 +240,7 @@ void LayerBase::validateVisibility(const Transform& planeTransform) for (size_t i=0 ; i<4 ; i++) mVertices[i][1] = hw_h - mVertices[i][1]; - if (UNLIKELY(transformed)) { + if (CC_UNLIKELY(transformed)) { // NOTE: here we could also punt if we have too many rectangles // in the transparent region if (tr.preserveRects()) { @@ -416,7 +416,7 @@ void LayerBase::drawWithOpenGL(const Region& clip) const const State& s(drawingState()); GLenum src = mPremultipliedAlpha ? GL_ONE : GL_SRC_ALPHA; - if (UNLIKELY(s.alpha < 0xFF)) { + if (CC_UNLIKELY(s.alpha < 0xFF)) { const GLfloat alpha = s.alpha * (1.0f/255.0f); if (mPremultipliedAlpha) { glColor4f(alpha, alpha, alpha, alpha); diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 014c7e2..bea0297 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -404,14 +404,14 @@ bool SurfaceFlinger::threadLoop() waitForEvent(); // check for transactions - if (UNLIKELY(mConsoleSignals)) { + if (CC_UNLIKELY(mConsoleSignals)) { handleConsoleEvents(); } // if we're in a global transaction, don't do anything. const uint32_t mask = eTransactionNeeded | eTraversalNeeded; uint32_t transactionFlags = peekTransactionFlags(mask); - if (UNLIKELY(transactionFlags)) { + if (CC_UNLIKELY(transactionFlags)) { handleTransaction(transactionFlags); } @@ -423,13 +423,13 @@ bool SurfaceFlinger::threadLoop() return true; } - if (UNLIKELY(mHwWorkListDirty)) { + if (CC_UNLIKELY(mHwWorkListDirty)) { // build the h/w work list handleWorkList(); } const DisplayHardware& hw(graphicPlane(0).displayHardware()); - if (LIKELY(hw.canDraw())) { + if (CC_LIKELY(hw.canDraw())) { // repaint the framebuffer (if needed) const int index = hw.getCurrentBufferIndex(); @@ -629,7 +629,7 @@ void SurfaceFlinger::computeVisibleRegions( // handle hidden surfaces by setting the visible region to empty - if (LIKELY(!(s.flags & ISurfaceComposer::eLayerHidden) && s.alpha)) { + if (CC_LIKELY(!(s.flags & ISurfaceComposer::eLayerHidden) && s.alpha)) { const bool translucent = !layer->isOpaque(); const Rect bounds(layer->visibleBounds()); visibleRegion.set(bounds); @@ -814,7 +814,7 @@ void SurfaceFlinger::handleRepaint() // compute the invalid region mSwapRegion.orSelf(mDirtyRegion); - if (UNLIKELY(mDebugRegion)) { + if (CC_UNLIKELY(mDebugRegion)) { debugFlashRegions(); } @@ -968,7 +968,7 @@ void SurfaceFlinger::composeSurfaces(const Region& dirty) HWComposer& hwc(hw.getHwComposer()); const size_t fbLayerCount = hwc.getLayerCount(HWC_FRAMEBUFFER); - if (UNLIKELY(fbLayerCount && !mWormholeRegion.isEmpty())) { + if (CC_UNLIKELY(fbLayerCount && !mWormholeRegion.isEmpty())) { // should never happen unless the window manager has a bug // draw something... drawWormhole(); @@ -1053,7 +1053,7 @@ void SurfaceFlinger::drawWormhole() const const int32_t width = hw.getWidth(); const int32_t height = hw.getHeight(); - if (LIKELY(!mDebugBackground)) { + if (CC_LIKELY(!mDebugBackground)) { glClearColor(0,0,0,0); Region::const_iterator it = region.begin(); Region::const_iterator const end = region.end(); @@ -1257,7 +1257,7 @@ void SurfaceFlinger::setTransactionState(const Vector<ComposerState>& state, int SurfaceFlinger::setOrientation(DisplayID dpy, int orientation, uint32_t flags) { - if (UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) + if (CC_UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) return BAD_VALUE; Mutex::Autolock _l(mStateLock); @@ -1356,7 +1356,7 @@ sp<Layer> SurfaceFlinger::createNormalSurface( sp<Layer> layer = new Layer(this, display, client); status_t err = layer->setBuffers(w, h, format, flags); - if (LIKELY(err != NO_ERROR)) { + if (CC_LIKELY(err != NO_ERROR)) { LOGE("createNormalSurfaceLocked() failed (%s)", strerror(-err)); layer.clear(); } @@ -1676,7 +1676,7 @@ status_t SurfaceFlinger::onTransact( status_t err = BnSurfaceComposer::onTransact(code, data, reply, flags); if (err == UNKNOWN_TRANSACTION || err == PERMISSION_DENIED) { CHECK_INTERFACE(ISurfaceComposer, data, reply); - if (UNLIKELY(!PermissionCache::checkCallingPermission(sHardwareTest))) { + if (CC_UNLIKELY(!PermissionCache::checkCallingPermission(sHardwareTest))) { IPCThreadState* ipc = IPCThreadState::self(); const int pid = ipc->getCallingPid(); const int uid = ipc->getCallingUid(); @@ -2261,7 +2261,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy, status_t result = PERMISSION_DENIED; // only one display supported for now - if (UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) + if (CC_UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) return BAD_VALUE; if (!GLExtensions::getInstance().haveFramebufferObject()) @@ -2383,7 +2383,7 @@ status_t SurfaceFlinger::captureScreen(DisplayID dpy, uint32_t minLayerZ, uint32_t maxLayerZ) { // only one display supported for now - if (UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) + if (CC_UNLIKELY(uint32_t(dpy) >= DISPLAY_COUNT)) return BAD_VALUE; if (!GLExtensions::getInstance().haveFramebufferObject()) @@ -2511,7 +2511,7 @@ status_t Client::onTransact( const int pid = ipc->getCallingPid(); const int uid = ipc->getCallingUid(); const int self_pid = getpid(); - if (UNLIKELY(pid != self_pid && uid != AID_GRAPHICS && uid != 0)) { + if (CC_UNLIKELY(pid != self_pid && uid != AID_GRAPHICS && uid != 0)) { // we're called from a different process, do the real check if (!PermissionCache::checkCallingPermission(sAccessSurfaceFlinger)) { diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 41caee3..ffd3ac9 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -20,6 +20,8 @@ #include <stdint.h> #include <sys/types.h> +#include <cutils/compiler.h> + #include <utils/Atomic.h> #include <utils/Errors.h> #include <utils/KeyedVector.h> @@ -53,9 +55,6 @@ class LayerDim; class LayerScreenshot; struct surface_flinger_cblk_t; -#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) -#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) - // --------------------------------------------------------------------------- class Client : public BnSurfaceComposerClient |