From 8b20b5c1f5b454b2f8b8bff492c88724b5002600 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Tue, 29 May 2018 15:32:55 +0000 Subject: Revert "Optimize register mask and stack mask in stack maps." This reverts commit ffaf87a429766ed80e6afee5bebea93db539620b. Reason for revert: Breaks exception_test32 on target for CMS and heap poisoning configs. Change-Id: I127c17f693e28211a799f73a50e73105edee7e4c --- compiler/optimizing/stack_map_stream.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'compiler/optimizing/stack_map_stream.h') diff --git a/compiler/optimizing/stack_map_stream.h b/compiler/optimizing/stack_map_stream.h index 19863d882a..ea97cf6530 100644 --- a/compiler/optimizing/stack_map_stream.h +++ b/compiler/optimizing/stack_map_stream.h @@ -68,8 +68,11 @@ class StackMapStream : public ValueObject { location_catalog_entries_indices_(allocator->Adapter(kArenaAllocStackMapStream)), dex_register_locations_(allocator->Adapter(kArenaAllocStackMapStream)), inline_infos_(allocator->Adapter(kArenaAllocStackMapStream)), + stack_masks_(allocator->Adapter(kArenaAllocStackMapStream)), + register_masks_(allocator->Adapter(kArenaAllocStackMapStream)), method_indices_(allocator->Adapter(kArenaAllocStackMapStream)), dex_register_entries_(allocator->Adapter(kArenaAllocStackMapStream)), + stack_mask_max_(-1), out_(allocator->Adapter(kArenaAllocStackMapStream)), dex_map_hash_to_stack_map_indices_(std::less(), allocator->Adapter(kArenaAllocStackMapStream)), @@ -168,6 +171,12 @@ class StackMapStream : public ValueObject { private: size_t ComputeDexRegisterLocationCatalogSize() const; + // Returns the number of unique stack masks. + size_t PrepareStackMasks(size_t entry_size_in_bits); + + // Returns the number of unique register masks. + size_t PrepareRegisterMasks(); + // Prepare and deduplicate method indices. void PrepareMethodIndices(); @@ -208,8 +217,11 @@ class StackMapStream : public ValueObject { // A set of concatenated maps of Dex register locations indices to `location_catalog_entries_`. ScopedArenaVector dex_register_locations_; ScopedArenaVector inline_infos_; + ScopedArenaVector stack_masks_; + ScopedArenaVector register_masks_; ScopedArenaVector method_indices_; ScopedArenaVector dex_register_entries_; + int stack_mask_max_; ScopedArenaVector out_; -- cgit v1.2.3-59-g8ed1b