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
Loading
Please sign in to comment