Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Compilation.cpp @ 2014:4de5f4101cfd
Merge
author | iveresov |
---|---|
date | Wed, 08 Dec 2010 17:50:49 -0800 |
parents | 5ddfcf4b079e |
children | 2f9d59b0fa5c |
comparison
equal
deleted
inserted
replaced
1990:401fbd7ff77c | 2014:4de5f4101cfd |
---|---|
296 } | 296 } |
297 } | 297 } |
298 | 298 |
299 CHECK_BAILOUT_(no_frame_size); | 299 CHECK_BAILOUT_(no_frame_size); |
300 | 300 |
301 if (is_profiling()) { | 301 if (is_profiling() && !method()->ensure_method_data()) { |
302 method()->build_method_data(); | 302 BAILOUT_("mdo allocation failed", no_frame_size); |
303 } | 303 } |
304 | 304 |
305 { | 305 { |
306 PhaseTraceTime timeit(_t_buildIR); | 306 PhaseTraceTime timeit(_t_buildIR); |
307 build_hir(); | 307 build_hir(); |
482 if (bailed_out()) { | 482 if (bailed_out()) { |
483 _env->record_method_not_compilable(bailout_msg(), !TieredCompilation); | 483 _env->record_method_not_compilable(bailout_msg(), !TieredCompilation); |
484 if (is_profiling()) { | 484 if (is_profiling()) { |
485 // Compilation failed, create MDO, which would signal the interpreter | 485 // Compilation failed, create MDO, which would signal the interpreter |
486 // to start profiling on its own. | 486 // to start profiling on its own. |
487 _method->build_method_data(); | 487 _method->ensure_method_data(); |
488 } | 488 } |
489 } else if (is_profiling() && _would_profile) { | 489 } else if (is_profiling() && _would_profile) { |
490 ciMethodData *md = method->method_data(); | 490 ciMethodData *md = method->method_data_or_null(); |
491 assert (md != NULL, "Should have MDO"); | 491 assert(md != NULL, "Sanity"); |
492 md->set_would_profile(_would_profile); | 492 md->set_would_profile(_would_profile); |
493 } | 493 } |
494 } | 494 } |
495 | 495 |
496 Compilation::~Compilation() { | 496 Compilation::~Compilation() { |