From a00b54b74bee06c006b8bebfbef85e2801de293c Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 3 Dec 2019 14:36:42 +0000 Subject: Helpers and refactorings to prepare for interpreter optimizations (x64) - Add data structure offsets that will be used in assembly code. - Be explicit about a stack overflow in a fault handler. - Move assembly helper code in asm_support so interpreter can use it. - Support putting literals in InterpreterCache. - Fix artHandleFillArrayDataFromCode for x64. Bug: 119800099 Test: test.py Change-Id: I2729f87fe5d09c04ae2e7081636f0cd89ac14c21 --- tools/cpp-define-generator/code_item.def | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tools/cpp-define-generator/code_item.def (limited to 'tools/cpp-define-generator/code_item.def') diff --git a/tools/cpp-define-generator/code_item.def b/tools/cpp-define-generator/code_item.def new file mode 100644 index 0000000000..01b0e85adf --- /dev/null +++ b/tools/cpp-define-generator/code_item.def @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if ASM_DEFINE_INCLUDE_DEPENDENCIES +#include "dex/standard_dex_file.h" +#endif + +ASM_DEFINE(CODE_ITEM_REGISTERS_SIZE_OFFSET, + art::StandardDexFile::CodeItem::RegistersSizeOffset()) +ASM_DEFINE(CODE_ITEM_INS_SIZE_OFFSET, + art::StandardDexFile::CodeItem::InsSizeOffset()) +ASM_DEFINE(CODE_ITEM_OUTS_SIZE_OFFSET, + art::StandardDexFile::CodeItem::OutsSizeOffset()) +ASM_DEFINE(CODE_ITEM_INSNS_OFFSET, + art::StandardDexFile::CodeItem::InsnsOffset()) -- cgit v1.2.3-59-g8ed1b