equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 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. |
655 } |
655 } |
656 |
656 |
657 NOT_PRODUCT(blocks_parsed++); |
657 NOT_PRODUCT(blocks_parsed++); |
658 |
658 |
659 progress = true; |
659 progress = true; |
660 if (block->is_loop_head() || block->is_handler() || has_irreducible && !block->is_ready()) { |
660 if (block->is_loop_head() || block->is_handler() || (has_irreducible && !block->is_ready())) { |
661 // Not all preds have been parsed. We must build phis everywhere. |
661 // Not all preds have been parsed. We must build phis everywhere. |
662 // (Note that dead locals do not get phis built, ever.) |
662 // (Note that dead locals do not get phis built, ever.) |
663 ensure_phis_everywhere(); |
663 ensure_phis_everywhere(); |
664 |
664 |
665 if (block->is_SEL_head()) { |
665 if (block->is_SEL_head()) { |
743 case T_CHAR: |
743 case T_CHAR: |
744 v = gvn->transform(new AndINode(v, gvn->intcon(0xFFFF))); |
744 v = gvn->transform(new AndINode(v, gvn->intcon(0xFFFF))); |
745 break; |
745 break; |
746 case T_BOOLEAN: |
746 case T_BOOLEAN: |
747 v = gvn->transform(new AndINode(v, gvn->intcon(0x1))); |
747 v = gvn->transform(new AndINode(v, gvn->intcon(0x1))); |
|
748 break; |
|
749 default: |
748 break; |
750 break; |
749 } |
751 } |
750 return v; |
752 return v; |
751 } |
753 } |
752 |
754 |