diff src/share/vm/opto/doCall.cpp @ 1645:3941674cc7fa

6958668: repeated uncommon trapping for new of klass which is being initialized Reviewed-by: kvn, jrose
author never
date Mon, 12 Jul 2010 10:58:25 -0700
parents c18cbe5936b8
children 8aa5fd5d2046
line wrap: on
line diff
--- a/src/share/vm/opto/doCall.cpp	Thu Jul 08 14:29:44 2010 -0700
+++ b/src/share/vm/opto/doCall.cpp	Mon Jul 12 10:58:25 2010 -0700
@@ -343,7 +343,8 @@
   // being initialized.  Uncommon-trap for not-initialized static or
   // v-calls.  Let interface calls happen.
   ciInstanceKlass* holder_klass = dest_method->holder();
-  if (!holder_klass->is_initialized() &&
+  if (!holder_klass->is_being_initialized() &&
+      !holder_klass->is_initialized() &&
       !holder_klass->is_interface()) {
     uncommon_trap(Deoptimization::Reason_uninitialized,
                   Deoptimization::Action_reinterpret,