src/share/vm/opto/memnode.cpp

changeset 3882
8c92982cbbc4
parent 3842
0919b2e7895d
child 4037
da91efe96a93
equal deleted inserted replaced
3849:eba1d5bce9e8 3882:8c92982cbbc4
1 /* 1 /*
2 * Copyright (c) 1997, 2011, 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.
1541 // it is possible that p1 will have a type like Foo*[int+]:NotNull*+any. 1541 // it is possible that p1 will have a type like Foo*[int+]:NotNull*+any.
1542 // In fact, that could have been the original type of p1, and p1 could have 1542 // In fact, that could have been the original type of p1, and p1 could have
1543 // had an original form like p1:(AddP x x (LShiftL quux 3)), where the 1543 // had an original form like p1:(AddP x x (LShiftL quux 3)), where the
1544 // expression (LShiftL quux 3) independently optimized to the constant 8. 1544 // expression (LShiftL quux 3) independently optimized to the constant 8.
1545 if ((t->isa_int() == NULL) && (t->isa_long() == NULL) 1545 if ((t->isa_int() == NULL) && (t->isa_long() == NULL)
1546 && (_type->isa_vect() == NULL)
1546 && Opcode() != Op_LoadKlass && Opcode() != Op_LoadNKlass) { 1547 && Opcode() != Op_LoadKlass && Opcode() != Op_LoadNKlass) {
1547 // t might actually be lower than _type, if _type is a unique 1548 // t might actually be lower than _type, if _type is a unique
1548 // concrete subclass of abstract class t. 1549 // concrete subclass of abstract class t.
1549 // Make sure the reference is not into the header, by comparing 1550 // Make sure the reference is not into the header, by comparing
1550 // the offset against the offset of the start of the array's data. 1551 // the offset against the offset of the start of the array's data.

mercurial