| OLD | NEW |
| 1 /* | 1 /* |
| 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
| 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) | 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) |
| 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) | 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) |
| 5 Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 6 | 6 |
| 7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
| 8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
| 9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
| 10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
| 11 | 11 |
| 12 This library is distributed in the hope that it will be useful, | 12 This library is distributed in the hope that it will be useful, |
| 13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 Library General Public License for more details. | 15 Library General Public License for more details. |
| 16 | 16 |
| 17 You should have received a copy of the GNU Library General Public License | 17 You should have received a copy of the GNU Library General Public License |
| 18 along with this library; see the file COPYING.LIB. If not, write to | 18 along with this library; see the file COPYING.LIB. If not, write to |
| 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 Boston, MA 02110-1301, USA. | 20 Boston, MA 02110-1301, USA. |
| 21 */ | 21 */ |
| 22 | 22 |
| 23 #include "config.h" | 23 #include "sky/engine/config.h" |
| 24 #include "core/fetch/MemoryCache.h" | 24 #include "sky/engine/core/fetch/MemoryCache.h" |
| 25 | 25 |
| 26 #include "base/bind.h" | 26 #include "base/bind.h" |
| 27 #include "core/dom/Microtask.h" | 27 #include "sky/engine/core/dom/Microtask.h" |
| 28 #include "core/fetch/ResourcePtr.h" | 28 #include "sky/engine/core/fetch/ResourcePtr.h" |
| 29 #include "core/frame/FrameView.h" | 29 #include "sky/engine/core/frame/FrameView.h" |
| 30 #include "platform/Logging.h" | 30 #include "sky/engine/platform/Logging.h" |
| 31 #include "platform/TraceEvent.h" | 31 #include "sky/engine/platform/TraceEvent.h" |
| 32 #include "wtf/Assertions.h" | 32 #include "sky/engine/wtf/Assertions.h" |
| 33 #include "wtf/CurrentTime.h" | 33 #include "sky/engine/wtf/CurrentTime.h" |
| 34 #include "wtf/MainThread.h" | 34 #include "sky/engine/wtf/MainThread.h" |
| 35 #include "wtf/MathExtras.h" | 35 #include "sky/engine/wtf/MathExtras.h" |
| 36 #include "wtf/TemporaryChange.h" | 36 #include "sky/engine/wtf/TemporaryChange.h" |
| 37 #include "wtf/text/CString.h" | 37 #include "sky/engine/wtf/text/CString.h" |
| 38 | 38 |
| 39 namespace blink { | 39 namespace blink { |
| 40 | 40 |
| 41 static OwnPtr<MemoryCache>* gMemoryCache; | 41 static OwnPtr<MemoryCache>* gMemoryCache; |
| 42 | 42 |
| 43 static const unsigned cDefaultCacheCapacity = 8192 * 1024; | 43 static const unsigned cDefaultCacheCapacity = 8192 * 1024; |
| 44 static const unsigned cDeferredPruneDeadCapacityFactor = 2; | 44 static const unsigned cDeferredPruneDeadCapacityFactor = 2; |
| 45 static const int cMinDelayBeforeLiveDecodedPrune = 1; // Seconds. | 45 static const int cMinDelayBeforeLiveDecodedPrune = 1; // Seconds. |
| 46 static const double cMaxPruneDeferralDelay = 0.5; // Seconds. | 46 static const double cMaxPruneDeferralDelay = 0.5; // Seconds. |
| 47 static const float cTargetPrunePercentage = .95f; // Percentage of capacity towa
rd which we prune, to avoid immediately pruning again. | 47 static const float cTargetPrunePercentage = .95f; // Percentage of capacity towa
rd which we prune, to avoid immediately pruning again. |
| (...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 720 printf("(%.1fK, %.1fK, %uA, %dR, %d, %d); ", current->decodedSiz
e() / 1024.0f, (current->encodedSize() + current->overheadSize()) / 1024.0f, cur
rent->accessCount(), current->hasClients(), current->isPurgeable(), current->was
Purged()); | 720 printf("(%.1fK, %.1fK, %uA, %dR, %d, %d); ", current->decodedSiz
e() / 1024.0f, (current->encodedSize() + current->overheadSize()) / 1024.0f, cur
rent->accessCount(), current->hasClients(), current->isPurgeable(), current->was
Purged()); |
| 721 | 721 |
| 722 current = prev; | 722 current = prev; |
| 723 } | 723 } |
| 724 } | 724 } |
| 725 } | 725 } |
| 726 | 726 |
| 727 #endif // MEMORY_CACHE_STATS | 727 #endif // MEMORY_CACHE_STATS |
| 728 | 728 |
| 729 } // namespace blink | 729 } // namespace blink |
| OLD | NEW |