blob: d0d6350f807b16567c0ec85b96d4d1f6e4143a38 [file] [log] [blame]
Igor Murashkin311fdf52016-07-22 15:59:16 -07001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17// Export global values.
18
19#if defined(DEFINE_INCLUDE_DEPENDENCIES)
Alexey Frunze279cfba2017-07-22 00:24:43 -070020#include <atomic> // std::memory_order_relaxed
David Sehr1979c642018-04-26 14:41:18 -070021#include "base/globals.h" // art::kObjectAlignment
David Sehr8c0961f2018-01-23 16:11:38 -080022#include "dex/modifiers.h"
Igor Murashkin311fdf52016-07-22 15:59:16 -070023#endif
24
Alexey Frunze279cfba2017-07-22 00:24:43 -070025DEFINE_EXPR(STD_MEMORY_ORDER_RELAXED, int32_t, std::memory_order_relaxed)
26
Igor Murashkin311fdf52016-07-22 15:59:16 -070027#define DEFINE_OBJECT_EXPR(macro_name, type, constant_field_name) \
28 DEFINE_EXPR(OBJECT_ ## macro_name, type, constant_field_name)
29
30DEFINE_OBJECT_EXPR(ALIGNMENT_MASK, size_t, art::kObjectAlignment - 1)
31DEFINE_OBJECT_EXPR(ALIGNMENT_MASK_TOGGLED, uint32_t, ~static_cast<uint32_t>(art::kObjectAlignment - 1))
Mathieu Chartier2ee98f22016-08-10 10:08:58 -070032DEFINE_OBJECT_EXPR(ALIGNMENT_MASK_TOGGLED64, uint64_t, ~static_cast<uint64_t>(art::kObjectAlignment - 1))
Igor Murashkin311fdf52016-07-22 15:59:16 -070033
Vladimir Marko5122e6b2017-08-17 16:10:09 +010034DEFINE_EXPR(ACC_OBSOLETE_METHOD, int32_t, art::kAccObsoleteMethod)
35DEFINE_EXPR(ACC_OBSOLETE_METHOD_SHIFT, int32_t, art::WhichPowerOf2(art::kAccObsoleteMethod))
36
Igor Murashkin311fdf52016-07-22 15:59:16 -070037#undef DEFINE_OBJECT_EXPR
38