aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/CodegenFactory.c
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2010-09-22 12:13:29 -0700
committerAndy McFadden <fadden@android.com>2010-09-22 14:22:13 -0700
commit95a884f7844a6e7bdd820489742254f3fd002f6d (patch)
tree1c3ea56a78f2c84beebf71f44181d890a66c3d81 /vm/compiler/codegen/arm/CodegenFactory.c
parent692597158c3e17fbafe80ec21895754017d4e9f1 (diff)
Fix computation of primitive array widths.
The code was comparing class pointers, but the class objects for arrays of primitives are initialized on demand. If the class wasn't yet instantiated, the array width code was returning a default value of 4. This meant the "write values to an array of longs through the unsafe methods" code was actually scribbling on the wrong part of the array, which went unnoticed until recently. (The new-ish ldrexd/strexd code requires 64-bit alignment.) We now use the existing array element width computation function. The code needed a bit of rearranging since it expected an instance of the class rather than the class. Bug 3023981. (cherry-pick from dalvik-dev) Change-Id: Ife3258eb6798f8e7eaee7c7b6793a16137de389b
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenFactory.c')
0 files changed, 0 insertions, 0 deletions