aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen/arm/RallocUtil.c
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2010-09-14 16:23:49 -0700
committerAndy McFadden <fadden@android.com>2010-09-15 10:05:24 -0700
commit52b31dfea16f5a7b7bffddf65b493336ef0befee (patch)
treeb02f63b2fc7ede7a91ea981388b5c0af131a74ea /vm/compiler/codegen/arm/RallocUtil.c
parent5b17d172bcb64f612824eca29147080b8b06d54c (diff)
Stop cheating in reflective field access.
The java.lang.reflect.Field get/set calls have been "cheating" by reading and writing 32-bit or 64-bit values without regard to the underlying field type. This worked fine until recently, when we developed three special cases: (1) writing to a reference field (must notify the GC) (2) reading/writing a volatile field (must emit barrier on SMP, and 64-bit accesses must be atomic on all platforms) (3) writing to a final field (must emit barrier on SMP) This replaces the old "get a pointer and do stuff" approach with a bunch of switch statements that call the ObjectInlines functions. Bug 2992610 Change-Id: Ib30f043d325363743112e9b1bb170d9d232bca6b
Diffstat (limited to 'vm/compiler/codegen/arm/RallocUtil.c')
0 files changed, 0 insertions, 0 deletions