diff options
| author | 2012-11-23 09:41:35 -0800 | |
|---|---|---|
| committer | 2012-11-25 13:22:45 -0800 | |
| commit | 02031b185b4653e6c72e21f7a51238b903f6d638 (patch) | |
| tree | 0fae8dbc0a15d4ed379768bdc7adf1910b1d46af /src/compiler/codegen/gen_invoke.h | |
| parent | 90ad9639047a8acbd563247f8869f825cf80e576 (diff) | |
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
Diffstat (limited to 'src/compiler/codegen/gen_invoke.h')
| -rw-r--r-- | src/compiler/codegen/gen_invoke.h | 41 |
1 files changed, 0 insertions, 41 deletions
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_ |