summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 754b5ecd0e..b3c4d727e0 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -229,7 +229,11 @@ class CodeGenerator {
return (fpu_callee_save_mask_ & (1 << reg)) != 0;
}
+ // Record native to dex mapping for a suspend point. Required by runtime.
void RecordPcInfo(HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path = nullptr);
+ // Record additional native to dex mappings for native debugging/profiling tools.
+ void RecordNativeDebugInfo(uint32_t dex_pc, uintptr_t native_pc_begin, uintptr_t native_pc_end);
+
bool CanMoveNullCheckToUser(HNullCheck* null_check);
void MaybeRecordImplicitNullCheck(HInstruction* instruction);
@@ -237,7 +241,8 @@ class CodeGenerator {
slow_paths_.Add(slow_path);
}
- void BuildSourceMap(DefaultSrcMap* src_map) const;
+ void SetSrcMap(DefaultSrcMap* src_map) { src_map_ = src_map; }
+
void BuildMappingTable(ArenaVector<uint8_t>* vector) const;
void BuildVMapTable(ArenaVector<uint8_t>* vector) const;
void BuildNativeGCMap(
@@ -395,6 +400,7 @@ class CodeGenerator {
disasm_info_(nullptr),
graph_(graph),
compiler_options_(compiler_options),
+ src_map_(nullptr),
slow_paths_(graph->GetArena(), 8),
current_block_index_(0),
is_leaf_(true),
@@ -489,6 +495,8 @@ class CodeGenerator {
HGraph* const graph_;
const CompilerOptions& compiler_options_;
+ // Native to dex_pc map used for native debugging/profiling tools.
+ DefaultSrcMap* src_map_;
GrowableArray<SlowPathCode*> slow_paths_;
// The current block index in `block_order_` of the block