14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @summary Verifies the behaviour of Unsafe.fieldOffset
27 * @library /test/lib
28 * @modules java.base/jdk.internal.misc
29 * java.management
30 * @run main FieldOffset
31 */
32
33 import java.lang.reflect.Field;
34 import jdk.test.lib.unsafe.UnsafeHelper;
35 import jdk.internal.misc.Unsafe;
36 import java.lang.reflect.*;
37 import static jdk.test.lib.Asserts.*;
38
39 public class FieldOffset {
40 public static void main(String args[]) throws Exception {
41 Unsafe unsafe = UnsafeHelper.getUnsafe();
42 Field[] fields = Test.class.getDeclaredFields();
43
44 for (int i = 0; i < fields.length; i++) {
45 long offset = unsafe.objectFieldOffset(fields[i]);
46 // Ensure we got a valid offset value back
47 assertNotEquals(offset, unsafe.INVALID_FIELD_OFFSET);
48
49 // Make sure the field offset is unique
50 for (int j = 0; j < i; j++) {
51 assertNotEquals(offset, unsafe.objectFieldOffset(fields[j]));
52 }
53 }
54
55 fields = StaticTest.class.getDeclaredFields();
56 for (int i = 0; i < fields.length; i++) {
57 long offset = unsafe.staticFieldOffset(fields[i]);
58 // Ensure we got a valid offset value back
59 assertNotEquals(offset, unsafe.INVALID_FIELD_OFFSET);
60
61 // Make sure the field offset is unique
|
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @summary Verifies the behaviour of Unsafe.fieldOffset
27 * @library /test/lib
28 * @modules java.base/jdk.internal.misc
29 * java.management
30 * @run main FieldOffset
31 */
32
33 import java.lang.reflect.Field;
34 import jdk.internal.misc.Unsafe;
35 import java.lang.reflect.*;
36 import static jdk.test.lib.Asserts.*;
37
38 public class FieldOffset {
39 public static void main(String args[]) throws Exception {
40 Unsafe unsafe = Unsafe.getUnsafe();
41 Field[] fields = Test.class.getDeclaredFields();
42
43 for (int i = 0; i < fields.length; i++) {
44 long offset = unsafe.objectFieldOffset(fields[i]);
45 // Ensure we got a valid offset value back
46 assertNotEquals(offset, unsafe.INVALID_FIELD_OFFSET);
47
48 // Make sure the field offset is unique
49 for (int j = 0; j < i; j++) {
50 assertNotEquals(offset, unsafe.objectFieldOffset(fields[j]));
51 }
52 }
53
54 fields = StaticTest.class.getDeclaredFields();
55 for (int i = 0; i < fields.length; i++) {
56 long offset = unsafe.staticFieldOffset(fields[i]);
57 // Ensure we got a valid offset value back
58 assertNotEquals(offset, unsafe.INVALID_FIELD_OFFSET);
59
60 // Make sure the field offset is unique
|