diff options
author | David Srbecky <dsrbecky@google.com> | 2018-07-15 23:58:44 +0100 |
---|---|---|
committer | David Srbecky <dsrbecky@google.com> | 2018-08-01 14:49:40 +0100 |
commit | 8cd54547cec8a4537db5682c2da8be22843b1310 (patch) | |
tree | fb1158993bab2e027984cedab59b402c051a45a7 /compiler/optimizing/stack_map_stream.h | |
parent | 91f0fdb4372d3f2bcfcd9db67afcbe7ee1901048 (diff) |
Move MethodInfo to CodeInfo.
There is no need to treat it specially any more,
because of the de-duplication at BitTable level.
This saves 0.6% of oat file size.
Test: test-art-host-gtest
Change-Id: Ife7927d736243879a41d6f325d49ebf6930a63f6
Diffstat (limited to 'compiler/optimizing/stack_map_stream.h')
-rw-r--r-- | compiler/optimizing/stack_map_stream.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/compiler/optimizing/stack_map_stream.h b/compiler/optimizing/stack_map_stream.h index 203c2cdf84..de79f4921e 100644 --- a/compiler/optimizing/stack_map_stream.h +++ b/compiler/optimizing/stack_map_stream.h @@ -25,7 +25,6 @@ #include "base/scoped_arena_containers.h" #include "base/value_object.h" #include "dex_register_location.h" -#include "method_info.h" #include "nodes.h" #include "stack_map.h" @@ -40,14 +39,14 @@ class StackMapStream : public ValueObject { explicit StackMapStream(ScopedArenaAllocator* allocator, InstructionSet instruction_set) : instruction_set_(instruction_set), stack_maps_(allocator), + inline_infos_(allocator), + method_infos_(allocator), register_masks_(allocator), stack_masks_(allocator), - inline_infos_(allocator), dex_register_masks_(allocator), dex_register_maps_(allocator), dex_register_catalog_(allocator), out_(allocator->Adapter(kArenaAllocStackMapStream)), - method_infos_(allocator), lazy_stack_masks_(allocator->Adapter(kArenaAllocStackMapStream)), current_stack_map_(), current_inline_infos_(allocator->Adapter(kArenaAllocStackMapStream)), @@ -92,9 +91,6 @@ class StackMapStream : public ValueObject { // Returns the size (in bytes) needed to store this stream. size_t PrepareForFillIn(); void FillInCodeInfo(MemoryRegion region); - void FillInMethodInfo(MemoryRegion region); - - size_t ComputeMethodInfoSize() const; private: static constexpr uint32_t kNoValue = -1; @@ -107,16 +103,15 @@ class StackMapStream : public ValueObject { uint32_t fp_spill_mask_ = 0; uint32_t num_dex_registers_ = 0; BitTableBuilder<StackMap> stack_maps_; + BitTableBuilder<InlineInfo> inline_infos_; + BitTableBuilder<MethodInfo> method_infos_; BitTableBuilder<RegisterMask> register_masks_; BitmapTableBuilder stack_masks_; - BitTableBuilder<InlineInfo> inline_infos_; BitmapTableBuilder dex_register_masks_; BitTableBuilder<MaskInfo> dex_register_maps_; BitTableBuilder<DexRegisterInfo> dex_register_catalog_; ScopedArenaVector<uint8_t> out_; - BitTableBuilderBase<1> method_infos_; - ScopedArenaVector<BitVector*> lazy_stack_masks_; // Variables which track the current state between Begin/End calls; |