summaryrefslogtreecommitdiff
path: root/compiler/optimizing/builder.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-11-19 13:29:02 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2015-11-20 22:19:02 +0000
commit729645a937eb9f04a311b3c22471dcf3ebe9bcec (patch)
tree100c5d843a4d436b166d52e7a463ef6b283abc8c /compiler/optimizing/builder.h
parentd846a2cc45aae5b1c84b5ac51cdd37a22b8447ff (diff)
Explicitly add HLoadClass/HClinitCheck for HNewInstance.
bug:25735083 bug:25173758 Change-Id: Ie81cfa4fa9c47cc025edb291cdedd7af209a03db
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r--compiler/optimizing/builder.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index f857ef0e12..615b0cd738 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -308,6 +308,14 @@ class HGraphBuilder : public ValueObject {
uint32_t method_idx,
HInvokeStaticOrDirect::ClinitCheckRequirement* clinit_check_requirement);
+ // Build a HNewInstance instruction.
+ bool BuildNewInstance(uint16_t type_index, uint32_t dex_pc);
+
+ // Return whether the compiler can assume `cls` is initialized. `type_index` is the index
+ // of the class in the outer dex file.
+ bool IsInitialized(Handle<mirror::Class> cls, uint16_t type_index) const
+ SHARED_REQUIRES(Locks::mutator_lock_);
+
ArenaAllocator* const arena_;
// A list of the size of the dex code holding block information for