From 0d82948094d9a198e01aa95f64012bdedd5b6fc9 Mon Sep 17 00:00:00 2001 From: buzbee Date: Fri, 11 Oct 2013 15:24:55 -0700 Subject: 64-bit prep Preparation for 64-bit roll. o Eliminated storing pointers in 32-bit int slots in LIR. o General size reductions of common structures to reduce impact of doubled pointer sizes: - BasicBlock struct was 72 bytes, now is 48. - MIR struct was 72 bytes, now is 64. - RegLocation was 12 bytes, now is 8. o Generally replaced uses of BasicBlock* pointers with 16-bit Ids. o Replaced several doubly-linked lists with singly-linked to save one stored pointer per node. o We had quite a few uses of uintptr_t's that were a holdover from the JIT (which used pointers to mapped dex & actual code cache addresses rather than trace-relative offsets). Replaced those with uint32_t's. o Clean up handling of embedded data for switch tables and array data. o Miscellaneous cleanup. I anticipate one or two additional CLs to reduce the size of MIR and LIR structs. Change-Id: I58e426d3f8e5efe64c1146b2823453da99451230 --- compiler/dex/compiler_ir.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'compiler/dex/compiler_ir.h') diff --git a/compiler/dex/compiler_ir.h b/compiler/dex/compiler_ir.h index 6607562b13..bdc31547cb 100644 --- a/compiler/dex/compiler_ir.h +++ b/compiler/dex/compiler_ir.h @@ -90,14 +90,14 @@ struct CompilationUnit { InstructionSet instruction_set; // TODO: much of this info available elsewhere. Go to the original source? - int num_dalvik_registers; // method->registers_size. + uint16_t num_dalvik_registers; // method->registers_size. const uint16_t* insns; - int num_ins; - int num_outs; - int num_regs; // Unlike num_dalvik_registers, does not include ins. + uint16_t num_ins; + uint16_t num_outs; + uint16_t num_regs; // Unlike num_dalvik_registers, does not include ins. // TODO: may want to move this to MIRGraph. - int num_compiler_temps; + uint16_t num_compiler_temps; // If non-empty, apply optimizer/debug flags only to matching methods. std::string compiler_method_match; -- cgit v1.2.3-59-g8ed1b