src/share/vm/opto/phaseX.cpp

changeset 3154
075ea0ed9e7c
parent 2314
f95d63e2154a
child 3260
670a74b863fc
     1.1 --- a/src/share/vm/opto/phaseX.cpp	Mon Sep 19 15:21:03 2011 -0700
     1.2 +++ b/src/share/vm/opto/phaseX.cpp	Tue Sep 20 08:39:40 2011 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -864,6 +864,10 @@
    1.11    // Pull from worklist; transform node;
    1.12    // If node has changed: update edge info and put uses on worklist.
    1.13    while( _worklist.size() ) {
    1.14 +    if (C->check_node_count(NodeLimitFudgeFactor * 2,
    1.15 +                            "out of nodes optimizing method")) {
    1.16 +      return;
    1.17 +    }
    1.18      Node *n  = _worklist.pop();
    1.19      if (++loop_count >= K * C->unique()) {
    1.20        debug_only(n->dump(4);)

mercurial