comparison src/share/vm/adlc/archDesc.cpp @ 113:ba764ed4b6f2

6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author coleenp
date Sun, 13 Apr 2008 17:43:42 -0400
parents a61af66fc99e
children d1605aabd0a1
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
865 865
866 // Lookup this result operand and get its register class 866 // Lookup this result operand and get its register class
867 Form *form = (Form*)_globalNames[result]; 867 Form *form = (Form*)_globalNames[result];
868 assert( form, "Result operand must be defined"); 868 assert( form, "Result operand must be defined");
869 OperandForm *oper = form->is_operand(); 869 OperandForm *oper = form->is_operand();
870 if (oper == NULL) form->dump();
870 assert( oper, "Result must be an OperandForm"); 871 assert( oper, "Result must be an OperandForm");
871 return reg_mask( *oper ); 872 return reg_mask( *oper );
872 } 873 }
873 874
874 875
906 907
907 // !!!!! 908 // !!!!!
908 switch( last_char ) { 909 switch( last_char ) {
909 case 'I': return "TypeInt::INT"; 910 case 'I': return "TypeInt::INT";
910 case 'P': return "TypePtr::BOTTOM"; 911 case 'P': return "TypePtr::BOTTOM";
912 case 'N': return "TypeNarrowOop::BOTTOM";
911 case 'F': return "Type::FLOAT"; 913 case 'F': return "Type::FLOAT";
912 case 'D': return "Type::DOUBLE"; 914 case 'D': return "Type::DOUBLE";
913 case 'L': return "TypeLong::LONG"; 915 case 'L': return "TypeLong::LONG";
914 case 's': return "TypeInt::CC /*flags*/"; 916 case 's': return "TypeInt::CC /*flags*/";
915 default: 917 default:
942 constructOperand(ident, true); 944 constructOperand(ident, true);
943 } 945 }
944 // Create InstructForm and assign type for each ideal instruction. 946 // Create InstructForm and assign type for each ideal instruction.
945 for ( int j = _last_machine_leaf+1; j < _last_opcode; ++j) { 947 for ( int j = _last_machine_leaf+1; j < _last_opcode; ++j) {
946 char *ident = (char *)NodeClassNames[j]; 948 char *ident = (char *)NodeClassNames[j];
947 if(!strcmp(ident, "ConI") || !strcmp(ident, "ConP") || 949 if(!strcmp(ident, "ConI") || !strcmp(ident, "ConP") || !strcmp(ident, "ConN") ||
948 !strcmp(ident, "ConF") || !strcmp(ident, "ConD") || 950 !strcmp(ident, "ConF") || !strcmp(ident, "ConD") ||
949 !strcmp(ident, "ConL") || !strcmp(ident, "Con" ) || 951 !strcmp(ident, "ConL") || !strcmp(ident, "Con" ) ||
950 !strcmp(ident, "Bool") ) { 952 !strcmp(ident, "Bool") ) {
951 constructOperand(ident, true); 953 constructOperand(ident, true);
952 } 954 }
1107 // !!!!! 1109 // !!!!!
1108 // These are the current machine-dependent clones 1110 // These are the current machine-dependent clones
1109 if ( strcmp(idealName,"CmpI") == 0 1111 if ( strcmp(idealName,"CmpI") == 0
1110 || strcmp(idealName,"CmpU") == 0 1112 || strcmp(idealName,"CmpU") == 0
1111 || strcmp(idealName,"CmpP") == 0 1113 || strcmp(idealName,"CmpP") == 0
1114 || strcmp(idealName,"CmpN") == 0
1112 || strcmp(idealName,"CmpL") == 0 1115 || strcmp(idealName,"CmpL") == 0
1113 || strcmp(idealName,"CmpD") == 0 1116 || strcmp(idealName,"CmpD") == 0
1114 || strcmp(idealName,"CmpF") == 0 1117 || strcmp(idealName,"CmpF") == 0
1115 || strcmp(idealName,"FastLock") == 0 1118 || strcmp(idealName,"FastLock") == 0
1116 || strcmp(idealName,"FastUnlock") == 0 1119 || strcmp(idealName,"FastUnlock") == 0