summaryrefslogtreecommitdiff
path: root/compiler/dex/quick/quick_compiler.h
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2015-09-21 11:36:30 -0700
committer Alex Light <allight@google.com> 2016-01-12 15:40:31 -0800
commit705ad49f353d3f90d8b63625aca2c2035bacdbef (patch)
treeac70af53158a80bc35c057aefae11428281df9ac /compiler/dex/quick/quick_compiler.h
parentfae1db92d8433d0f75258c190bcf2c940731f036 (diff)
Support directly invoking interface default methods
With the Java 8 Language one is allowed to directly call default interface methods of interfaces one (directly) implements through the use of the super keyword. We support this behavior through the invoke-super opcode with the target being an interface. We add 3 tests for this behavior. Currently only supports slow-path interpreter. Invoke-super is currently extremely slow. Bug: 24618811 Change-Id: I7e06e17326f7dbae0116bd7dfefca151f0092bd2
Diffstat (limited to 'compiler/dex/quick/quick_compiler.h')
-rw-r--r--compiler/dex/quick/quick_compiler.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/dex/quick/quick_compiler.h b/compiler/dex/quick/quick_compiler.h
index d512b256cd..55f45f1ab0 100644
--- a/compiler/dex/quick/quick_compiler.h
+++ b/compiler/dex/quick/quick_compiler.h
@@ -18,6 +18,7 @@
#define ART_COMPILER_DEX_QUICK_QUICK_COMPILER_H_
#include "compiler.h"
+#include "dex/mir_graph.h"
namespace art {
@@ -74,6 +75,8 @@ class QuickCompiler : public Compiler {
explicit QuickCompiler(CompilerDriver* driver);
private:
+ bool CanCompileInstruction(const MIR* mir, const DexFile& dex_file) const;
+
std::unique_ptr<PassManager> pre_opt_pass_manager_;
std::unique_ptr<PassManager> post_opt_pass_manager_;
DISALLOW_COPY_AND_ASSIGN(QuickCompiler);