From 02031b185b4653e6c72e21f7a51238b903f6d638 Mon Sep 17 00:00:00 2001 From: buzbee Date: Fri, 23 Nov 2012 09:41:35 -0800 Subject: Quick compiler: Single .so for all targets With this CL, all targets can be built into a single .so (but we're not yet doing so - the compiler driver needs to be reworked). A new Codgen class is introduced (see compiler/codegen/codegen.h), along with target-specific sub-classes ArmCodegen, MipsCodegens and X86Codegen (see compiler/codegen/*/codegen_[Arm|Mips|X86].h). Additional minor code, comment and format refactoring. Some source files combined, temporary header files deleted and a few file renames to better identify their function. Next up is combining the Quick and Portable .so files. Note: building all targets into libdvm-compiler.so increases its size by 140K bytes. I'm inclined to not bother introducing conditional compilation to limit code to the specific target - the added build and testing complexity doesn't doesn't seem worth such a modest size savings. Change-Id: Id9c5b4502ad6b77cdb31f71d3126f51a4f2e9dfe --- src/compiler/codegen/gen_invoke.h | 41 --------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 src/compiler/codegen/gen_invoke.h (limited to 'src/compiler/codegen/gen_invoke.h') diff --git a/src/compiler/codegen/gen_invoke.h b/src/compiler/codegen/gen_invoke.h deleted file mode 100644 index c2d32fe9da..0000000000 --- a/src/compiler/codegen/gen_invoke.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2011 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. - */ - -#ifndef ART_SRC_COMPILER_CODEGEN_GENINVOKE_H_ -#define ART_SRC_COMPILER_CODEGEN_GENINVOKE_H_ - -typedef int (*NextCallInsn)(CompilationUnit*, CallInfo*, int, uint32_t dex_idx, - uint32_t method_idx, uintptr_t direct_code, - uintptr_t direct_method, InvokeType type); - -void FlushIns(CompilationUnit* cu, RegLocation* ArgLocs, RegLocation rl_method); -int GenDalvikArgsNoRange(CompilationUnit* cu, CallInfo* info, int call_state, LIR** pcrLabel, NextCallInsn next_call_insn, uint32_t dex_idx, uint32_t method_idx, uintptr_t direct_code, uintptr_t direct_method, InvokeType type, bool skip_this); -int GenDalvikArgsRange(CompilationUnit* cu, CallInfo* info, int call_state, LIR** pcrLabel, NextCallInsn next_call_insn, uint32_t dex_idx, uint32_t method_idx, uintptr_t direct_code, uintptr_t direct_method, InvokeType type, bool skip_this); -RegLocation InlineTarget(CompilationUnit* cu, CallInfo* info); -RegLocation InlineTargetWide(CompilationUnit* cu, CallInfo* info); -bool GenInlinedCharAt(CompilationUnit* cu, CallInfo* info); -bool GenInlinedStringIsEmptyOrLength(CompilationUnit* cu, CallInfo* info, bool is_empty); -bool GenInlinedAbsInt(CompilationUnit *cu, CallInfo* info); -bool GenInlinedAbsLong(CompilationUnit *cu, CallInfo* info); -bool GenInlinedFloatCvt(CompilationUnit *cu, CallInfo* info); -bool GenInlinedDoubleCvt(CompilationUnit *cu, CallInfo* info); -bool GenInlinedIndexOf(CompilationUnit* cu, CallInfo* info, bool zero_based); -bool GenInlinedStringCompareTo(CompilationUnit* cu, CallInfo* info); -bool GenIntrinsic(CompilationUnit* cu, CallInfo* info); -void GenInvoke(CompilationUnit* cu, CallInfo* info); -CallInfo* NewMemCallInfo(CompilationUnit* cu, BasicBlock* bb, MIR* mir, InvokeType type, bool is_range); - -#endif // ART_SRC_COMPILER_CODEGEN_GENINVOKE_H_ -- cgit v1.2.3-59-g8ed1b