comparison 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
comparison
equal deleted inserted replaced
779:d0e0d6d824d8 780:c96bf21b756f
50 CompileLog* _log; // faster access to CompilerThread::log 50 CompileLog* _log; // faster access to CompilerThread::log
51 void* _compiler_data; // compiler-specific stuff, if any 51 void* _compiler_data; // compiler-specific stuff, if any
52 52
53 char* _name_buffer; 53 char* _name_buffer;
54 int _name_buffer_len; 54 int _name_buffer_len;
55
56 // Cache Jvmti state
57 bool _jvmti_can_hotswap_or_post_breakpoint;
58 bool _jvmti_can_examine_or_deopt_anywhere;
59 bool _jvmti_can_access_local_variables;
60 bool _jvmti_can_post_exceptions;
61
62 // Cache DTrace flags
63 bool _dtrace_extended_probes;
64 bool _dtrace_monitor_probes;
65 bool _dtrace_method_probes;
66 bool _dtrace_alloc_probes;
55 67
56 // Distinguished instances of certain ciObjects.. 68 // Distinguished instances of certain ciObjects..
57 static ciObject* _null_object_instance; 69 static ciObject* _null_object_instance;
58 static ciMethodKlass* _method_klass_instance; 70 static ciMethodKlass* _method_klass_instance;
59 static ciSymbolKlass* _symbol_klass_instance; 71 static ciSymbolKlass* _symbol_klass_instance;
234 int compilable() { return _compilable; } 246 int compilable() { return _compilable; }
235 247
236 bool break_at_compile() { return _break_at_compile; } 248 bool break_at_compile() { return _break_at_compile; }
237 void set_break_at_compile(bool z) { _break_at_compile = z; } 249 void set_break_at_compile(bool z) { _break_at_compile = z; }
238 250
251 // Cache Jvmti state
252 void cache_jvmti_state();
253 bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
254 bool jvmti_can_examine_or_deopt_anywhere() const { return _jvmti_can_examine_or_deopt_anywhere; }
255 bool jvmti_can_access_local_variables() const { return _jvmti_can_access_local_variables; }
256 bool jvmti_can_post_exceptions() const { return _jvmti_can_post_exceptions; }
257
258 // Cache DTrace flags
259 void cache_dtrace_flags();
260 bool dtrace_extended_probes() const { return _dtrace_extended_probes; }
261 bool dtrace_monitor_probes() const { return _dtrace_monitor_probes; }
262 bool dtrace_method_probes() const { return _dtrace_method_probes; }
263 bool dtrace_alloc_probes() const { return _dtrace_alloc_probes; }
264
239 // The compiler task which has created this env. 265 // The compiler task which has created this env.
240 // May be useful to find out compile_id, comp_level, etc. 266 // May be useful to find out compile_id, comp_level, etc.
241 CompileTask* task() { return _task; } 267 CompileTask* task() { return _task; }
242 // Handy forwards to the task: 268 // Handy forwards to the task:
243 int comp_level(); // task()->comp_level() 269 int comp_level(); // task()->comp_level()