gfx/skia/trunk/src/opts/SkCachePreload_arm.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /*
     2  * Copyright 2012 The Android Open Source Project
     3  *
     4  * Use of this source code is governed by a BSD-style license that can be
     5  * found in the LICENSE file.
     6  */
     7 #ifndef SkCachePreload_arm_DEFINED
     8 #define SkCachePreload_arm_DEFINED
    10 // This file defines macros for preload instructions for ARM. These macros
    11 // are designed to be embedded inside GNU inline assembly.
    12 // For the use of these macros, __ARM_USE_PLD needs to be enabled. The cache
    13 // line size also needs to be known (and needs to be contained inside
    14 // __ARM_CACHE_LINE_SIZE).
    15 #if defined(__ARM_USE_PLD)
    17 #define PLD(x, n)           "pld        [%["#x"], #("#n")]\n\t"
    19 #if __ARM_CACHE_LINE_SIZE == 32
    20     #define PLD64(x, n)      PLD(x, n) PLD(x, (n) + 32)
    21 #elif __ARM_CACHE_LINE_SIZE == 64
    22     #define PLD64(x, n)      PLD(x, n)
    23 #else
    24     #error "unknown __ARM_CACHE_LINE_SIZE."
    25 #endif
    26 #else
    27     // PLD is disabled, all macros become empty.
    28     #define PLD(x, n)
    29     #define PLD64(x, n)
    30 #endif
    32 #define PLD128(x, n)         PLD64(x, n) PLD64(x, (n) + 64)
    34 #endif  // SkCachePreload_arm_DEFINED

mercurial