tree 2d6e647b5c33c79ff73a25ed16a19eae83d459a7
parent 5ac6215b93a2b4748a9dfa494bc63ee67ef88110
author Mathias Rav <mathiasr@google.com> 1526372029 +0200
committer Mathias Rav <mathiasr@google.com> 1526372029 +0200

CF backend: Implement inlining

Implement CfCode.buildIR() and buildInliningIR() by introducing
CfSourceCode and CfState.

A couple of cases in CfStackInstruction do not have any test coverage
and are therefore disabled by throwing Unimplemented:

- Pop2 of two narrow values
- DupX2 of wide value
- Dup2X1 of narrow value
- Dup2X2
- Swap

Since these instructions are not emitted by CfBuilder, they are not
needed for inlining. All other CfInstructions implement the buildIR()
method for conversion to IR.

Other changes:

* Rename CfSwitch::getTargets -> getSwitchTargets.

* Add CfInstruction methods canThrow(), getTarget(),
  isConditionalJump(), isReturn(), emitsIR().

* Fix LazyCfCode.createTypeFromInternalType().

* Outliner: Set class file version 50.0 on GeneratedOutlineSupport.
  This is required to support outlining.

* Implement CfCode.estimatedSizeForInlining().  This is required to
  support inlining.  Introduce Code.estimatedSizeForInliningAtMost() to
  make inlining check more efficient for methods with large instruction
  lists.

* Catch AssertionError when calling Instruction.getPosition().

* Add NopDebugTestRunner.

Bug: 75997473
Change-Id: Id4f82a0d58997a55450c3488dffb7a297a5ea4fa