comparison src/share/vm/opto/multnode.cpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents cd5d10655495
children 89152779163c
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, 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.
52 ProjNode *proj = p->as_Proj(); 52 ProjNode *proj = p->as_Proj();
53 if (proj->_con == which_proj) { 53 if (proj->_con == which_proj) {
54 assert(Opcode() != Op_If || proj->Opcode() == (which_proj?Op_IfTrue:Op_IfFalse), "bad if #2"); 54 assert(Opcode() != Op_If || proj->Opcode() == (which_proj?Op_IfTrue:Op_IfFalse), "bad if #2");
55 return proj; 55 return proj;
56 } 56 }
57 } else if (p->is_FlagsProj()) {
58 FlagsProjNode *proj = p->as_FlagsProj();
59 if (proj->_con == which_proj) {
60 return proj;
61 }
57 } else { 62 } else {
58 assert(p == this && this->is_Start(), "else must be proj"); 63 assert(p == this && this->is_Start(), "else must be proj");
59 continue; 64 continue;
60 } 65 }
61 } 66 }
87 t = t->is_tuple()->field_at(_con); 92 t = t->is_tuple()->field_at(_con);
88 Node* n = in(0); 93 Node* n = in(0);
89 if ((_con == TypeFunc::Parms) && 94 if ((_con == TypeFunc::Parms) &&
90 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) { 95 n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) {
91 // The result of autoboxing is always non-null on normal path. 96 // The result of autoboxing is always non-null on normal path.
92 t = t->join_speculative(TypePtr::NOTNULL); 97 t = t->join(TypePtr::NOTNULL);
93 } 98 }
94 return t; 99 return t;
95 } 100 }
96 101
97 const Type *ProjNode::bottom_type() const { 102 const Type *ProjNode::bottom_type() const {