--- /dev/null
+diff --git a/openjdk/hotspot/src/share/vm/adlc/adlparse.cpp b/openjdk/hotspot/src/share/vm/adlc/adlparse.cpp
+index 31955ff7..6dcd90ac 100644
+--- openjdk/hotspot/src/share/vm/adlc/adlparse.cpp
++++ openjdk/hotspot/src/share/vm/adlc/adlparse.cpp
+@@ -4564,7 +4564,7 @@ char *ADLParser::get_paren_expr(const char *description, bool include_location)
+ // string(still inside the file buffer). Returns a pointer to the string or
+ // NULL if some other token is found instead.
+ char *ADLParser::get_ident_common(bool do_preproc) {
+- register char c;
++ char c;
+ char *start; // Pointer to start of token
+ char *end; // Pointer to end of token
+
+@@ -4762,7 +4762,7 @@ char *ADLParser::get_unique_ident(FormDict& dict, const char* nameDescription){
+ // invokes a parse_err if the next token is not an integer.
+ // This routine does not leave the integer null-terminated.
+ int ADLParser::get_int(void) {
+- register char c;
++ char c;
+ char *start; // Pointer to start of token
+ char *end; // Pointer to end of token
+ int result; // Storage for integer result
+diff --git a/openjdk/hotspot/src/share/vm/adlc/arena.cpp b/openjdk/hotspot/src/share/vm/adlc/arena.cpp
+index d7e4fc6e..406187ae 100644
+--- openjdk/hotspot/src/share/vm/adlc/arena.cpp
++++ openjdk/hotspot/src/share/vm/adlc/arena.cpp
+@@ -79,7 +79,7 @@ Arena::Arena( Arena *a )
+ // Total of all Chunks in arena
+ size_t Arena::used() const {
+ size_t sum = _chunk->_len - (_max-_hwm); // Size leftover in this Chunk
+- register Chunk *k = _first;
++ Chunk *k = _first;
+ while( k != _chunk) { // Whilst have Chunks in a row
+ sum += k->_len; // Total size of this Chunk
+ k = k->_next; // Bump along to next Chunk
+@@ -93,7 +93,7 @@ void* Arena::grow( size_t x ) {
+ // Get minimal required size. Either real big, or even bigger for giant objs
+ size_t len = max(x, Chunk::size);
+
+- register Chunk *k = _chunk; // Get filled-up chunk address
++ Chunk *k = _chunk; // Get filled-up chunk address
+ _chunk = new (len) Chunk(len);
+
+ if( k ) k->_next = _chunk; // Append new chunk to end of linked list
+diff --git a/openjdk/hotspot/src/share/vm/adlc/dict2.cpp b/openjdk/hotspot/src/share/vm/adlc/dict2.cpp
+index f341a2b6..2dc60b25 100644
+--- openjdk/hotspot/src/share/vm/adlc/dict2.cpp
++++ openjdk/hotspot/src/share/vm/adlc/dict2.cpp
+@@ -283,9 +283,9 @@ void Dict::print(PrintKeyOrValue print_key, PrintKeyOrValue print_value) {
+ // limited to MAXID characters in length. Experimental evidence on 150K of
+ // C text shows excellent spreading of values for any size hash table.
+ int hashstr(const void *t) {
+- register char c, k = 0;
+- register int sum = 0;
+- register const char *s = (const char *)t;
++ char c, k = 0;
++ int sum = 0;
++ const char *s = (const char *)t;
+
+ while (((c = s[k]) != '\0') && (k < MAXID-1)) { // Get characters till nul
+ c = (char) ((c << 1) + 1); // Characters are always odd!
+diff --git a/openjdk/hotspot/src/share/vm/adlc/main.cpp b/openjdk/hotspot/src/share/vm/adlc/main.cpp
+index 52044f12..40bcda74 100644
+--- openjdk/hotspot/src/share/vm/adlc/main.cpp
++++ openjdk/hotspot/src/share/vm/adlc/main.cpp
+@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
+
+ // Read command line arguments and file names
+ for( int i = 1; i < argc; i++ ) { // For all arguments
+- register char *s = argv[i]; // Get option/filename
++ char *s = argv[i]; // Get option/filename
+
+ if( *s++ == '-' ) { // It's a flag? (not a filename)
+ if( !*s ) { // Stand-alone `-' means stdin