321 const char* retry_message() const {
322 switch (_compilable) {
323 case ciEnv::MethodCompilable_not_at_tier:
324 return "retry at different tier";
325 case ciEnv::MethodCompilable_never:
326 return "not retryable";
327 case ciEnv::MethodCompilable:
328 return NULL;
329 default:
330 ShouldNotReachHere();
331 return NULL;
332 }
333 }
334
335 bool break_at_compile() { return _break_at_compile; }
336 void set_break_at_compile(bool z) { _break_at_compile = z; }
337
338 // Cache Jvmti state
339 void cache_jvmti_state();
340 bool jvmti_state_changed() const;
341 bool should_retain_local_variables() const;
342 bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
343 bool jvmti_can_post_on_exceptions() const { return _jvmti_can_post_on_exceptions; }
344
345 // Cache DTrace flags
346 void cache_dtrace_flags();
347 bool dtrace_extended_probes() const { return _dtrace_extended_probes; }
348 bool dtrace_monitor_probes() const { return _dtrace_monitor_probes; }
349 bool dtrace_method_probes() const { return _dtrace_method_probes; }
350 bool dtrace_alloc_probes() const { return _dtrace_alloc_probes; }
351
352 // The compiler task which has created this env.
353 // May be useful to find out compile_id, comp_level, etc.
354 CompileTask* task() { return _task; }
355
356 // Handy forwards to the task:
357 int comp_level(); // task()->comp_level()
358 uint compile_id(); // task()->compile_id()
359
360 // Register the result of a compilation.
361 void register_method(ciMethod* target,
|
321 const char* retry_message() const {
322 switch (_compilable) {
323 case ciEnv::MethodCompilable_not_at_tier:
324 return "retry at different tier";
325 case ciEnv::MethodCompilable_never:
326 return "not retryable";
327 case ciEnv::MethodCompilable:
328 return NULL;
329 default:
330 ShouldNotReachHere();
331 return NULL;
332 }
333 }
334
335 bool break_at_compile() { return _break_at_compile; }
336 void set_break_at_compile(bool z) { _break_at_compile = z; }
337
338 // Cache Jvmti state
339 void cache_jvmti_state();
340 bool jvmti_state_changed() const;
341 bool should_retain_local_variables() const {
342 return _jvmti_can_access_local_variables || _jvmti_can_pop_frame;
343 }
344 bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
345 bool jvmti_can_post_on_exceptions() const { return _jvmti_can_post_on_exceptions; }
346
347 // Cache DTrace flags
348 void cache_dtrace_flags();
349 bool dtrace_extended_probes() const { return _dtrace_extended_probes; }
350 bool dtrace_monitor_probes() const { return _dtrace_monitor_probes; }
351 bool dtrace_method_probes() const { return _dtrace_method_probes; }
352 bool dtrace_alloc_probes() const { return _dtrace_alloc_probes; }
353
354 // The compiler task which has created this env.
355 // May be useful to find out compile_id, comp_level, etc.
356 CompileTask* task() { return _task; }
357
358 // Handy forwards to the task:
359 int comp_level(); // task()->comp_level()
360 uint compile_id(); // task()->compile_id()
361
362 // Register the result of a compilation.
363 void register_method(ciMethod* target,
|