summaryrefslogtreecommitdiff
path: root/compiler/optimizing/builder.h
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2015-08-18 17:08:12 +0100
committer Calin Juravle <calin@google.com> 2015-08-20 12:57:10 +0100
commit68ad649d3918f2eed3a37209c01a7f0a0faf09f0 (patch)
tree5d6a004a79bffc5c02af02f325faa8df5f8cad52 /compiler/optimizing/builder.h
parentbffabfce093e26bffb9e820a8f6b45474d28787a (diff)
Refactor BuildInvoke.
BuildInvoke got to be too complex an unreadble. This breaks it down in smaller pieces. Change-Id: Ibda63f69f5a1be537ae13e18a5f67c361173f4a6
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r--compiler/optimizing/builder.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index 08600c756d..c179ea2ce1 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -272,6 +272,19 @@ class HGraphBuilder : public ValueObject {
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