OSDN Git Service

Avoid sign extension in packed-switch.
authorElliott Hughes <enh@google.com>
Tue, 17 Jul 2012 23:31:30 +0000 (16:31 -0700)
committerElliott Hughes <enh@google.com>
Tue, 17 Jul 2012 23:31:30 +0000 (16:31 -0700)
commit2d0c1c2dbe44458ebb199c47ce1047f266db5349
treed89e11e22bbd25df11d847ed56450cc5e8d71758
parenta8a96515c9620fd9073a69660e31979acf2da8b2
Avoid sign extension in packed-switch.

This code (at least in the ARM version) is trying to assign to r0 and r1
from C by returning a 64-bit result. The mistaken use of signed integers
for pointers can lead to sign extension if the JIT code cache is at a
sufficiently high address.

Bug: 6799823
Bug: 6703991
Change-Id: Ic3f587f453f0f3f520551383ef1ed29efa1ad551
vm/compiler/codegen/arm/CalloutHelper.h
vm/compiler/codegen/arm/CodegenDriver.cpp
vm/compiler/codegen/mips/CalloutHelper.h
vm/compiler/codegen/mips/CodegenDriver.cpp
vm/oo/Resolve.cpp