src/share/vm/opto/connode.cpp

changeset 9737
c06dc174d786
parent 8727
3d8d14307428
child 9756
2be326848943
equal deleted inserted replaced
9736:940791dabea2 9737:c06dc174d786
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2019, 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.
1081 ryhi = -rylo0; 1081 ryhi = -rylo0;
1082 } 1082 }
1083 assert(rxlo == (int)rxlo && rxhi == (int)rxhi, "x should not overflow"); 1083 assert(rxlo == (int)rxlo && rxhi == (int)rxhi, "x should not overflow");
1084 assert(rylo == (int)rylo && ryhi == (int)ryhi, "y should not overflow"); 1084 assert(rylo == (int)rylo && ryhi == (int)ryhi, "y should not overflow");
1085 Node* cx = phase->C->constrained_convI2L(phase, x, TypeInt::make(rxlo, rxhi, widen), NULL); 1085 Node* cx = phase->C->constrained_convI2L(phase, x, TypeInt::make(rxlo, rxhi, widen), NULL);
1086 Node *hook = new (phase->C) Node(1);
1087 hook->init_req(0, cx); // Add a use to cx to prevent him from dying
1086 Node* cy = phase->C->constrained_convI2L(phase, y, TypeInt::make(rylo, ryhi, widen), NULL); 1088 Node* cy = phase->C->constrained_convI2L(phase, y, TypeInt::make(rylo, ryhi, widen), NULL);
1089 hook->del_req(0); // Just yank bogus edge
1090 hook->destruct();
1087 switch (op) { 1091 switch (op) {
1088 case Op_AddI: return new (phase->C) AddLNode(cx, cy); 1092 case Op_AddI: return new (phase->C) AddLNode(cx, cy);
1089 case Op_SubI: return new (phase->C) SubLNode(cx, cy); 1093 case Op_SubI: return new (phase->C) SubLNode(cx, cy);
1090 default: ShouldNotReachHere(); 1094 default: ShouldNotReachHere();
1091 } 1095 }

mercurial