diff options
author | Roland Levillain <rpl@google.com> | 2015-04-28 11:00:54 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2015-04-28 11:00:54 +0100 |
commit | 3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28 (patch) | |
tree | 69ad3378263c9a4b967cb7e27de0027264c12eb6 /compiler/optimizing/code_generator.cc | |
parent | a0ee862288b702468f8c2b6d0ad0f1c61be0b483 (diff) | |
download | art-3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28.tar.gz art-3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28.tar.bz2 art-3e3d73349a2de81d14e2279f60ffbd9ab3f3ac28.zip |
Have HInvoke instructions know their number of actual arguments.
Add an art::HInvoke::GetNumberOfArguments routine so that
art::HInvoke and its subclasses can return the number of
actual arguments of the called method. Use it in code
generators and intrinsics handlers.
Consequently, no longer remove a clinit check as last input
of a static invoke if it is still present during baseline
code generation, but ensure that static invokes have no such
check as last input in optimized compilations.
Change-Id: Iaf9e07d1057a3b15b83d9638538c02b70211e476
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 5163395cac..cfe121e0ec 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -153,6 +153,7 @@ HBasicBlock* CodeGenerator::FirstNonEmptyBlock(HBasicBlock* block) const { } void CodeGenerator::CompileInternal(CodeAllocator* allocator, bool is_baseline) { + is_baseline_ = is_baseline; HGraphVisitor* instruction_visitor = GetInstructionVisitor(); DCHECK_EQ(current_block_index_, 0u); GenerateFrameEntry(); |