src/hotspot/share/opto/node.cpp
changeset 53220 c14b7b6a9b2f
parent 53063 b04860fd2e2c
child 54327 a4d19817609c
equal deleted inserted replaced
53219:ef41d615b3f0 53220:c14b7b6a9b2f
    35 #include "opto/machnode.hpp"
    35 #include "opto/machnode.hpp"
    36 #include "opto/matcher.hpp"
    36 #include "opto/matcher.hpp"
    37 #include "opto/node.hpp"
    37 #include "opto/node.hpp"
    38 #include "opto/opcodes.hpp"
    38 #include "opto/opcodes.hpp"
    39 #include "opto/regmask.hpp"
    39 #include "opto/regmask.hpp"
       
    40 #include "opto/rootnode.hpp"
    40 #include "opto/type.hpp"
    41 #include "opto/type.hpp"
    41 #include "utilities/copy.hpp"
    42 #include "utilities/copy.hpp"
    42 #include "utilities/macros.hpp"
    43 #include "utilities/macros.hpp"
    43 
    44 
    44 class RegMask;
    45 class RegMask;
  1308   nstack.push(dead);
  1309   nstack.push(dead);
  1309   bool has_irreducible_loop = igvn->C->has_irreducible_loop();
  1310   bool has_irreducible_loop = igvn->C->has_irreducible_loop();
  1310 
  1311 
  1311   while (nstack.size() > 0) {
  1312   while (nstack.size() > 0) {
  1312     dead = nstack.pop();
  1313     dead = nstack.pop();
       
  1314     if (dead->Opcode() == Op_SafePoint) {
       
  1315       dead->as_SafePoint()->disconnect_from_root(igvn);
       
  1316     }
  1313     if (dead->outcnt() > 0) {
  1317     if (dead->outcnt() > 0) {
  1314       // Keep dead node on stack until all uses are processed.
  1318       // Keep dead node on stack until all uses are processed.
  1315       nstack.push(dead);
  1319       nstack.push(dead);
  1316       // For all Users of the Dead...    ;-)
  1320       // For all Users of the Dead...    ;-)
  1317       for (DUIterator_Last kmin, k = dead->last_outs(kmin); k >= kmin; ) {
  1321       for (DUIterator_Last kmin, k = dead->last_outs(kmin); k >= kmin; ) {