annotate graal/com.oracle.jvmci.hotspotvmconfig/src/com/oracle/jvmci/hotspotvmconfig/HotSpotVMField.java @ 21564:2270a708ef23

Merge.
author Doug Simon <doug.simon@oracle.com>
date Fri, 29 May 2015 00:19:05 +0200
parents b1530a6cce8c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
1 /*
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
4 *
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
7 * published by the Free Software Foundation.
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
8 *
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
13 * accompanied this code).
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
14 *
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
18 *
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
21 * questions.
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
22 */
21554
b1530a6cce8c renamed com.oracle.graal.[debug|options|hotspotvmconfig]* modules to com.oracle.jvmci.[debug|options|hotspotvmconfig]* modules (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents: 16330
diff changeset
23 package com.oracle.jvmci.hotspotvmconfig;
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
24
21554
b1530a6cce8c renamed com.oracle.graal.[debug|options|hotspotvmconfig]* modules to com.oracle.jvmci.[debug|options|hotspotvmconfig]* modules (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents: 16330
diff changeset
25 import java.lang.annotation.*;
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
26
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
27 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
28 * Refers to a C++ field in the VM.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
29 */
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
30 @Target(ElementType.FIELD)
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
31 @Retention(RetentionPolicy.RUNTIME)
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
32 public @interface HotSpotVMField {
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
33
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
34 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
35 * Types of information this annotation can return.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
36 */
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
37 enum Type {
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
38 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
39 * Returns the offset of this field within the type. Only valid for instance fields.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
40 */
14908
8db6e76cb658 Formatter: Keep one enum constant per line
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 13776
diff changeset
41 OFFSET,
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
42
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
43 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
44 * Returns the absolute address of this field. Only valid for static fields.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
45 */
14908
8db6e76cb658 Formatter: Keep one enum constant per line
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 13776
diff changeset
46 ADDRESS,
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
47
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
48 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
49 * Returns the value of this field. Only valid for static fields.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
50 */
14908
8db6e76cb658 Formatter: Keep one enum constant per line
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 13776
diff changeset
51 VALUE;
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
52 }
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
53
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
54 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
55 * Specifies what type of information to return.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
56 *
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
57 * @see Type
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
58 */
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
59 Type get();
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
60
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
61 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
62 * Returns the type name containing this field.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
63 *
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
64 * @return name of containing type
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
65 */
13242
65c0f2ec1ad7 added type to HotSpotVMField annotation in order to verify the expected type
twisti
parents: 12559
diff changeset
66 String type();
65c0f2ec1ad7 added type to HotSpotVMField annotation in order to verify the expected type
twisti
parents: 12559
diff changeset
67
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
68 /**
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
69 * Returns the name of this field.
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
70 *
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
71 * @return name of field
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
72 */
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
73 String name();
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
74
13517
eefb0224149d derive CPUFeatures from VM_Version::_cpuFeatures
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13242
diff changeset
75 /**
eefb0224149d derive CPUFeatures from VM_Version::_cpuFeatures
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13242
diff changeset
76 * List of architectures where this constant is required. Names are derived from
13776
8305aec3a1ae an empty architecture specification implies all architectures
Doug Simon <doug.simon@oracle.com>
parents: 13517
diff changeset
77 * {@link HotSpotVMConfig#getHostArchitectureName()}. An empty list implies that the constant is
8305aec3a1ae an empty architecture specification implies all architectures
Doug Simon <doug.simon@oracle.com>
parents: 13517
diff changeset
78 * required on all architectures.
13517
eefb0224149d derive CPUFeatures from VM_Version::_cpuFeatures
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13242
diff changeset
79 */
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14908
diff changeset
80 @SuppressWarnings("javadoc")
13517
eefb0224149d derive CPUFeatures from VM_Version::_cpuFeatures
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13242
diff changeset
81 String[] archs() default {};
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents:
diff changeset
82 }