Mercurial > hg > graal-jvmci-8
annotate src/share/vm/graal/graalJavaAccess.hpp @ 4223:e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Wed, 04 Jan 2012 22:08:17 +0100 |
parents | 5c80ccb80036 |
children | 8074251d1e05 |
rev | line source |
---|---|
2516
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
1 /* |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
2 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
4 * |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
7 * published by the Free Software Foundation. |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
8 * |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
13 * accompanied this code). |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
14 * |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
18 * |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
a384fac3fd34
Removed anything OSR-related.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2502
diff
changeset
|
21 * questions. |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
22 */ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
23 |
2891
75a99b4f1c98
Rebranded C++ part from C1X to Graal.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2890
diff
changeset
|
24 void graal_compute_offsets(); |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
25 |
2663
d7c0775d7e72
added includes to build without precompiled headers
Christian.Wimmer@Oracle.com
parents:
2516
diff
changeset
|
26 #include "classfile/systemDictionary.hpp" |
2492
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
27 #include "oops/instanceMirrorKlass.hpp" |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
28 |
1434
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
29 /* This macro defines the structure of the CiTargetMethod - classes. |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
30 * It will generate classes with accessors similar to javaClasses.hpp, but with specializations for oops, Handles and jni handles. |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
31 * |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
32 * The public interface of these classes will look like this: |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
33 |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
34 * class CiStackSlot : AllStatic { |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
35 * public: |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
36 * static klassOop klass(); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
37 * static jint index(oop obj); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
38 * static jint index(Handle obj); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
39 * static jint index(jobject obj); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
40 * static void set_index(oop obj, jint x); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
41 * static void set_index(Handle obj, jint x); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
42 * static void set_index(jobject obj, jint x); |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
43 * }; |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
44 * |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
45 */ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
46 |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
47 #define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, boolean_field, long_field, float_field, oop_field, static_oop_field) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
48 start_class(HotSpotTypeResolved) \ |
3586
7604c69a6301
rename com.oracle.max.graal.runtime to com.oracle.max.graal.hotspot
Gilles Duboscq <gilles.m.duboscq@gmail.com>
parents:
3561
diff
changeset
|
49 oop_field(HotSpotTypeResolved, compiler, "Lcom/oracle/max/graal/hotspot/Compiler;") \ |
1465
2c754f3a2722
Inlining of static final field values. Java mirror instead of VmID. Support for PrintMetrics option.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
1458
diff
changeset
|
50 oop_field(HotSpotTypeResolved, javaMirror, "Ljava/lang/Class;") \ |
2055
99ad52189524
Refactorings to get towards less CRI overhead.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2048
diff
changeset
|
51 oop_field(HotSpotTypeResolved, simpleName, "Ljava/lang/String;") \ |
1429
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
52 int_field(HotSpotTypeResolved, accessFlags) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
53 boolean_field(HotSpotTypeResolved, hasFinalizer) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
54 boolean_field(HotSpotTypeResolved, hasSubclass) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
55 boolean_field(HotSpotTypeResolved, hasFinalizableSubclass) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
56 boolean_field(HotSpotTypeResolved, isArrayClass) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
57 boolean_field(HotSpotTypeResolved, isInstanceClass) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
58 boolean_field(HotSpotTypeResolved, isInterface) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
59 int_field(HotSpotTypeResolved, instanceSize) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
60 end_class \ |
3011
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
61 start_class(HotSpotMethodResolved) \ |
3586
7604c69a6301
rename com.oracle.max.graal.runtime to com.oracle.max.graal.hotspot
Gilles Duboscq <gilles.m.duboscq@gmail.com>
parents:
3561
diff
changeset
|
62 oop_field(HotSpotMethodResolved, compiler, "Lcom/oracle/max/graal/hotspot/Compiler;") \ |
3011
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
63 oop_field(HotSpotMethodResolved, name, "Ljava/lang/String;") \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
64 oop_field(HotSpotMethodResolved, holder, "Lcom/oracle/max/cri/ri/RiResolvedType;") \ |
3020
9fed07e4a375
Changed from method/reflect object back to methodOop, because using method/reflection can create deadlock with the user application (test with -Xcomp). Disabled method caching by default and created a flag -G:StoreResultGraph (otherwise eclipse will fail because of being out of memory).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3018
diff
changeset
|
65 oop_field(HotSpotMethodResolved, javaMirror, "Ljava/lang/Object;") \ |
3011
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
66 int_field(HotSpotMethodResolved, codeSize) \ |
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
67 int_field(HotSpotMethodResolved, accessFlags) \ |
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
68 int_field(HotSpotMethodResolved, maxLocals) \ |
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
69 int_field(HotSpotMethodResolved, maxStackSize) \ |
f00918f35c7f
inlining and runtime interface related changes:
Lukas Stadler <lukas.stadler@jku.at>
parents:
2926
diff
changeset
|
70 end_class \ |
2055
99ad52189524
Refactorings to get towards less CRI overhead.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2048
diff
changeset
|
71 start_class(HotSpotType) \ |
99ad52189524
Refactorings to get towards less CRI overhead.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2048
diff
changeset
|
72 oop_field(HotSpotType, name, "Ljava/lang/String;") \ |
99ad52189524
Refactorings to get towards less CRI overhead.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2048
diff
changeset
|
73 end_class \ |
1465
2c754f3a2722
Inlining of static final field values. Java mirror instead of VmID. Support for PrintMetrics option.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
1458
diff
changeset
|
74 start_class(HotSpotField) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
75 oop_field(HotSpotField, constant, "Lcom/oracle/max/cri/ci/CiConstant;") \ |
3619
5e9645341ec3
support for new RiRuntime features: add code without making it the default for the method, executing Java tasks on the compile thread, communicate nmethod reference to Java code as HotSpotCompiledMethod
Lukas Stadler <lukas.stadler@jku.at>
parents:
3591
diff
changeset
|
76 int_field(HotSpotField, offset) \ |
5e9645341ec3
support for new RiRuntime features: add code without making it the default for the method, executing Java tasks on the compile thread, communicate nmethod reference to Java code as HotSpotCompiledMethod
Lukas Stadler <lukas.stadler@jku.at>
parents:
3591
diff
changeset
|
77 int_field(HotSpotField, accessFlags) \ |
5e9645341ec3
support for new RiRuntime features: add code without making it the default for the method, executing Java tasks on the compile thread, communicate nmethod reference to Java code as HotSpotCompiledMethod
Lukas Stadler <lukas.stadler@jku.at>
parents:
3591
diff
changeset
|
78 end_class \ |
5e9645341ec3
support for new RiRuntime features: add code without making it the default for the method, executing Java tasks on the compile thread, communicate nmethod reference to Java code as HotSpotCompiledMethod
Lukas Stadler <lukas.stadler@jku.at>
parents:
3591
diff
changeset
|
79 start_class(HotSpotCompiledMethod) \ |
5e9645341ec3
support for new RiRuntime features: add code without making it the default for the method, executing Java tasks on the compile thread, communicate nmethod reference to Java code as HotSpotCompiledMethod
Lukas Stadler <lukas.stadler@jku.at>
parents:
3591
diff
changeset
|
80 long_field(HotSpotCompiledMethod, nmethod) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
81 oop_field(HotSpotCompiledMethod, method, "Lcom/oracle/max/cri/ri/RiResolvedMethod;") \ |
1465
2c754f3a2722
Inlining of static final field values. Java mirror instead of VmID. Support for PrintMetrics option.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
1458
diff
changeset
|
82 end_class \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
83 start_class(HotSpotTargetMethod) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
84 oop_field(HotSpotTargetMethod, targetMethod, "Lcom/oracle/max/cri/ci/CiTargetMethod;") \ |
4197
b765172082ac
Move HotSpotMethod* and HotSpotType* implementations into ri subpackage.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4181
diff
changeset
|
85 oop_field(HotSpotTargetMethod, method, "Lcom/oracle/max/graal/hotspot/ri/HotSpotMethodResolved;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
86 oop_field(HotSpotTargetMethod, name, "Ljava/lang/String;") \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
87 oop_field(HotSpotTargetMethod, sites, "[Lcom/oracle/max/cri/ci/CiTargetMethod$Site;") \ |
4199
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
88 oop_field(HotSpotTargetMethod, exceptionHandlers, "[Lcom/oracle/max/cri/ci/CiTargetMethod$ExceptionHandler;") \ |
1429
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
89 end_class \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
90 start_class(HotSpotExceptionHandler) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
91 int_field(HotSpotExceptionHandler, startBci) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
92 int_field(HotSpotExceptionHandler, endBci) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
93 int_field(HotSpotExceptionHandler, handlerBci) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
94 int_field(HotSpotExceptionHandler, catchClassIndex) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
95 oop_field(HotSpotExceptionHandler, catchClass, "Lcom/oracle/max/cri/ri/RiType;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
96 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
97 start_class(CiTargetMethod) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
98 int_field(CiTargetMethod, frameSize) \ |
1938
1aa5b22a7716
Support for custom stack area (needed for deoptimization).
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
1484
diff
changeset
|
99 int_field(CiTargetMethod, customStackAreaOffset) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
100 oop_field(CiTargetMethod, targetCode, "[B") \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
101 oop_field(CiTargetMethod, assumptions, "Lcom/oracle/max/cri/ci/CiAssumptions;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
102 int_field(CiTargetMethod, targetCodeSize) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
103 end_class \ |
2048
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
104 start_class(CiAssumptions) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
105 oop_field(CiAssumptions, list, "[Lcom/oracle/max/cri/ci/CiAssumptions$Assumption;") \ |
2048
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
106 end_class \ |
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
107 start_class(CiAssumptions_ConcreteSubtype) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
108 oop_field(CiAssumptions_ConcreteSubtype, context, "Lcom/oracle/max/cri/ri/RiResolvedType;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
109 oop_field(CiAssumptions_ConcreteSubtype, subtype, "Lcom/oracle/max/cri/ri/RiResolvedType;") \ |
2048
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
110 end_class \ |
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
111 start_class(CiAssumptions_ConcreteMethod) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
112 oop_field(CiAssumptions_ConcreteMethod, method, "Lcom/oracle/max/cri/ri/RiResolvedMethod;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
113 oop_field(CiAssumptions_ConcreteMethod, context, "Lcom/oracle/max/cri/ri/RiResolvedType;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
114 oop_field(CiAssumptions_ConcreteMethod, impl, "Lcom/oracle/max/cri/ri/RiResolvedMethod;") \ |
2048
177398c6147d
Added unique concrete subtype assumption.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
2046
diff
changeset
|
115 end_class \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
116 start_class(CiTargetMethod_Site) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
117 int_field(CiTargetMethod_Site, pcOffset) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
118 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
119 start_class(CiTargetMethod_Call) \ |
3561
bea018622324
Changes to JavaAccess as a result of CRI changes.
Doug Simon <doug.simon@oracle.com>
parents:
3558
diff
changeset
|
120 oop_field(CiTargetMethod_Call, target, "Ljava/lang/Object;") \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
121 oop_field(CiTargetMethod_Call, debugInfo, "Lcom/oracle/max/cri/ci/CiDebugInfo;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
122 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
123 start_class(CiTargetMethod_DataPatch) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
124 oop_field(CiTargetMethod_DataPatch, constant, "Lcom/oracle/max/cri/ci/CiConstant;") \ |
3710
4e037604f6ee
use alignment for constants specified in DataPatch.alignment
Christian Wimmer <christian.wimmer@oracle.com>
parents:
3706
diff
changeset
|
125 int_field(CiTargetMethod_DataPatch, alignment) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
126 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
127 start_class(CiTargetMethod_Safepoint) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
128 oop_field(CiTargetMethod_Safepoint, debugInfo, "Lcom/oracle/max/cri/ci/CiDebugInfo;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
129 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
130 start_class(CiTargetMethod_ExceptionHandler) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
131 int_field(CiTargetMethod_ExceptionHandler, handlerPos) \ |
1429
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
132 int_field(CiTargetMethod_ExceptionHandler, handlerBci) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
133 int_field(CiTargetMethod_ExceptionHandler, bci) \ |
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
134 int_field(CiTargetMethod_ExceptionHandler, scopeLevel) \ |
4199
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
135 oop_field(CiTargetMethod_ExceptionHandler, exceptionType, "Lcom/oracle/max/cri/ri/RiType;")\ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
136 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
137 start_class(CiTargetMethod_Mark) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
138 oop_field(CiTargetMethod_Mark, id, "Ljava/lang/Object;") \ |
4199
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
139 oop_field(CiTargetMethod_Mark, references, "[Lcom/oracle/max/cri/ci/CiTargetMethod$Mark;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
140 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
141 start_class(CiDebugInfo) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
142 oop_field(CiDebugInfo, codePos, "Lcom/oracle/max/cri/ci/CiCodePos;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
143 oop_field(CiDebugInfo, registerRefMap, "Lcom/oracle/max/cri/ci/CiBitMap;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
144 oop_field(CiDebugInfo, frameRefMap, "Lcom/oracle/max/cri/ci/CiBitMap;") \ |
1468
e4cd5d2de7e1
Changes to sync with CRI changes.
Doug Simon <doug.simon@oracle.com>
parents:
1465
diff
changeset
|
145 end_class \ |
3028
1305cb3809c1
Performed folder and class name changes in native code.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3020
diff
changeset
|
146 start_class(GraalBitMap) \ |
1305cb3809c1
Performed folder and class name changes in native code.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3020
diff
changeset
|
147 int_field(GraalBitMap, size) \ |
1305cb3809c1
Performed folder and class name changes in native code.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3020
diff
changeset
|
148 long_field(GraalBitMap, low) \ |
1305cb3809c1
Performed folder and class name changes in native code.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3020
diff
changeset
|
149 oop_field(GraalBitMap, extra, "[J") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
150 end_class \ |
2282
0309d394eb5f
Added support for non-null oop values in scope objects (allocating global handle).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2280
diff
changeset
|
151 start_class(CiFrame) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
152 oop_field(CiFrame, values, "[Lcom/oracle/max/cri/ci/CiValue;") \ |
2282
0309d394eb5f
Added support for non-null oop values in scope objects (allocating global handle).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2280
diff
changeset
|
153 int_field(CiFrame, numLocals) \ |
0309d394eb5f
Added support for non-null oop values in scope objects (allocating global handle).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2280
diff
changeset
|
154 int_field(CiFrame, numStack) \ |
0309d394eb5f
Added support for non-null oop values in scope objects (allocating global handle).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2280
diff
changeset
|
155 int_field(CiFrame, numLocks) \ |
3018
5857923e563c
Fixed an issue with frame states in exception dispatch chains (now we are correctly rethrowing the exception immediately at entering the interpreter).
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3011
diff
changeset
|
156 boolean_field(CiFrame, rethrowException) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
157 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
158 start_class(CiCodePos) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
159 oop_field(CiCodePos, caller, "Lcom/oracle/max/cri/ci/CiCodePos;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
160 oop_field(CiCodePos, method, "Lcom/oracle/max/cri/ri/RiResolvedMethod;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
161 int_field(CiCodePos, bci) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
162 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
163 start_class(CiConstant) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
164 oop_field(CiConstant, kind, "Lcom/oracle/max/cri/ci/CiKind;") \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
165 oop_field(CiConstant, object, "Ljava/lang/Object;") \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
166 long_field(CiConstant, primitive) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
167 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
168 start_class(CiKind) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
169 char_field(CiKind, typeChar) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
170 static_oop_field(CiKind, Boolean, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
171 static_oop_field(CiKind, Byte, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
172 static_oop_field(CiKind, Char, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
173 static_oop_field(CiKind, Short, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
174 static_oop_field(CiKind, Int, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
175 static_oop_field(CiKind, Long, "Lcom/oracle/max/cri/ci/CiKind;"); \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
176 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
177 start_class(CiRuntimeCall) \ |
4199
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
178 static_oop_field(CiRuntimeCall, UnwindException, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
179 static_oop_field(CiRuntimeCall, RegisterFinalizer, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
180 static_oop_field(CiRuntimeCall, HandleException, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
181 static_oop_field(CiRuntimeCall, SetDeoptInfo, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
182 static_oop_field(CiRuntimeCall, CreateNullPointerException, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
183 static_oop_field(CiRuntimeCall, CreateOutOfBoundsException, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
184 static_oop_field(CiRuntimeCall, OSRMigrationEnd, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
185 static_oop_field(CiRuntimeCall, JavaTimeMillis, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
186 static_oop_field(CiRuntimeCall, JavaTimeNanos, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
187 static_oop_field(CiRuntimeCall, Debug, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
188 static_oop_field(CiRuntimeCall, ArithmethicLrem, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
189 static_oop_field(CiRuntimeCall, ArithmeticLdiv, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
190 static_oop_field(CiRuntimeCall, ArithmeticFrem, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
191 static_oop_field(CiRuntimeCall, ArithmeticDrem, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
192 static_oop_field(CiRuntimeCall, ArithmeticCos, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
193 static_oop_field(CiRuntimeCall, ArithmeticTan, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
194 static_oop_field(CiRuntimeCall, ArithmeticLog, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
195 static_oop_field(CiRuntimeCall, ArithmeticLog10, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
196 static_oop_field(CiRuntimeCall, ArithmeticSin, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
197 static_oop_field(CiRuntimeCall, Deoptimize, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
aaac4894175c
Renamed cri packages from sun to oracle.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4197
diff
changeset
|
198 static_oop_field(CiRuntimeCall, GenericCallback, "Lcom/oracle/max/cri/ci/CiRuntimeCall;"); \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
199 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
200 start_class(RiMethod) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
201 end_class \ |
1434
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
202 start_class(CiValue) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
203 oop_field(CiValue, kind, "Lcom/oracle/max/cri/ci/CiKind;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
204 static_oop_field(CiValue, IllegalValue, "Lcom/oracle/max/cri/ci/CiValue;"); \ |
1434
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
205 end_class \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
206 start_class(CiRegisterValue) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
207 oop_field(CiRegisterValue, reg, "Lcom/oracle/max/cri/ci/CiRegister;") \ |
1434
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
208 end_class \ |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
209 start_class(CiRegister) \ |
72cfb36c6bb2
* enabled all jtt tests
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1433
diff
changeset
|
210 int_field(CiRegister, number) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
211 end_class \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
212 start_class(CiStackSlot) \ |
4181
319860ae697a
Simplify FrameMap: make offsets of spill slots and outgoing parameters independent so that they can be allocated at the same time, eliminating the separate phases. This makes the separate StackBlock unnecesary. Change CiStackSlot to use byte offsets instead of spill slot index. This makes CiTarget.spillSlotSize unnecessary.
Christian Wimmer <Christian.Wimmer@Oracle.com>
parents:
3714
diff
changeset
|
213 int_field(CiStackSlot, offset) \ |
319860ae697a
Simplify FrameMap: make offsets of spill slots and outgoing parameters independent so that they can be allocated at the same time, eliminating the separate phases. This makes the separate StackBlock unnecesary. Change CiStackSlot to use byte offsets instead of spill slot index. This makes CiTarget.spillSlotSize unnecessary.
Christian Wimmer <Christian.Wimmer@Oracle.com>
parents:
3714
diff
changeset
|
214 boolean_field(CiStackSlot, addFrameSize) \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
215 end_class \ |
3090
536528f48708
more escape analysis work: debug info
Lukas Stadler <lukas.stadler@jku.at>
parents:
3056
diff
changeset
|
216 start_class(CiVirtualObject) \ |
536528f48708
more escape analysis work: debug info
Lukas Stadler <lukas.stadler@jku.at>
parents:
3056
diff
changeset
|
217 int_field(CiVirtualObject, id) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
218 oop_field(CiVirtualObject, type, "Lcom/oracle/max/cri/ri/RiType;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
219 oop_field(CiVirtualObject, values, "[Lcom/oracle/max/cri/ci/CiValue;") \ |
3090
536528f48708
more escape analysis work: debug info
Lukas Stadler <lukas.stadler@jku.at>
parents:
3056
diff
changeset
|
220 end_class \ |
3714
b648304ba4ff
Change Graal monitor enter and exit from BasicObjectLock to BasicLock
Christian Wimmer <christian.wimmer@oracle.com>
parents:
3710
diff
changeset
|
221 start_class(CiMonitorValue) \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
222 oop_field(CiMonitorValue, owner, "Lcom/oracle/max/cri/ci/CiValue;") \ |
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
223 oop_field(CiMonitorValue, lockData, "Lcom/oracle/max/cri/ci/CiValue;") \ |
3714
b648304ba4ff
Change Graal monitor enter and exit from BasicObjectLock to BasicLock
Christian Wimmer <christian.wimmer@oracle.com>
parents:
3710
diff
changeset
|
224 boolean_field(CiMonitorValue, eliminated) \ |
b648304ba4ff
Change Graal monitor enter and exit from BasicObjectLock to BasicLock
Christian Wimmer <christian.wimmer@oracle.com>
parents:
3710
diff
changeset
|
225 end_class \ |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
226 start_class(RiTypeProfile) \ |
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
227 int_field(RiTypeProfile, count) \ |
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
228 int_field(RiTypeProfile, morphism) \ |
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
229 oop_field(RiTypeProfile, probabilities, "[F") \ |
4223
e0a4668c57a2
Renaming of VMExits and VMEntries part 4.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4220
diff
changeset
|
230 oop_field(RiTypeProfile, types, "[Lcom/oracle/max/cri/ri/RiResolvedType;") \ |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
231 end_class \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
232 /* end*/ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
233 |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
234 #define START_CLASS(name) \ |
3028
1305cb3809c1
Performed folder and class name changes in native code.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
3020
diff
changeset
|
235 class name : AllStatic { \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
236 private: \ |
2891
75a99b4f1c98
Rebranded C++ part from C1X to Graal.
Thomas Wuerthinger <thomas@wuerthinger.net>
parents:
2890
diff
changeset
|
237 friend class GraalCompiler; \ |
1942
00bc9eaf0e24
Support for -XX:+UseFastLocking flag. Fixed monitor enter XIR template for correct debug info at the runtime call.
Thomas Wuerthinger <wuerthinger@ssw.jku.at>
parents:
1941
diff
changeset
|
238 static void check(oop obj) { assert(obj != NULL, "NULL field access of class " #name); assert(obj->is_a(SystemDictionary::name##_klass()), "wrong class, " #name " expected"); } \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
239 static void compute_offsets(); \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
240 public: \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
241 static klassOop klass() { return SystemDictionary::name##_klass(); } |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
242 |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
243 #define END_CLASS }; |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
244 |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
245 #define FIELD(name, type, accessor) \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
246 static int _##name##_offset; \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
247 static type name(oop obj) { check(obj); return obj->accessor(_##name##_offset); } \ |
3662
e0bbc6b1c4a1
Fixed wrong type transition.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
3661
diff
changeset
|
248 static type name(Handle& obj) { check(obj()); return obj->accessor(_##name##_offset); } \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
249 static type name(jobject obj) { check(JNIHandles::resolve(obj)); return JNIHandles::resolve(obj)->accessor(_##name##_offset); } \ |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
250 static void set_##name(oop obj, type x) { check(obj); obj->accessor##_put(_##name##_offset, x); } \ |
3662
e0bbc6b1c4a1
Fixed wrong type transition.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
3661
diff
changeset
|
251 static void set_##name(Handle& obj, type x) { check(obj()); obj->accessor##_put(_##name##_offset, x); } \ |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
252 static void set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj)); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); } |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
253 |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
254 #define CHAR_FIELD(klass, name) FIELD(name, jchar, char_field) |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
255 #define INT_FIELD(klass, name) FIELD(name, jint, int_field) |
1429
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
256 #define BOOLEAN_FIELD(klass, name) FIELD(name, jboolean, bool_field) |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
257 #define LONG_FIELD(klass, name) FIELD(name, jlong, long_field) |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
258 #define FLOAT_FIELD(klass, name) FIELD(name, jfloat, float_field) |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
259 #define OOP_FIELD(klass, name, signature) FIELD(name, oop, obj_field) |
2492
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
260 #define STATIC_OOP_FIELD(klassName, name, signature) \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
261 static int _##name##_offset; \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
262 static oop name() { \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
263 instanceKlass* ik = instanceKlass::cast(klassName::klass()); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
264 address addr = ik->static_field_addr(_##name##_offset - instanceMirrorKlass::offset_of_static_fields()); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
265 if (UseCompressedOops) { \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
266 return oopDesc::load_decode_heap_oop((narrowOop *)addr); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
267 } else { \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
268 return oopDesc::load_decode_heap_oop((oop*)addr); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
269 } \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
270 } \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
271 static void set_##name(oop x) { \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
272 instanceKlass* ik = instanceKlass::cast(klassName::klass()); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
273 address addr = ik->static_field_addr(_##name##_offset - instanceMirrorKlass::offset_of_static_fields()); \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
274 if (UseCompressedOops) { \ |
3661
d24f157f2ba8
Use write barrier in JavaAccess. Fixed thread transition bug.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
3619
diff
changeset
|
275 oop_store((narrowOop *)addr, x); \ |
2492
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
276 } else { \ |
3661
d24f157f2ba8
Use write barrier in JavaAccess. Fixed thread transition bug.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
3619
diff
changeset
|
277 oop_store((oop*)addr, x); \ |
2492
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
278 } \ |
4e5515d09314
Fixed merge issues.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
2284
diff
changeset
|
279 } |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
280 COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, STATIC_OOP_FIELD) |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
281 #undef START_CLASS |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
282 #undef END_CLASS |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
283 #undef FIELD |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
284 #undef CHAR_FIELD |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
285 #undef INT_FIELD |
1429
abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
Lukas Stadler <lukas.stadler@oracle.com>
parents:
1428
diff
changeset
|
286 #undef BOOLEAN_FIELD |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
287 #undef LONG_FIELD |
2926
0e3ec0a4eda4
RiTypeProfile information and invocation counters for RiMethods
Lukas Stadler <lukas.stadler@jku.at>
parents:
2891
diff
changeset
|
288 #undef FLOAT_FIELD |
1428
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
289 #undef OOP_FIELD |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
290 #undef STATIC_OOP_FIELD |
695451afc619
refactoring classes into separate files
Lukas Stadler <lukas.stadler@oracle.com>
parents:
diff
changeset
|
291 |
3706
a59727158259
hide HotSpotMethodResolvedImpl.javaMirror field in debuggers
Lukas Stadler <lukas.stadler@jku.at>
parents:
3704
diff
changeset
|
292 void compute_offset(int &dest_offset, klassOop klass_oop, const char* name, const char* signature, bool static_field); |