1f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier/*
2f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * Copyright (C) 2016 The Android Open Source Project
3f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier *
4f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * Licensed under the Apache License, Version 2.0 (the "License");
5f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * you may not use this file except in compliance with the License.
6f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * You may obtain a copy of the License at
7f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier *
8f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier *      http://www.apache.org/licenses/LICENSE-2.0
9f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier *
10f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * Unless required by applicable law or agreed to in writing, software
11f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * distributed under the License is distributed on an "AS IS" BASIS,
12f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * See the License for the specific language governing permissions and
14f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier * limitations under the License.
15f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier */
16f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
17f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier#ifndef ART_RUNTIME_PROCESS_STATE_H_
18f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier#define ART_RUNTIME_PROCESS_STATE_H_
19f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
20f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartiernamespace art {
21f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
22f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier// The process state passed in from the activity manager, used to determine when to do trimming
23f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier// and compaction.
24f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartierenum ProcessState {
25f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier  kProcessStateJankPerceptible = 0,
26f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier  kProcessStateJankImperceptible = 1,
27f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier};
28f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
29f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartierstd::ostream& operator<<(std::ostream& os, const ProcessState& process_state);
30f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
31f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier}  // namespace art
32f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier
33f8484c8b55f4b423048f94dfabbe44110a039a9bMathieu Chartier#endif  // ART_RUNTIME_PROCESS_STATE_H_
34