Mercurial > hg > truffle
diff src/share/vm/ci/ciEnv.hpp @ 780:c96bf21b756f
6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
author | kvn |
---|---|
date | Fri, 08 May 2009 10:44:20 -0700 |
parents | a61af66fc99e |
children | bd02caa94611 |
line wrap: on
line diff
--- a/src/share/vm/ci/ciEnv.hpp Fri May 08 10:34:31 2009 -0700 +++ b/src/share/vm/ci/ciEnv.hpp Fri May 08 10:44:20 2009 -0700 @@ -53,6 +53,18 @@ char* _name_buffer; int _name_buffer_len; + // Cache Jvmti state + bool _jvmti_can_hotswap_or_post_breakpoint; + bool _jvmti_can_examine_or_deopt_anywhere; + bool _jvmti_can_access_local_variables; + bool _jvmti_can_post_exceptions; + + // Cache DTrace flags + bool _dtrace_extended_probes; + bool _dtrace_monitor_probes; + bool _dtrace_method_probes; + bool _dtrace_alloc_probes; + // Distinguished instances of certain ciObjects.. static ciObject* _null_object_instance; static ciMethodKlass* _method_klass_instance; @@ -236,6 +248,20 @@ 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_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; } + bool jvmti_can_examine_or_deopt_anywhere() const { return _jvmti_can_examine_or_deopt_anywhere; } + bool jvmti_can_access_local_variables() const { return _jvmti_can_access_local_variables; } + bool jvmti_can_post_exceptions() const { return _jvmti_can_post_exceptions; } + + // Cache DTrace flags + void cache_dtrace_flags(); + bool dtrace_extended_probes() const { return _dtrace_extended_probes; } + bool dtrace_monitor_probes() const { return _dtrace_monitor_probes; } + bool dtrace_method_probes() const { return _dtrace_method_probes; } + 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; }