< prev index next > src/hotspot/share/c1/c1_Compilation.hpp
Print this page
#include "compiler/compiler_globals.hpp"
#include "compiler/compilerDefinitions.inline.hpp"
#include "compiler/compilerDirectives.hpp"
#include "memory/resourceArea.hpp"
#include "runtime/deoptimization.hpp"
+ #include "runtime/sharedRuntime.hpp"
class CompilationFailureInfo;
class CompilationResourceObj;
class XHandlers;
class ExceptionInfo;
LinearScan* _allocator;
CodeOffsets _offsets;
CodeBuffer _code;
bool _has_access_indexed;
int _interpreter_frame_size; // Stack space needed in case of a deoptimization
+ CompiledEntrySignature _compiled_entry_signature;
int _immediate_oops_patched;
// compilation helpers
void initialize();
void build_hir();
}
bool profile_return() {
return env()->comp_level() == CompLevel_full_profile &&
C1UpdateMethodData && MethodData::profile_return();
}
+ bool profile_array_accesses() {
+ return env()->comp_level() == CompLevel_full_profile &&
+ C1UpdateMethodData;
+ }
// will compilation make optimistic assumptions that might lead to
// deoptimization and that the runtime will account for?
bool is_optimistic() {
return CompilerConfig::is_c1_only_no_jvmci() && !is_profiling() &&
}
int interpreter_frame_size() const {
return _interpreter_frame_size;
}
+
+ const CompiledEntrySignature* compiled_entry_signature() const {
+ return &_compiled_entry_signature;
+ }
+ bool needs_stack_repair() const {
+ return compiled_entry_signature()->c1_needs_stack_repair();
+ }
};
// Macro definitions for unified bailout-support
// The methods bailout() and bailed_out() are present in all classes
< prev index next >