OSDN Git Service

X86_64 QBE: use RIP addressing
authorMark Mendell <mark.p.mendell@intel.com>
Tue, 2 Dec 2014 00:06:12 +0000 (19:06 -0500)
committerMark Mendell <mark.p.mendell@intel.com>
Thu, 4 Dec 2014 21:31:03 +0000 (16:31 -0500)
commit27dee8bcd7b4a53840b60818da8d2c819ef199bd
tree0cee4ca5dd80368703ac4b5a1139867fd0bba797
parentb510c82ebaf11cf6f4f215f6237ee6a44861ef10
X86_64 QBE: use RIP addressing

Take advantage of RIP addressing in 64 bit mode to improve the code
generation for accesses to the constant area as well as packed switches.
Avoid computing the address of the start of the method, which is needed
in 32 bit mode.

To do this, we add a new 'pseudo-register' kRIPReg to minimize the
changes needed to get the new addressing mode to be generated.

Change-Id: Ia28c93f98b09939806d91ff0bd7392e58996d108
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
compiler/dex/compiler_enums.h
compiler/dex/quick/codegen_util.cc
compiler/dex/quick/x86/assemble_x86.cc
compiler/dex/quick/x86/call_x86.cc
compiler/dex/quick/x86/int_x86.cc
compiler/dex/quick/x86/target_x86.cc
compiler/dex/quick/x86/utility_x86.cc
compiler/dex/quick/x86/x86_lir.h