comparison src/share/vm/adlc/archDesc.cpp @ 4121:db2e64ca2d5a

7090968: Allow adlc register class to depend on runtime conditions Summary: allow reg_class definition as a function. Reviewed-by: kvn, never
author roland
date Tue, 22 Nov 2011 09:45:57 +0100
parents f03a3c8bd5e5
children 8c92982cbbc4
comparison
equal deleted inserted replaced
4120:f03a3c8bd5e5 4121:db2e64ca2d5a
821 } else if (strcmp(reg_class_name,"stack_slots")==0) { 821 } else if (strcmp(reg_class_name,"stack_slots")==0) {
822 return "(Compile::current()->FIRST_STACK_mask())"; 822 return "(Compile::current()->FIRST_STACK_mask())";
823 } else { 823 } else {
824 char *rc_name = toUpper(reg_class_name); 824 char *rc_name = toUpper(reg_class_name);
825 const char *mask = "_mask"; 825 const char *mask = "_mask";
826 int length = (int)strlen(rc_name) + (int)strlen(mask) + 3; 826 int length = (int)strlen(rc_name) + (int)strlen(mask) + 5;
827 char *regMask = new char[length]; 827 char *regMask = new char[length];
828 sprintf(regMask,"%s%s", rc_name, mask); 828 sprintf(regMask,"%s%s()", rc_name, mask);
829 return regMask; 829 return regMask;
830 } 830 }
831 } 831 }
832 832
833 // Convert a register class name to its register mask. 833 // Convert a register class name to its register mask.