comparison src/share/vm/opto/type.cpp @ 624:337400e7a5dd

6797305: Add LoadUB and LoadUI opcode class Summary: Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher. Reviewed-by: never, kvn
author twisti
date Mon, 09 Mar 2009 03:17:11 -0700
parents 98cb887364d3
children 7bb995fbd3c0
comparison
equal deleted inserted replaced
623:9adddb8c0fc8 624:337400e7a5dd
1 /* 1 /*
2 * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 1997-2009 Sun Microsystems, Inc. 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.
224 TypeInt::CC_GT = TypeInt::make( 1, 1, WidenMin); // == TypeInt::ONE 224 TypeInt::CC_GT = TypeInt::make( 1, 1, WidenMin); // == TypeInt::ONE
225 TypeInt::CC_EQ = TypeInt::make( 0, 0, WidenMin); // == TypeInt::ZERO 225 TypeInt::CC_EQ = TypeInt::make( 0, 0, WidenMin); // == TypeInt::ZERO
226 TypeInt::CC_LE = TypeInt::make(-1, 0, WidenMin); 226 TypeInt::CC_LE = TypeInt::make(-1, 0, WidenMin);
227 TypeInt::CC_GE = TypeInt::make( 0, 1, WidenMin); // == TypeInt::BOOL 227 TypeInt::CC_GE = TypeInt::make( 0, 1, WidenMin); // == TypeInt::BOOL
228 TypeInt::BYTE = TypeInt::make(-128,127, WidenMin); // Bytes 228 TypeInt::BYTE = TypeInt::make(-128,127, WidenMin); // Bytes
229 TypeInt::UBYTE = TypeInt::make(0, 255, WidenMin); // Unsigned Bytes
229 TypeInt::CHAR = TypeInt::make(0,65535, WidenMin); // Java chars 230 TypeInt::CHAR = TypeInt::make(0,65535, WidenMin); // Java chars
230 TypeInt::SHORT = TypeInt::make(-32768,32767, WidenMin); // Java shorts 231 TypeInt::SHORT = TypeInt::make(-32768,32767, WidenMin); // Java shorts
231 TypeInt::POS = TypeInt::make(0,max_jint, WidenMin); // Non-neg values 232 TypeInt::POS = TypeInt::make(0,max_jint, WidenMin); // Non-neg values
232 TypeInt::POS1 = TypeInt::make(1,max_jint, WidenMin); // Positive values 233 TypeInt::POS1 = TypeInt::make(1,max_jint, WidenMin); // Positive values
233 TypeInt::INT = TypeInt::make(min_jint,max_jint, WidenMax); // 32-bit integers 234 TypeInt::INT = TypeInt::make(min_jint,max_jint, WidenMax); // 32-bit integers
1020 const TypeInt *TypeInt::CC_GT; // [1] == ONE 1021 const TypeInt *TypeInt::CC_GT; // [1] == ONE
1021 const TypeInt *TypeInt::CC_EQ; // [0] == ZERO 1022 const TypeInt *TypeInt::CC_EQ; // [0] == ZERO
1022 const TypeInt *TypeInt::CC_LE; // [-1,0] 1023 const TypeInt *TypeInt::CC_LE; // [-1,0]
1023 const TypeInt *TypeInt::CC_GE; // [0,1] == BOOL (!) 1024 const TypeInt *TypeInt::CC_GE; // [0,1] == BOOL (!)
1024 const TypeInt *TypeInt::BYTE; // Bytes, -128 to 127 1025 const TypeInt *TypeInt::BYTE; // Bytes, -128 to 127
1026 const TypeInt *TypeInt::UBYTE; // Unsigned Bytes, 0 to 255
1025 const TypeInt *TypeInt::CHAR; // Java chars, 0-65535 1027 const TypeInt *TypeInt::CHAR; // Java chars, 0-65535
1026 const TypeInt *TypeInt::SHORT; // Java shorts, -32768-32767 1028 const TypeInt *TypeInt::SHORT; // Java shorts, -32768-32767
1027 const TypeInt *TypeInt::POS; // Positive 32-bit integers or zero 1029 const TypeInt *TypeInt::POS; // Positive 32-bit integers or zero
1028 const TypeInt *TypeInt::POS1; // Positive 32-bit integers 1030 const TypeInt *TypeInt::POS1; // Positive 32-bit integers
1029 const TypeInt *TypeInt::INT; // 32-bit integers 1031 const TypeInt *TypeInt::INT; // 32-bit integers