summaryrefslogtreecommitdiff
path: root/compiler/optimizing/sharpening.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-12-16 16:09:08 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2016-12-19 16:55:11 +0000
commit568763405f6eb7cb78fd39272569e30fe21be85e (patch)
tree10ecca06c9fa73a0d74b6dbdd7edb7c5c867014b /compiler/optimizing/sharpening.h
parent20b66e727a927267bc472958e86f9b4ada42c7fc (diff)
Sharpen HLoadClass from inliner.
Also cleanup HLoadClass constructor. Test: ART_TEST_JIT=true m test-art-host-run-test Change-Id: I8f803b05fb8a7267d1421ca9c032e624f27efed3
Diffstat (limited to 'compiler/optimizing/sharpening.h')
-rw-r--r--compiler/optimizing/sharpening.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/sharpening.h b/compiler/optimizing/sharpening.h
index 74189549fd..ae5ccb33ab 100644
--- a/compiler/optimizing/sharpening.h
+++ b/compiler/optimizing/sharpening.h
@@ -47,6 +47,14 @@ class HSharpening : public HOptimization {
static constexpr const char* kSharpeningPassName = "sharpening";
+ // Used internally but also by the inliner.
+ static void SharpenClass(HLoadClass* load_class,
+ mirror::Class* klass,
+ VariableSizedHandleScope* handles,
+ CodeGenerator* codegen,
+ CompilerDriver* compiler_driver)
+ REQUIRES_SHARED(Locks::mutator_lock_);
+
private:
void ProcessInvokeStaticOrDirect(HInvokeStaticOrDirect* invoke);
void ProcessLoadClass(HLoadClass* load_class);