Refactor BuildInvoke.

BuildInvoke got to be too complex an unreadble. This breaks it down in
smaller pieces.

Change-Id: Ibda63f69f5a1be537ae13e18a5f67c361173f4a6
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index 08600c7..c179ea2 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -272,6 +272,19 @@
                                                           uintptr_t direct_method,
                                                           uintptr_t direct_code);
 
+  bool SetupArgumentsForInvoke(HInvoke* invoke,
+                               uint32_t number_of_vreg_arguments,
+                               uint32_t* args,
+                               uint32_t register_index,
+                               bool is_range,
+                               const char* descriptor,
+                               HClinitCheck* clinit_check);
+
+  HClinitCheck* ProcessClinitCheckForInvoke(
+      uint32_t dex_pc,
+      uint32_t method_idx,
+      HInvokeStaticOrDirect::ClinitCheckRequirement* clinit_check_requirement);
+
   ArenaAllocator* const arena_;
 
   // A list of the size of the dex code holding block information for