Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / tools / ProcStats.cpp
1 /*
2  * Copyright 2014 Google Inc.
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
8 #include "ProcStats.h"
9
10 #if defined(SK_BUILD_FOR_UNIX) || \
11     defined(SK_BUILD_FOR_MAC) || \
12     defined(SK_BUILD_FOR_ANDROID)
13
14     #include <sys/resource.h>
15     int sk_tools::getMaxResidentSetSizeKB() {
16         struct rusage ru;
17         getrusage(RUSAGE_SELF, &ru);
18     #if defined(SK_BUILD_FOR_MAC)
19         return static_cast<int>(ru.ru_maxrss / 1024);  // Darwin reports bytes.
20     #else
21         return static_cast<int>(ru.ru_maxrss);  // Linux reports kilobytes.
22     #endif
23     }
24
25 #else
26
27     int sk_tools::getMaxResidentSetSizeKB() {
28         return -1;
29     }
30
31 #endif