diff options
author | Colin Cross <ccross@android.com> | 2017-03-15 16:33:27 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-03-16 09:44:56 -0700 |
commit | 0bd97173fab66572c95ce18fa785e00271adc014 (patch) | |
tree | f7cdfe3627cbac27d6c0c2b857df4eb7f70a767f /compiler/optimizing/codegen_test_utils.h | |
parent | 32f53883993fbed5f08c1e13606e91acb3715d5d (diff) |
Fix sign extension issues in x86_64 code generation
movl expects an Immediate int64_t that is in the range -2GB to
2GB. Cast uint32_t addresses to int32_t before passing as an
Immediate to movl.
In VisitIntegerValueOf, the base address may not fit in the disp32
field. Fall back to storing the base address in a temporary
register if it is larger than 2GB.
Bug: 36281983
Test: m -j test-art-host with LibartImgHostBaseAddress == 0xa0000000
Change-Id: I5f8cc4f5a6220afc577707e3831113b0ead1d2b2
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
0 files changed, 0 insertions, 0 deletions