src/share/vm/adlc/archDesc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
7119644 Cdiff src/share/vm/adlc/archDesc.cpp
src/share/vm/adlc/archDesc.cpp
Print this page
*** 1,7 ****
//
! // Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This code is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License version 2 only, as
// published by the Free Software Foundation.
--- 1,7 ----
//
! // Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This code is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License version 2 only, as
// published by the Free Software Foundation.
*** 909,924 ****
// Return the type signature for the ideal operation
const char *ArchDesc::getIdealType(const char *idealOp) {
// Find last character in idealOp, it specifies the type
char last_char = 0;
const char *ptr = idealOp;
! for( ; *ptr != '\0'; ++ptr) {
last_char = *ptr;
}
// !!!!!
! switch( last_char ) {
case 'I': return "TypeInt::INT";
case 'P': return "TypePtr::BOTTOM";
case 'N': return "TypeNarrowOop::BOTTOM";
case 'F': return "Type::FLOAT";
case 'D': return "Type::DOUBLE";
--- 909,936 ----
// Return the type signature for the ideal operation
const char *ArchDesc::getIdealType(const char *idealOp) {
// Find last character in idealOp, it specifies the type
char last_char = 0;
const char *ptr = idealOp;
! for (; *ptr != '\0'; ++ptr) {
last_char = *ptr;
}
+ // Match Vector types.
+ if (strncmp(idealOp, "Vec",3)==0) {
+ switch(last_char) {
+ case 'S': return "TypeVect::VECTS";
+ case 'D': return "TypeVect::VECTD";
+ case 'X': return "TypeVect::VECTX";
+ case 'Y': return "TypeVect::VECTY";
+ default:
+ internal_err("Vector type %s with unrecognized type\n",idealOp);
+ }
+ }
+
// !!!!!
! switch(last_char) {
case 'I': return "TypeInt::INT";
case 'P': return "TypePtr::BOTTOM";
case 'N': return "TypeNarrowOop::BOTTOM";
case 'F': return "Type::FLOAT";
case 'D': return "Type::DOUBLE";
src/share/vm/adlc/archDesc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File