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 #ifndef SHARE_VM_AOT_AOTCODEHEAP_HPP
25 #define SHARE_VM_AOT_AOTCODEHEAP_HPP
26
27 #include "aot/aotCompiledMethod.hpp"
28 #include "classfile/symbolTable.hpp"
29 #include "oops/metadata.hpp"
30 #include "oops/method.hpp"
31
32 enum CodeState {
33 not_set = 0, // _aot fields is not set yet
34 in_use = 1, // _aot field is set to corresponding AOTCompiledMethod
35 invalid = 2 // AOT code is invalidated because dependencies failed
36 };
37
38 typedef struct {
39 AOTCompiledMethod* _aot;
40 CodeState _state; // State change cases: not_set->in_use, not_set->invalid
41 } CodeToAMethod;
42
43 class ClassLoaderData;
44
45 class AOTClass {
46 public:
47 ClassLoaderData* _classloader;
48 };
49
50 typedef struct {
51 int _name_offset;
52 int _code_offset;
53 int _meta_offset;
54 int _metadata_got_offset;
55 int _metadata_got_size;
56 int _code_id;
|
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 #ifndef SHARE_VM_AOT_AOTCODEHEAP_HPP
25 #define SHARE_VM_AOT_AOTCODEHEAP_HPP
26
27 #include "aot/aotCompiledMethod.hpp"
28 #include "classfile/symbolTable.hpp"
29 #include "metaprogramming/integralConstant.hpp"
30 #include "metaprogramming/isRegisteredEnum.hpp"
31 #include "oops/metadata.hpp"
32 #include "oops/method.hpp"
33
34 enum CodeState {
35 not_set = 0, // _aot fields is not set yet
36 in_use = 1, // _aot field is set to corresponding AOTCompiledMethod
37 invalid = 2 // AOT code is invalidated because dependencies failed
38 };
39
40 template<> struct IsRegisteredEnum<CodeState> : public TrueType {};
41
42 typedef struct {
43 AOTCompiledMethod* _aot;
44 CodeState _state; // State change cases: not_set->in_use, not_set->invalid
45 } CodeToAMethod;
46
47 class ClassLoaderData;
48
49 class AOTClass {
50 public:
51 ClassLoaderData* _classloader;
52 };
53
54 typedef struct {
55 int _name_offset;
56 int _code_offset;
57 int _meta_offset;
58 int _metadata_got_offset;
59 int _metadata_got_size;
60 int _code_id;
|