diff options
Diffstat (limited to 'src/compiler/CompilerIR.h')
-rw-r--r-- | src/compiler/CompilerIR.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h index 56ae4867c3..434320d2e7 100644 --- a/src/compiler/CompilerIR.h +++ b/src/compiler/CompilerIR.h @@ -426,7 +426,18 @@ struct CompilationUnit { AssemblerStatus assemblerStatus; // Success or fix and retry int assemblerRetries; std::vector<uint8_t> codeBuffer; - std::vector<uint32_t> mappingTable; + /* + * Holds mapping from native PC to dex PC for safepoints where we may deoptimize. + * Native PC is on the return address of the safepointed operation. Dex PC is for + * the instruction being executed at the safepoint. + */ + std::vector<uint32_t> pc2dexMappingTable; + /* + * Holds mapping from Dex PC to native PC for catch entry points. Native PC and Dex PC + * immediately preceed the instruction. + */ + std::vector<uint32_t> dex2pcMappingTable; + std::vector<uint32_t> combinedMappingTable; std::vector<uint32_t> coreVmapTable; std::vector<uint32_t> fpVmapTable; std::vector<uint8_t> nativeGcMap; |