--- old/src/share/vm/opto/live.cpp	Mon Jan 12 16:05:15 2009
+++ new/src/share/vm/opto/live.cpp	Mon Jan 12 16:05:14 2009
@@ -319,7 +319,7 @@
                     }
                   }
                 } else if( check->bottom_type()->is_ptr()->_offset == 0 ) {
-                  if(check->is_Proj() || check->is_Mach() &&
+                  if(!check->is_Proj() && !(check->is_Mach() &&
                      (check->as_Mach()->ideal_Opcode() == Op_CreateEx ||
                       check->as_Mach()->ideal_Opcode() == Op_ThreadLocal ||
                       check->as_Mach()->ideal_Opcode() == Op_CMoveP ||
@@ -329,7 +329,7 @@
                       UseCompressedOops && check->as_Mach()->ideal_Opcode() == Op_DecodeN ||
 #endif
                       check->as_Mach()->ideal_Opcode() == Op_LoadP ||
-                      check->as_Mach()->ideal_Opcode() == Op_LoadKlass))
+                      check->as_Mach()->ideal_Opcode() == Op_LoadKlass)))
                     assert(false,"Bad base or derived pointer");
                 } else {
                   assert(is_derived,"Bad base pointer");
