Mercurial > hg > truffle
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. |