--- old/src/share/vm/ci/ciEnv.hpp 2015-09-22 16:26:51.633641946 +0200 +++ new/src/share/vm/ci/ciEnv.hpp 2015-09-22 16:26:51.529641950 +0200 @@ -31,10 +31,12 @@ #include "code/debugInfoRec.hpp" #include "code/dependencies.hpp" #include "code/exceptionHandlerTable.hpp" +#include "compiler/compilerDirectives.hpp" #include "compiler/oopMap.hpp" #include "runtime/thread.hpp" class CompileTask; +class DirectiveSet; // ciEnv // @@ -56,9 +58,9 @@ Dependencies* _dependencies; const char* _failure_reason; int _compilable; - bool _break_at_compile; int _num_inlined_bytecodes; CompileTask* _task; // faster access to CompilerThread::task + DirectiveSet* _directive_set; // directives that apply to compilations with this ciEnv CompileLog* _log; // faster access to CompilerThread::log void* _compiler_data; // compiler-specific stuff, if any @@ -294,7 +296,7 @@ MethodCompilable_never }; - ciEnv(CompileTask* task, int system_dictionary_modification_counter); + ciEnv(CompileTask* task, DirectiveSet* dir, int system_dictionary_modification_counter); // Used only during initialization of the ci ciEnv(Arena* arena); ~ciEnv(); @@ -332,9 +334,6 @@ } } - bool break_at_compile() { return _break_at_compile; } - void set_break_at_compile(bool z) { _break_at_compile = z; } - // Cache Jvmti state void cache_jvmti_state(); bool jvmti_state_changed() const; @@ -352,6 +351,8 @@ // The compiler task which has created this env. // May be useful to find out compile_id, comp_level, etc. CompileTask* task() { return _task; } + DirectiveSet* dirset() { return _directive_set; } + // Handy forwards to the task: int comp_level(); // task()->comp_level() uint compile_id(); // task()->compile_id() @@ -464,6 +465,11 @@ void dump_replay_data(outputStream* out); void dump_replay_data_unsafe(outputStream* out); void dump_compile_data(outputStream* out); + + // Compilation directives + bool should_inline(ciMethod* inlinee); + bool should_not_inline(ciMethod* inlinee); + }; #endif // SHARE_VM_CI_CIENV_HPP