OSDN Git Service

Bugfix: Java char is 16 bits, can not be treated as boolean.
authorFredrik Roubert <roubert@google.com>
Mon, 27 Jul 2015 22:14:08 +0000 (00:14 +0200)
committerFredrik Roubert <roubert@google.com>
Mon, 27 Jul 2015 22:55:06 +0000 (00:55 +0200)
commit3152c82b0d33e5fb0a4aa964ea58451c72734444
treeb5de74aa2d878aa9867d6e6589ec47917dd59f8a
parent0fae2f5851dd79c4100134a92f997b2e7a520083
Bugfix: Java char is 16 bits, can not be treated as boolean.

Using SetFieldBooleanVolatile() and SetFieldBoolean() happens to work
for char values that only use the lower 8 bits, but is a mistake that
was introduced by the "Add AccessibleObject and Field to mirror" commit:

https://android.googlesource.com/platform/art/+/daaf326

Change-Id: Iec02ba3084c992ea239ecef688d7d29c7e21ae16
runtime/native/java_lang_reflect_Field.cc
test/046-reflect/expected.txt
test/046-reflect/src/Main.java
test/100-reflect2/expected.txt
test/100-reflect2/src/Main.java