1/* 2 * Copyright (C) 2019 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#if ASM_DEFINE_INCLUDE_DEPENDENCIES 18#include "dex/standard_dex_file.h" 19#include "dex/compact_dex_file.h" 20#endif 21 22ASM_DEFINE(CODE_ITEM_REGISTERS_SIZE_OFFSET, 23 art::StandardDexFile::CodeItem::RegistersSizeOffset()) 24ASM_DEFINE(CODE_ITEM_INS_SIZE_OFFSET, 25 art::StandardDexFile::CodeItem::InsSizeOffset()) 26ASM_DEFINE(CODE_ITEM_OUTS_SIZE_OFFSET, 27 art::StandardDexFile::CodeItem::OutsSizeOffset()) 28ASM_DEFINE(CODE_ITEM_INSNS_OFFSET, 29 art::StandardDexFile::CodeItem::InsnsOffset()) 30 31ASM_DEFINE(COMPACT_CODE_ITEM_FIELDS_OFFSET, 32 art::CompactDexFile::CodeItem::FieldsOffset()) 33ASM_DEFINE(COMPACT_CODE_ITEM_FLAGS_OFFSET, 34 art::CompactDexFile::CodeItem::InsnsCountAndFlagsOffset()) 35ASM_DEFINE(COMPACT_CODE_ITEM_INSNS_OFFSET, 36 art::CompactDexFile::CodeItem::InsnsOffset()) 37 38ASM_DEFINE(COMPACT_CODE_ITEM_REGISTERS_INS_OUTS_FLAGS, 39 art::CompactDexFile::CodeItem::kFlagPreHeaderRegistersSize | 40 art::CompactDexFile::CodeItem::kFlagPreHeaderInsSize | 41 art::CompactDexFile::CodeItem::kFlagPreHeaderOutsSize) 42ASM_DEFINE(COMPACT_CODE_ITEM_REGISTERS_FLAG, 43 art::CompactDexFile::CodeItem::kFlagPreHeaderRegistersSize) 44ASM_DEFINE(COMPACT_CODE_ITEM_INS_FLAG, 45 art::CompactDexFile::CodeItem::kFlagPreHeaderInsSize) 46ASM_DEFINE(COMPACT_CODE_ITEM_OUTS_FLAG, 47 art::CompactDexFile::CodeItem::kFlagPreHeaderOutsSize) 48ASM_DEFINE(COMPACT_CODE_ITEM_INSNS_FLAG, 49 art::CompactDexFile::CodeItem::kFlagPreHeaderInsnsSize) 50ASM_DEFINE(COMPACT_CODE_ITEM_REGISTERS_BIT, 51 art::CompactDexFile::CodeItem::kBitPreHeaderRegistersSize) 52ASM_DEFINE(COMPACT_CODE_ITEM_INS_BIT, 53 art::CompactDexFile::CodeItem::kBitPreHeaderInsSize) 54ASM_DEFINE(COMPACT_CODE_ITEM_OUTS_BIT, 55 art::CompactDexFile::CodeItem::kBitPreHeaderOutsSize) 56ASM_DEFINE(COMPACT_CODE_ITEM_INSNS_BIT, 57 art::CompactDexFile::CodeItem::kBitPreHeaderInsnsSize) 58ASM_DEFINE(COMPACT_CODE_ITEM_REGISTERS_SIZE_SHIFT, 59 art::CompactDexFile::CodeItem::kRegistersSizeShift) 60ASM_DEFINE(COMPACT_CODE_ITEM_INS_SIZE_SHIFT, 61 art::CompactDexFile::CodeItem::kInsSizeShift) 62ASM_DEFINE(COMPACT_CODE_ITEM_OUTS_SIZE_SHIFT, 63 art::CompactDexFile::CodeItem::kOutsSizeShift) 64