summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/mips/MipsLIR.h
diff options
context:
space:
mode:
author Bill Buzbee <buzbee@google.com> 2012-09-28 07:19:44 -0700
committer buzbee <buzbee@google.com> 2012-09-28 15:41:57 -0700
commita5b3024aed77a8204d5fb48ba7f763fb8c60fa76 (patch)
treed9b046896b73519302c8b54a97a3abfa8ecfdf4c /src/compiler/codegen/mips/MipsLIR.h
parenta75a01313e801c53145df00bad1842d9f643c0a1 (diff)
Split dex_pc<->native_pc mapping table
First of 2 related CLs - this one moves to a split table, a future CL will compress the table to save image space. The current MappingTable mixes two flavors of entries: dex->pc and pc(return address)->dex. The problem is that we can have two entries with the same native pc address but two different dex pcs. The reason is that when we go from native pc to dex, the native pc is actually the return address from the previous call, whereas when we go from dex to native pc, the mapping refers to the first native instruction of the sequence. Previously, the first entry in the mapping table was the number of subsequent entries. That will remain the same, but now the second entry will be a count of the number of entries in the pc->dex section of the table. The difference between the two counts gives us the number of entries in the following dex->pc section. Change-Id: Ibadb96cb50bf1f93e079dff3832130b9f9782723
Diffstat (limited to 'src/compiler/codegen/mips/MipsLIR.h')
-rw-r--r--src/compiler/codegen/mips/MipsLIR.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/codegen/mips/MipsLIR.h b/src/compiler/codegen/mips/MipsLIR.h
index c78cd8dc1c..0f6226f963 100644
--- a/src/compiler/codegen/mips/MipsLIR.h
+++ b/src/compiler/codegen/mips/MipsLIR.h
@@ -333,6 +333,7 @@ enum MipsShiftEncodings {
* Assemble.cc.
*/
enum MipsOpCode {
+ kPseudoExportedPC = -18,
kPseudoSafepointPC = -17,
kPseudoIntrinsicRetry = -16,
kPseudoSuspendTarget = -15,