Remove unnecessary checks for small methods.
Remove unnecessary shadow frames, suspend checks, stack overflow checks,
null pointer checks for small methods.
Change-Id: I4e67e2d38a398ff62b84a74265efb26ce054fab3
diff --git a/src/compiler_llvm/method_compiler.h b/src/compiler_llvm/method_compiler.h
index e815e3b..598a337 100644
--- a/src/compiler_llvm/method_compiler.h
+++ b/src/compiler_llvm/method_compiler.h
@@ -434,6 +434,18 @@
EmitStoreDalvikRetValReg(GetJTypeFromShorty(shorty), space, new_value);
}
+ // TODO: Use high-level IR to do this
+
+ struct MethodInfo {
+ int64_t this_reg_idx;
+ bool this_will_not_be_null;
+ bool has_invoke;
+ bool need_shadow_frame_entry;
+ bool need_shadow_frame;
+ };
+ MethodInfo method_info_;
+
+ void ComputeMethodInfo();
private:
CompilationUnit* cunit_;