Mercurial > hg > truffle
comparison src/share/vm/jvmci/vmStructs_jvmci.hpp @ 21559:be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 28 May 2015 15:36:48 +0200 |
parents | src/share/vm/graal/vmStructs_graal.hpp@a04dfbf81bc4 |
children |
comparison
equal
deleted
inserted
replaced
21558:d563baeca9df | 21559:be896a1983c0 |
---|---|
1 /* | |
2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. | |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
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 #ifndef SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP | |
26 #define SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP | |
27 | |
28 #include "compiler/abstractCompiler.hpp" | |
29 #include "jvmci/jvmciCodeInstaller.hpp" | |
30 #include "jvmci/jvmciCompilerToVM.hpp" | |
31 #include "jvmci/jvmciEnv.hpp" | |
32 | |
33 #define VM_STRUCTS_JVMCI(nonstatic_field, static_field) \ | |
34 nonstatic_field(ThreadShadow, _pending_deoptimization, int) \ | |
35 nonstatic_field(ThreadShadow, _pending_failed_speculation, oop) \ | |
36 nonstatic_field(ThreadShadow, _pending_transfer_to_interpreter, bool) \ | |
37 nonstatic_field(MethodData, _jvmci_ir_size, int) \ | |
38 nonstatic_field(JVMCIEnv, _task, CompileTask*) \ | |
39 nonstatic_field(JVMCIEnv, _jvmti_can_hotswap_or_post_breakpoint, bool) \ | |
40 | |
41 #define VM_TYPES_JVMCI(declare_type, declare_toplevel_type) \ | |
42 declare_toplevel_type(JVMCIEnv) \ | |
43 | |
44 #define VM_INT_CONSTANTS_JVMCI(declare_constant, declare_preprocessor_constant) \ | |
45 declare_constant(Deoptimization::Reason_unreached0) \ | |
46 declare_constant(Deoptimization::Reason_type_checked_inlining) \ | |
47 declare_constant(Deoptimization::Reason_optimized_type_check) \ | |
48 declare_constant(Deoptimization::Reason_aliasing) \ | |
49 declare_constant(Deoptimization::Reason_transfer_to_interpreter) \ | |
50 declare_constant(Deoptimization::Reason_not_compiled_exception_handler) \ | |
51 declare_constant(Deoptimization::Reason_unresolved) \ | |
52 declare_constant(Deoptimization::Reason_jsr_mismatch) \ | |
53 declare_constant(JVMCIEnv::ok) \ | |
54 declare_constant(JVMCIEnv::dependencies_failed) \ | |
55 declare_constant(JVMCIEnv::dependencies_invalid) \ | |
56 declare_constant(JVMCIEnv::cache_full) \ | |
57 declare_constant(JVMCIEnv::code_too_large) \ | |
58 \ | |
59 declare_preprocessor_constant("JVM_ACC_SYNTHETIC", JVM_ACC_SYNTHETIC) \ | |
60 declare_preprocessor_constant("JVM_RECOGNIZED_FIELD_MODIFIERS", JVM_RECOGNIZED_FIELD_MODIFIERS) \ | |
61 \ | |
62 declare_constant(CompilerToVM::KLASS_TAG) \ | |
63 declare_constant(CompilerToVM::SYMBOL_TAG) \ | |
64 \ | |
65 declare_constant(CodeInstaller::VERIFIED_ENTRY) \ | |
66 declare_constant(CodeInstaller::UNVERIFIED_ENTRY) \ | |
67 declare_constant(CodeInstaller::OSR_ENTRY) \ | |
68 declare_constant(CodeInstaller::EXCEPTION_HANDLER_ENTRY) \ | |
69 declare_constant(CodeInstaller::DEOPT_HANDLER_ENTRY) \ | |
70 declare_constant(CodeInstaller::INVOKEINTERFACE) \ | |
71 declare_constant(CodeInstaller::INVOKEVIRTUAL) \ | |
72 declare_constant(CodeInstaller::INVOKESTATIC) \ | |
73 declare_constant(CodeInstaller::INVOKESPECIAL) \ | |
74 declare_constant(CodeInstaller::INLINE_INVOKE) \ | |
75 declare_constant(CodeInstaller::POLL_NEAR) \ | |
76 declare_constant(CodeInstaller::POLL_RETURN_NEAR) \ | |
77 declare_constant(CodeInstaller::POLL_FAR) \ | |
78 declare_constant(CodeInstaller::POLL_RETURN_FAR) \ | |
79 declare_constant(CodeInstaller::CARD_TABLE_SHIFT) \ | |
80 declare_constant(CodeInstaller::CARD_TABLE_ADDRESS) \ | |
81 declare_constant(CodeInstaller::INVOKE_INVALID) \ | |
82 \ | |
83 declare_constant(Method::invalid_vtable_index) \ | |
84 | |
85 #endif // SHARE_VM_JVMCI_VMSTRUCTS_JVMCI_HPP |