From f58c12c79cf11e6d6e3dd7db8f676d1edaf5d68b Mon Sep 17 00:00:00 2001 From: buzbee Date: Tue, 3 Jul 2012 15:06:29 -0700 Subject: Quick compiler - packed switch support Add support for PACKED_SWITCH. Uses the stock llvm switch operator plus additional metadata for the Quick path that the portable path may freely ignore. Change-Id: I3f7cbf9d441d4cc53bf188beeb94d4178fef3e07 --- src/compiler/Frontend.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/compiler/Frontend.cc') diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc index b714065c9f..9fa69115a1 100644 --- a/src/compiler/Frontend.cc +++ b/src/compiler/Frontend.cc @@ -246,6 +246,12 @@ BasicBlock *findBlock(CompilationUnit* cUnit, unsigned int codeOffset, return bb; } +/* Find existing block */ +BasicBlock* oatFindBlock(CompilationUnit* cUnit, unsigned int codeOffset) +{ + return findBlock(cUnit, codeOffset, false, false, NULL); +} + /* Turn method name into a legal Linux file name */ void oatReplaceSpecialChars(std::string& str) { @@ -781,7 +787,7 @@ CompiledMethod* oatCompileMethod(Compiler& compiler, || (PrettyMethod(method_idx, dex_file).find("FloatMath") != std::string::npos) || (PrettyMethod(method_idx, dex_file).find("Goto") != std::string::npos) || (PrettyMethod(method_idx, dex_file).find("InternedString") != std::string::npos) - // || (PrettyMethod(method_idx, dex_file).find("IntMath") != std::string::npos) + || (PrettyMethod(method_idx, dex_file).find("IntMath") != std::string::npos) || (PrettyMethod(method_idx, dex_file).find("InstField") != std::string::npos) || (PrettyMethod(method_idx, dex_file).find("MethodCall") != std::string::npos) || (PrettyMethod(method_idx, dex_file).find("Monitor") != std::string::npos) -- cgit v1.2.3-59-g8ed1b