Implement direct apk -> boot calling
Also sharpen super calls.
Change-Id: Ie4d3ab2cbf2961a06ec86762a53132f49a4ed922
diff --git a/src/compiler.h b/src/compiler.h
index aa32854..f5f5f9f 100644
--- a/src/compiler.h
+++ b/src/compiler.h
@@ -115,7 +115,7 @@
// Can we fastpath a interface, super class or virtual method call? Computes method's vtable index
bool ComputeInvokeInfo(uint32_t method_idx, OatCompilationUnit* mUnit, InvokeType& type,
- int& vtable_idx);
+ int& vtable_idx, uintptr_t& direct_code, uintptr_t& direct_method);
#if defined(ART_USE_LLVM_COMPILER)
void SetElfFileName(std::string const& filename);
@@ -134,6 +134,10 @@
private:
+ // Compute constant code and method pointers when possible
+ void GetCodeAndMethodForDirectCall(InvokeType type, InvokeType sharp_type,Method* method,
+ uintptr_t& direct_code, uintptr_t& direct_method);
+
// Checks if class specified by type_idx is one of the image_classes_
bool IsImageClass(const std::string& descriptor) const;