From 729645a937eb9f04a311b3c22471dcf3ebe9bcec Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 19 Nov 2015 13:29:02 +0000 Subject: Explicitly add HLoadClass/HClinitCheck for HNewInstance. bug:25735083 bug:25173758 Change-Id: Ie81cfa4fa9c47cc025edb291cdedd7af209a03db --- compiler/optimizing/builder.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'compiler/optimizing/builder.h') 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 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 -- cgit v1.2.3-59-g8ed1b