diff options
author | 2017-02-16 02:03:30 +0000 | |
---|---|---|
committer | 2017-02-16 02:03:30 +0000 | |
commit | 9fb10fb39bcb3d9a4dc7e16f8c1d38dcc112639c (patch) | |
tree | 031b225f354460292f43210960ff200067123ab2 /compiler/optimizing/stack_map_stream.h | |
parent | 28de3b69db7f79852b93dc1c94c7402ba2e99e0b (diff) | |
parent | d776ff08e07494327716f0d2ea1a774b2ebfbca9 (diff) |
Merge "Add invoke infos to stack maps"
Diffstat (limited to 'compiler/optimizing/stack_map_stream.h')
-rw-r--r-- | compiler/optimizing/stack_map_stream.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/optimizing/stack_map_stream.h b/compiler/optimizing/stack_map_stream.h index bba3d51e62..4225a875b9 100644 --- a/compiler/optimizing/stack_map_stream.h +++ b/compiler/optimizing/stack_map_stream.h @@ -118,6 +118,8 @@ class StackMapStream : public ValueObject { uint32_t register_mask_index; DexRegisterMapEntry dex_register_entry; size_t dex_register_map_index; + InvokeType invoke_type; + uint32_t dex_method_index; }; struct InlineInfoEntry { @@ -138,6 +140,8 @@ class StackMapStream : public ValueObject { void AddDexRegisterEntry(DexRegisterLocation::Kind kind, int32_t value); + void AddInvoke(InvokeType type, uint32_t dex_method_index); + void BeginInlineInfoEntry(ArtMethod* method, uint32_t dex_pc, uint32_t num_dex_registers, @@ -184,6 +188,14 @@ class StackMapStream : public ValueObject { bool DexRegisterMapEntryEquals(const DexRegisterMapEntry& a, const DexRegisterMapEntry& b) const; // Fill in the corresponding entries of a register map. + void ComputeInvokeInfoEncoding(CodeInfoEncoding* encoding); + + // Returns the index of an entry with the same dex register map as the current_entry, + // or kNoSameDexMapFound if no such entry exists. + size_t FindEntryWithTheSameDexMap(); + bool HaveTheSameDexMaps(const StackMapEntry& a, const StackMapEntry& b) const; + + // Fill in the corresponding entries of a register map. void FillInDexRegisterMap(DexRegisterMap dex_register_map, uint32_t num_dex_registers, const BitVector& live_dex_registers_mask, |