From af6925b7fe5dc5a3c8d52ee3370e86e75400f873 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Fri, 31 Oct 2014 16:37:32 +0000 Subject: Rewrite GVN's field id and field type handling. Create a helper unit for dex insn classification and cache dex field type (as encoded in the insn) in the MirFieldInfo. Use this for cleanup and a few additional DCHECKs. Change the GVN's field id to match the field lowering info index (MIR::meta::{i,s}field_lowering_info), except where multiple indexes refer to the same field and we use the lowest of the applicable indexes. Use the MirMethodInfo from MIRGraph to retrieve field type for GVN using this index. This slightly reduces GVN compilation time and prepares for further compilation time improvements. Change-Id: I1b1247cdb8e8b6897254e2180f3230f10159bed5 --- runtime/quick/inline_method_analyser.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'runtime/quick/inline_method_analyser.h') diff --git a/runtime/quick/inline_method_analyser.h b/runtime/quick/inline_method_analyser.h index a8d4308952..72b696b2d5 100644 --- a/runtime/quick/inline_method_analyser.h +++ b/runtime/quick/inline_method_analyser.h @@ -106,9 +106,7 @@ enum IntrinsicFlags { }; struct InlineIGetIPutData { - // The op_variant below is opcode-Instruction::IGET for IGETs and - // opcode-Instruction::IPUT for IPUTs. This is because the runtime - // doesn't know the OpSize enumeration. + // The op_variant below is DexMemAccessType but the runtime doesn't know that enumeration. uint16_t op_variant : 3; uint16_t method_is_static : 1; uint16_t object_arg : 4; -- cgit v1.2.3-59-g8ed1b