mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 04:24:49 +02:00
8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
This commit is contained in:
parent
fbdab16d85
commit
09fdc18edc
21 changed files with 733 additions and 771 deletions
|
@ -2127,22 +2127,19 @@ void Compile::Code_Gen() {
|
|||
}
|
||||
NOT_PRODUCT( verify_graph_edges(); )
|
||||
|
||||
PhaseChaitin regalloc(unique(),cfg,m);
|
||||
PhaseChaitin regalloc(unique(), cfg, m);
|
||||
_regalloc = ®alloc;
|
||||
{
|
||||
TracePhase t2("regalloc", &_t_registerAllocation, true);
|
||||
// Perform any platform dependent preallocation actions. This is used,
|
||||
// for example, to avoid taking an implicit null pointer exception
|
||||
// using the frame pointer on win95.
|
||||
_regalloc->pd_preallocate_hook();
|
||||
|
||||
// Perform register allocation. After Chaitin, use-def chains are
|
||||
// no longer accurate (at spill code) and so must be ignored.
|
||||
// Node->LRG->reg mappings are still accurate.
|
||||
_regalloc->Register_Allocate();
|
||||
|
||||
// Bail out if the allocator builds too many nodes
|
||||
if (failing()) return;
|
||||
if (failing()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Prior to register allocation we kept empty basic blocks in case the
|
||||
|
@ -2160,9 +2157,6 @@ void Compile::Code_Gen() {
|
|||
cfg.fixup_flow();
|
||||
}
|
||||
|
||||
// Perform any platform dependent postallocation verifications.
|
||||
debug_only( _regalloc->pd_postallocate_verify_hook(); )
|
||||
|
||||
// Apply peephole optimizations
|
||||
if( OptoPeephole ) {
|
||||
NOT_PRODUCT( TracePhase t2("peephole", &_t_peephole, TimeCompiler); )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue