src/share/vm/ci/ciEnv.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/ci/ciEnv.hpp Tue Sep 22 16:26:51 2015
--- new/src/share/vm/ci/ciEnv.hpp Tue Sep 22 16:26:51 2015
*** 29,42 ****
--- 29,44 ----
#include "ci/ciObjectFactory.hpp"
#include "classfile/systemDictionary.hpp"
#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
//
// This class is the top level broker for requests from the compiler
// to the VM.
*** 54,66 ****
--- 56,68 ----
OopRecorder* _oop_recorder;
DebugInformationRecorder* _debug_info;
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
char* _name_buffer;
int _name_buffer_len;
*** 292,302 ****
--- 294,304 ----
MethodCompilable,
MethodCompilable_not_at_tier,
MethodCompilable_never
};
! ciEnv(CompileTask* task, DirectiveSet* dir, int system_dictionary_modification_counter);
// Used only during initialization of the ci
ciEnv(Arena* arena);
~ciEnv();
OopRecorder* oop_recorder() { return _oop_recorder; }
*** 330,342 ****
--- 332,341 ----
ShouldNotReachHere();
return NULL;
}
}
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;
bool should_retain_local_variables() const;
bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
*** 350,359 ****
--- 349,360 ----
bool dtrace_alloc_probes() const { return _dtrace_alloc_probes; }
// 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()
// Register the result of a compilation.
*** 462,469 ****
--- 463,475 ----
void dump_replay_data(int compile_id);
void dump_inline_data(int compile_id);
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
src/share/vm/ci/ciEnv.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File