Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / perf / pm_stub.cpp
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4  *
5  * The contents of this file are subject to the Mozilla Public License Version
6  * 1.1 (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  * http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12  * for the specific language governing rights and limitations under the
13  * License.
14  *
15  * The Original Code is mozilla.org code.
16  *
17  * The Initial Developer of the Original Code is
18  * the Mozilla Foundation.
19  * Portions created by the Initial Developer are Copyright (C) 2010
20  * the Initial Developer. All Rights Reserved.
21  *
22  * Contributor(s):
23  *   Zack Weinberg <zweinberg@mozilla.com>  (original author)
24  *
25  * Alternatively, the contents of this file may be used under the terms of
26  * either the GNU General Public License Version 2 or later (the "GPL"), or
27  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28  * in which case the provisions of the GPL or the LGPL are applicable instead
29  * of those above. If you wish to allow use of your version of this file only
30  * under the terms of either the GPL or the LGPL, and not to allow others to
31  * use your version of this file under the terms of the MPL, indicate your
32  * decision by deleting the provisions above and replace them with the notice
33  * and other provisions required by the GPL or the LGPL. If you do not delete
34  * the provisions above, a recipient may use your version of this file under
35  * the terms of any one of the MPL, the GPL or the LGPL.
36  *
37  * ***** END LICENSE BLOCK ***** */
38
39 #include "jsperf.h"
40
41 namespace JS {
42
43 PerfMeasurement::PerfMeasurement(PerfMeasurement::EventMask)
44   : impl(0),
45     eventsMeasured(EventMask(0)),
46     cpu_cycles(-1),
47     instructions(-1),
48     cache_references(-1),
49     cache_misses(-1),
50     branch_instructions(-1),
51     branch_misses(-1),
52     bus_cycles(-1),
53     page_faults(-1),
54     major_page_faults(-1),
55     context_switches(-1),
56     cpu_migrations(-1)
57 {
58 }
59
60 PerfMeasurement::~PerfMeasurement()
61 {
62 }
63
64 void
65 PerfMeasurement::start()
66 {
67 }
68
69 void
70 PerfMeasurement::stop()
71 {
72 }
73
74 void
75 PerfMeasurement::reset()
76 {
77     cpu_cycles = -1;
78     instructions = -1;
79     cache_references = -1;
80     cache_misses = -1;
81     branch_instructions = -1;
82     branch_misses = -1;
83     bus_cycles = -1;
84     page_faults = -1;
85     major_page_faults = -1;
86     context_switches = -1;
87     cpu_migrations = -1;
88 }
89
90 bool
91 PerfMeasurement::canMeasureSomething()
92 {
93     return false;
94 }
95
96 } // namespace JS