diff options
author | 2015-11-19 13:29:02 +0000 | |
---|---|---|
committer | 2015-11-20 22:19:02 +0000 | |
commit | 729645a937eb9f04a311b3c22471dcf3ebe9bcec (patch) | |
tree | 100c5d843a4d436b166d52e7a463ef6b283abc8c /compiler/optimizing/builder.h | |
parent | d846a2cc45aae5b1c84b5ac51cdd37a22b8447ff (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.h | 8 |
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 |