blob: e9bbf91761447f68fc10b3dafe7e459b84495ac9 [file] [log] [blame]
Elliott Hughes2faa5f12012-01-30 14:42:07 -08001/*
2 * Copyright (C) 2011 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 */
Ian Rogers9651f422011-09-19 20:26:07 -070016
Brian Carlstromfc0e3212013-07-17 14:40:12 -070017#ifndef ART_RUNTIME_ASM_SUPPORT_H_
18#define ART_RUNTIME_ASM_SUPPORT_H_
Ian Rogers9651f422011-09-19 20:26:07 -070019
Ian Rogers4b07f172013-02-07 08:29:42 -080020// Value loaded into rSUSPEND for quick. When this value is counted down to zero we do a suspend
21// check.
Ian Rogers4a510d82011-10-09 14:30:24 -070022#define SUSPEND_CHECK_INTERVAL (1000)
23
Ian Rogersd9c4fc92013-10-01 19:45:43 -070024// Offsets within java.lang.Object.
Ian Rogersa9a82542013-10-04 11:17:26 -070025#define CLASS_OFFSET 0
Ian Rogersd9c4fc92013-10-01 19:45:43 -070026#define LOCK_WORD_OFFSET 4
27
Ian Rogersa9a82542013-10-04 11:17:26 -070028// Offsets within java.lang.Class.
29#define CLASS_COMPONENT_TYPE_OFFSET 12
30
31// Array offsets.
32#define ARRAY_LENGTH_OFFSET 8
33#define OBJECT_ARRAY_DATA_OFFSET 12
34
Ian Rogers4b07f172013-02-07 08:29:42 -080035// Offsets within java.lang.String.
buzbeefc9e6fa2012-03-23 15:14:29 -070036#define STRING_VALUE_OFFSET 8
37#define STRING_COUNT_OFFSET 12
38#define STRING_OFFSET_OFFSET 20
39#define STRING_DATA_OFFSET 12
40
Jeff Hao88474b42013-10-23 16:24:40 -070041// Offsets within java.lang.Method.
42#define METHOD_DEX_CACHE_METHODS_OFFSET 16
Jeff Haoaa4a7932013-05-13 11:28:27 -070043#define METHOD_CODE_OFFSET 40
Jeff Hao5d917302013-02-27 17:57:33 -080044
Brian Carlstromfc0e3212013-07-17 14:40:12 -070045#endif // ART_RUNTIME_ASM_SUPPORT_H_