diff options
| author | 2015-04-08 20:51:48 +0100 | |
|---|---|---|
| committer | 2015-04-09 10:10:39 +0100 | |
| commit | 1961b609bfefaedb71cee3651c4f931cc3e7393d (patch) | |
| tree | 16e98169664ea3cca7f317c1cece67d440dacb6f /compiler/dex/quick/codegen_util.cc | |
| parent | 1576be32be4a99a1cffdaaf209a3cd67e8b2f88a (diff) | |
Quick: PC-relative loads from dex cache arrays on x86.
Rewrite all PC-relative addressing on x86 and implement
PC-relative loads from dex cache arrays. Don't adjust the
base to point to the start of the method, let it point to
the anchor, i.e. the target of the "call +0" insn.
Change-Id: Ic22544a8bc0c5e49eb00a75154dc8f3ead816989
Diffstat (limited to 'compiler/dex/quick/codegen_util.cc')
| -rw-r--r-- | compiler/dex/quick/codegen_util.cc | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/dex/quick/codegen_util.cc b/compiler/dex/quick/codegen_util.cc index 232a2286e2..f8594a2510 100644 --- a/compiler/dex/quick/codegen_util.cc +++ b/compiler/dex/quick/codegen_util.cc @@ -541,13 +541,11 @@ void Mir2Lir::InstallSwitchTables() { DCHECK(tab_rec->anchor->flags.fixup != kFixupNone); bx_offset = tab_rec->anchor->offset + 4; break; - case kX86: - bx_offset = 0; - break; case kX86_64: // RIP relative to switch table. bx_offset = tab_rec->offset; break; + case kX86: case kArm64: case kMips: case kMips64: |