Also encode the InvokeType in an InlineInfo.
This will be needed to recover the call stack.
Change-Id: I2fe10785eb1167939c8cce1862b2d7f4066e16ec
diff --git a/compiler/optimizing/stack_map_stream.cc b/compiler/optimizing/stack_map_stream.cc
index 89035a3..b446815 100644
--- a/compiler/optimizing/stack_map_stream.cc
+++ b/compiler/optimizing/stack_map_stream.cc
@@ -101,11 +101,13 @@
void StackMapStream::BeginInlineInfoEntry(uint32_t method_index,
uint32_t dex_pc,
+ InvokeType invoke_type,
uint32_t num_dex_registers) {
DCHECK(!in_inline_frame_);
in_inline_frame_ = true;
current_inline_info_.method_index = method_index;
current_inline_info_.dex_pc = dex_pc;
+ current_inline_info_.invoke_type = invoke_type;
current_inline_info_.num_dex_registers = num_dex_registers;
current_inline_info_.dex_register_locations_start_index = dex_register_locations_.Size();
if (num_dex_registers != 0) {
@@ -313,6 +315,7 @@
InlineInfoEntry inline_entry = inline_infos_.Get(depth + entry.inline_infos_start_index);
inline_info.SetMethodIndexAtDepth(depth, inline_entry.method_index);
inline_info.SetDexPcAtDepth(depth, inline_entry.dex_pc);
+ inline_info.SetInvokeTypeAtDepth(depth, inline_entry.invoke_type);
if (inline_entry.num_dex_registers == 0) {
// No dex map available.
inline_info.SetDexRegisterMapOffsetAtDepth(depth, StackMap::kNoDexRegisterMap);