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-06-02 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             327 : inline size_t systemPageSize()
      58                 : {
      59             327 :     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           31359 : size_t pageSize()
      85                 : {
      86           31359 :     if (!s_pageSize)
      87             327 :         s_pageSize = systemPageSize();
      88           31359 :     ASSERT(isPowerOfTwo(s_pageSize));
      89           31359 :     return s_pageSize;
      90                 : }
      91                 : 
      92                 : } // namespace WTF

Generated by: LCOV version 1.7