Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/runtime/compiler/exceptions/RuntimeFailure.hpp
6000 views
1
/*******************************************************************************
2
* Copyright (c) 2000, 2017 IBM Corp. and others
3
*
4
* This program and the accompanying materials are made available under
5
* the terms of the Eclipse Public License 2.0 which accompanies this
6
* distribution and is available at https://www.eclipse.org/legal/epl-2.0/
7
* or the Apache License, Version 2.0 which accompanies this distribution and
8
* is available at https://www.apache.org/licenses/LICENSE-2.0.
9
*
10
* This Source Code may also be made available under the following
11
* Secondary Licenses when the conditions for such availability set
12
* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
13
* General Public License, version 2 with the GNU Classpath
14
* Exception [1] and GNU General Public License, version 2 with the
15
* OpenJDK Assembly Exception [2].
16
*
17
* [1] https://www.gnu.org/software/classpath/license.html
18
* [2] http://openjdk.java.net/legal/assembly-exception.html
19
*
20
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
21
*******************************************************************************/
22
23
#ifndef RUNTIME_FAILURE
24
#define RUNTIME_FAILURE
25
26
#pragma once
27
28
#include "compile/CompilationException.hpp"
29
30
namespace J9 {
31
32
/**
33
* Runtime Failure exception type.
34
*
35
* General Runtime Failure exception type.
36
*/
37
struct RuntimeFailure : public virtual TR::CompilationException
38
{
39
virtual const char* what() const throw() { return "Runtime failure"; }
40
};
41
42
/**
43
* Metadata Creation Failure exception type.
44
*
45
* Thrown when the compiler fails to create the metadata describing a
46
* compiled body.
47
*/
48
struct MetaDataCreationFailure : public virtual RuntimeFailure
49
{
50
virtual const char* what() const throw() { return "MetaData Creation failure"; }
51
};
52
53
/**
54
* CH Table Commit Failure exception type.
55
*
56
* Thrown when the compiler fails a CH Table Commit.
57
*/
58
struct CHTableCommitFailure : public virtual RuntimeFailure
59
{
60
virtual const char* what() const throw() { return "CH Table Commit failure"; }
61
};
62
63
/**
64
* Lambda Enforce Scorching exception type.
65
*
66
* Used for GPU optimizations to enforce a recompilation at scorching
67
*/
68
class LambdaEnforceScorching : public virtual TR::InsufficientlyAggressiveCompilation
69
{
70
virtual const char* what() const throw() { return "Lambda Enforce Scorching"; }
71
};
72
73
/**
74
* Enforce Profiling exception type.
75
*
76
* Used for JProfiling to switch to a profiled compilation.
77
*/
78
class EnforceProfiling : public virtual TR::InsufficientlyAggressiveCompilation
79
{
80
virtual const char* what() const throw() { return "Enforce Profiling"; }
81
};
82
}
83
84
#endif // RUNTIME_FAILURE
85
86
87