equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
2717 } |
2717 } |
2718 |
2718 |
2719 // Kill projections on a branch should appear to occur on the |
2719 // Kill projections on a branch should appear to occur on the |
2720 // branch, not afterwards, so grab the masks from the projections |
2720 // branch, not afterwards, so grab the masks from the projections |
2721 // and process them. |
2721 // and process them. |
2722 if (n->is_MachBranch() || n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_Jump) { |
2722 if (n->is_MachBranch() || (n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_Jump)) { |
2723 for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { |
2723 for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { |
2724 Node* use = n->fast_out(i); |
2724 Node* use = n->fast_out(i); |
2725 if (use->is_Proj()) { |
2725 if (use->is_Proj()) { |
2726 RegMask rm = use->out_RegMask();// Make local copy |
2726 RegMask rm = use->out_RegMask();// Make local copy |
2727 while( rm.is_NotEmpty() ) { |
2727 while( rm.is_NotEmpty() ) { |