Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Compilation.cpp @ 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 |
---|---|
317 // This can happen if the method is obsolete or breakpointed. | 317 // This can happen if the method is obsolete or breakpointed. |
318 bailout("Bailing out because method is not compilable"); | 318 bailout("Bailing out because method is not compilable"); |
319 return; | 319 return; |
320 } | 320 } |
321 | 321 |
322 if (JvmtiExport::can_hotswap_or_post_breakpoint()) { | 322 if (_env->jvmti_can_hotswap_or_post_breakpoint()) { |
323 // We can assert evol_method because method->can_be_compiled is true. | 323 // We can assert evol_method because method->can_be_compiled is true. |
324 dependency_recorder()->assert_evol_method(method()); | 324 dependency_recorder()->assert_evol_method(method()); |
325 } | 325 } |
326 | 326 |
327 if (method()->break_at_execute()) { | 327 if (method()->break_at_execute()) { |
433 PhaseTraceTime timeit(_t_compile); | 433 PhaseTraceTime timeit(_t_compile); |
434 | 434 |
435 assert(_arena == NULL, "shouldn't only one instance of Compilation in existence at a time"); | 435 assert(_arena == NULL, "shouldn't only one instance of Compilation in existence at a time"); |
436 _arena = Thread::current()->resource_area(); | 436 _arena = Thread::current()->resource_area(); |
437 _compilation = this; | 437 _compilation = this; |
438 _needs_debug_information = JvmtiExport::can_examine_or_deopt_anywhere() || | 438 _needs_debug_information = _env->jvmti_can_examine_or_deopt_anywhere() || |
439 JavaMonitorsInStackTrace || AlwaysEmitDebugInfo || DeoptimizeALot; | 439 JavaMonitorsInStackTrace || AlwaysEmitDebugInfo || DeoptimizeALot; |
440 _exception_info_list = new ExceptionInfoList(); | 440 _exception_info_list = new ExceptionInfoList(); |
441 _implicit_exception_table.set_size(0); | 441 _implicit_exception_table.set_size(0); |
442 compile_method(); | 442 compile_method(); |
443 } | 443 } |