From 1961b609bfefaedb71cee3651c4f931cc3e7393d Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 8 Apr 2015 20:51:48 +0100 Subject: 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 --- compiler/dex/quick/codegen_util.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'compiler/dex/quick/codegen_util.cc') 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: -- cgit v1.2.3-59-g8ed1b