LCOV - app.info - js/src/yarr/PageBlock.cpp

LCOV - code coverage report
| Current view: | directory - js/src/yarr - PageBlock.cpp (source / functions) |  | Found | Hit | Coverage |
| Test: | app.info | Lines: | 7 | 7 | 100.0 %
| Date: | 2012-04-07 | Functions: | 2 | 2 | 100.0 %

           1                 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
           2                 :  * vim: set ts=8 sw=4 et tw=99 ft=cpp:
           3                 :  *
           4                 :  * ***** BEGIN LICENSE BLOCK *****
           5                 :  * Copyright (C) 2010 Apple Inc. All rights reserved.
           6                 :  *
           7                 :  * Redistribution and use in source and binary forms, with or without
           8                 :  * modification, are permitted provided that the following conditions
           9                 :  * are met:
          10                 :  * 1. Redistributions of source code must retain the above copyright
          11                 :  *    notice, this list of conditions and the following disclaimer.
          12                 :  * 2. Redistributions in binary form must reproduce the above copyright
          13                 :  *    notice, this list of conditions and the following disclaimer in the
          14                 :  *    documentation and/or other materials provided with the distribution.
          15                 :  *
          16                 :  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
          17                 :  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
          18                 :  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
          19                 :  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
          20                 :  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
          21                 :  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
          22                 :  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
          23                 :  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
          24                 :  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
          25                 :  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
          26                 :  * THE POSSIBILITY OF SUCH DAMAGE.
          27                 :  *
          28                 :  * ***** END LICENSE BLOCK ***** */
          29                 :
          30                 : #include "PageBlock.h"
          31                 : #include "wtf/Assertions.h"
          32                 :
          33                 : #if WTF_OS_UNIX && !WTF_OS_SYMBIAN
          34                 : #include <unistd.h>
          35                 : #endif
          36                 :
          37                 : #if WTF_OS_WINDOWS
          38                 : #include <malloc.h>
          39                 : #include <windows.h>
          40                 : #endif
          41                 :
          42                 : #if WTF_OS_SYMBIAN
          43                 : #include <e32hal.h>
          44                 : #include <e32std.h>
          45                 : #endif
          46                 :
          47                 : #if WTF_OS_OS2
          48                 : #include <stdlib.h>
          49                 : #endif
          50                 :
          51                 : namespace WTF {
          52                 :
          53                 : static size_t s_pageSize;
          54                 :
          55                 : #if (WTF_OS_UNIX && !WTF_OS_SYMBIAN) || WTF_OS_OS2
          56                 :
          57              72 : inline size_t systemPageSize()
          58                 : {
          59              72 :     return getpagesize();
          60                 : }
          61                 :
          62                 : #elif WTF_OS_WINDOWS
          63                 :
          64                 : inline size_t systemPageSize()
          65                 : {
          66                 :     static size_t size = 0;
          67                 :     SYSTEM_INFO system_info;
          68                 :     GetSystemInfo(&system_info);
          69                 :     size = system_info.dwPageSize;
          70                 :     return size;
          71                 : }
          72                 :
          73                 : #elif WTF_OS_SYMBIAN
          74                 :
          75                 : inline size_t systemPageSize()
          76                 : {
          77                 :     static TInt page_size = 0;
          78                 :     UserHal::PageSizeInBytes(page_size);
          79                 :     return page_size;
          80                 : }
          81                 :
          82                 : #endif
          83                 :
          84           31104 : size_t pageSize()
          85                 : {
          86           31104 :     if (!s_pageSize)
          87              72 :         s_pageSize = systemPageSize();
          88           31104 :     ASSERT(isPowerOfTwo(s_pageSize));
          89           31104 :     return s_pageSize;
          90                 : }
          91                 :
          92                 : } // namespace WTF

Generated by: LCOV version 1.7