1.1 --- a/src/share/vm/adlc/forms.cpp Mon Mar 09 13:34:00 2009 -0700 1.2 +++ b/src/share/vm/adlc/forms.cpp Thu Mar 12 18:16:36 2009 -0700 1.3 @@ -70,6 +70,7 @@ 1.4 else return (_iter <_cur-1 ? _names[++_iter] : NULL); 1.5 } 1.6 const char *NameList::current() { return (_iter < _cur ? _names[_iter] : NULL); } 1.7 +const char *NameList::peek(int skip) { return (_iter + skip < _cur ? _names[_iter + skip] : NULL); } 1.8 1.9 // Return 'true' if current entry is signal 1.10 bool NameList::current_is_signal() { 1.11 @@ -248,11 +249,13 @@ 1.12 // True if 'opType', an ideal name, loads or stores. 1.13 Form::DataType Form::is_load_from_memory(const char *opType) const { 1.14 if( strcmp(opType,"LoadB")==0 ) return Form::idealB; 1.15 + if( strcmp(opType,"LoadUB")==0 ) return Form::idealB; 1.16 if( strcmp(opType,"LoadUS")==0 ) return Form::idealC; 1.17 if( strcmp(opType,"LoadD")==0 ) return Form::idealD; 1.18 if( strcmp(opType,"LoadD_unaligned")==0 ) return Form::idealD; 1.19 if( strcmp(opType,"LoadF")==0 ) return Form::idealF; 1.20 if( strcmp(opType,"LoadI")==0 ) return Form::idealI; 1.21 + if( strcmp(opType,"LoadUI2L")==0 ) return Form::idealI; 1.22 if( strcmp(opType,"LoadKlass")==0 ) return Form::idealP; 1.23 if( strcmp(opType,"LoadNKlass")==0 ) return Form::idealN; 1.24 if( strcmp(opType,"LoadL")==0 ) return Form::idealL; 1.25 @@ -370,7 +373,7 @@ 1.26 } 1.27 1.28 // Print out the dictionary contents as key-value pairs 1.29 -static void dumpkey (const void* key) { fprintf(stdout, "%s", key); } 1.30 +static void dumpkey (const void* key) { fprintf(stdout, "%s", (char*) key); } 1.31 static void dumpform(const void* form) { fflush(stdout); ((Form*)form)->dump(); } 1.32 1.33 void FormDict::dump() {