Mercurial > hg > truffle
comparison src/share/vm/c1/c1_Compilation.cpp @ 1783:d5d065957597
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
author | iveresov |
---|---|
date | Fri, 03 Sep 2010 17:51:07 -0700 |
parents | 3e8fbc61cee8 |
children | 22ef3370343b |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
288 } | 288 } |
289 } | 289 } |
290 | 290 |
291 CHECK_BAILOUT_(no_frame_size); | 291 CHECK_BAILOUT_(no_frame_size); |
292 | 292 |
293 if (is_profiling()) { | |
294 method()->build_method_data(); | |
295 } | |
296 | |
293 { | 297 { |
294 PhaseTraceTime timeit(_t_buildIR); | 298 PhaseTraceTime timeit(_t_buildIR); |
295 build_hir(); | 299 build_hir(); |
296 } | 300 } |
297 if (BailoutAfterHIR) { | 301 if (BailoutAfterHIR) { |
298 BAILOUT_("Bailing out because of -XX:+BailoutAfterHIR", no_frame_size); | 302 BAILOUT_("Bailing out because of -XX:+BailoutAfterHIR", no_frame_size); |
299 } | 303 } |
300 | 304 |
445 , _max_spills(-1) | 449 , _max_spills(-1) |
446 , _frame_map(NULL) | 450 , _frame_map(NULL) |
447 , _masm(NULL) | 451 , _masm(NULL) |
448 , _has_exception_handlers(false) | 452 , _has_exception_handlers(false) |
449 , _has_fpu_code(true) // pessimistic assumption | 453 , _has_fpu_code(true) // pessimistic assumption |
454 , _would_profile(false) | |
450 , _has_unsafe_access(false) | 455 , _has_unsafe_access(false) |
451 , _has_method_handle_invokes(false) | 456 , _has_method_handle_invokes(false) |
452 , _bailout_msg(NULL) | 457 , _bailout_msg(NULL) |
453 , _exception_info_list(NULL) | 458 , _exception_info_list(NULL) |
454 , _allocator(NULL) | 459 , _allocator(NULL) |
459 #ifndef PRODUCT | 464 #ifndef PRODUCT |
460 , _last_instruction_printed(NULL) | 465 , _last_instruction_printed(NULL) |
461 #endif // PRODUCT | 466 #endif // PRODUCT |
462 { | 467 { |
463 PhaseTraceTime timeit(_t_compile); | 468 PhaseTraceTime timeit(_t_compile); |
464 | |
465 _arena = Thread::current()->resource_area(); | 469 _arena = Thread::current()->resource_area(); |
466 _env->set_compiler_data(this); | 470 _env->set_compiler_data(this); |
467 _exception_info_list = new ExceptionInfoList(); | 471 _exception_info_list = new ExceptionInfoList(); |
468 _implicit_exception_table.set_size(0); | 472 _implicit_exception_table.set_size(0); |
469 compile_method(); | 473 compile_method(); |
474 if (is_profiling() && _would_profile) { | |
475 ciMethodData *md = method->method_data(); | |
476 assert (md != NULL, "Should have MDO"); | |
477 md->set_would_profile(_would_profile); | |
478 } | |
470 } | 479 } |
471 | 480 |
472 Compilation::~Compilation() { | 481 Compilation::~Compilation() { |
473 _env->set_compiler_data(NULL); | 482 _env->set_compiler_data(NULL); |
474 } | 483 } |