diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2012-09-19 14:23:54 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-10-09 17:06:49 -0500 |
commit | fb1836fd7b1b8839815595db08ae740ec7b86347 (patch) | |
tree | 54ff93536489c27b80af1f503520bd9894cdcfd3 /src/include/util | |
parent | 84e4274fe412a577f67805cc701f4fb66a3feb2f (diff) | |
download | talos-hostboot-fb1836fd7b1b8839815595db08ae740ec7b86347.tar.gz talos-hostboot-fb1836fd7b1b8839815595db08ae740ec7b86347.zip |
Support code coverage in extended modules.
- Reduce optimization (to -Os) to fit when doing coverage profile.
- Remove errl storage area from base image.
- Add GCC function attributes to sys library functions.
RTC: 36933
Change-Id: Ic83011a2444ef5b735db0446a14a0af34187eebf
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1908
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Melissa J. Connell <missyc@us.ibm.com>
Reviewed-by: Paul Nguyen <nguyenp@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/util')
-rw-r--r-- | src/include/util/locked/pqueue.H | 107 |
1 files changed, 54 insertions, 53 deletions
diff --git a/src/include/util/locked/pqueue.H b/src/include/util/locked/pqueue.H index 2a6324fe6..4c21cd310 100644 --- a/src/include/util/locked/pqueue.H +++ b/src/include/util/locked/pqueue.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/util/locked/pqueue.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2010-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/util/locked/pqueue.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2010,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __UTIL_LOCKED_PQUEUE_H #define __UTIL_LOCKED_PQUEUE_H @@ -119,43 +118,45 @@ namespace Util template <typename _T, typename _K, bool locked, typename _S> void PQueue<_T,_K,locked,_S>::bubbleUp(_T* item) { - if (!item->next) - return; + while(1) + { - if (item->next->key <= item->key) - return; + if (!item->next) + break; - if (this->head == item) - this->head = item->next; - if (this->tail == item->next) - this->tail = item; + if (item->next->key <= item->key) + break; - _T* temp = item->next; + if (this->head == item) + this->head = item->next; + if (this->tail == item->next) + this->tail = item; - if (temp->next) - { - temp->next->prev = item; - item->next = item->next->next; - } - else - { - item->next = NULL; - } + _T* temp = item->next; - if (item->prev) - { - item->prev->next = temp; - temp->prev = item->prev; - } - else - { - temp->prev = NULL; - } + if (temp->next) + { + temp->next->prev = item; + item->next = item->next->next; + } + else + { + item->next = NULL; + } - temp->next = item; - item->prev = temp; + if (item->prev) + { + item->prev->next = temp; + temp->prev = item->prev; + } + else + { + temp->prev = NULL; + } - bubbleUp(item); + temp->next = item; + item->prev = temp; + } } |