mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-28 22:32:55 +00:00
Merge
This commit is contained in:
commit
5da819f494
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -406,10 +406,10 @@
|
||||
develop(intx, WarmCallMaxSize, 999999, \
|
||||
"size of the largest inlinable method") \
|
||||
\
|
||||
product(intx, MaxNodeLimit, 65000, \
|
||||
product(intx, MaxNodeLimit, 80000, \
|
||||
"Maximum number of nodes") \
|
||||
\
|
||||
product(intx, NodeLimitFudgeFactor, 1000, \
|
||||
product(intx, NodeLimitFudgeFactor, 2000, \
|
||||
"Fudge Factor for certain optimizations") \
|
||||
\
|
||||
product(bool, UseJumpTables, true, \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -435,6 +435,9 @@ void PhaseChaitin::Register_Allocate() {
|
||||
// Insert un-coalesced copies. Visit all Phis. Where inputs to a Phi do
|
||||
// not match the Phi itself, insert a copy.
|
||||
coalesce.insert_copies(_matcher);
|
||||
if (C->failing()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// After aggressive coalesce, attempt a first cut at coloring.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -240,6 +240,8 @@ void PhaseAggressiveCoalesce::insert_copies( Matcher &matcher ) {
|
||||
_unique = C->unique();
|
||||
|
||||
for( uint i=0; i<_phc._cfg._num_blocks; i++ ) {
|
||||
C->check_node_count(NodeLimitFudgeFactor, "out of nodes in coalesce");
|
||||
if (C->failing()) return;
|
||||
Block *b = _phc._cfg._blocks[i];
|
||||
uint cnt = b->num_preds(); // Number of inputs to the Phi
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -985,6 +985,8 @@ Node *Matcher::xform( Node *n, int max_stack ) {
|
||||
mstack.push(n, Visit, NULL, -1); // set NULL as parent to indicate root
|
||||
|
||||
while (mstack.is_nonempty()) {
|
||||
C->check_node_count(NodeLimitFudgeFactor, "too many nodes matching instructions");
|
||||
if (C->failing()) return NULL;
|
||||
n = mstack.node(); // Leave node on stack
|
||||
Node_State nstate = mstack.state();
|
||||
if (nstate == Visit) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user