hotspot/src/share/vm/classfile/classFileParser.cpp
changeset 3273 6acf7084b1d3
parent 2534 08dac9ce0cd7
child 3579 b18b94266d60
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Fri Jul 17 00:50:55 2009 -0700
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Tue Jul 21 16:56:06 2009 -0700
@@ -3231,6 +3231,16 @@
     this_klass->set_minor_version(minor_version);
     this_klass->set_major_version(major_version);
 
+    // Set up methodOop::intrinsic_id as soon as we know the names of methods.
+    // (We used to do this lazily, but now we query it in Rewriter,
+    // which is eagerly done for every method, so we might as well do it now,
+    // when everything is fresh in memory.)
+    if (methodOopDesc::klass_id_for_intrinsics(this_klass->as_klassOop()) != vmSymbols::NO_SID) {
+      for (int j = 0; j < methods->length(); j++) {
+        ((methodOop)methods->obj_at(j))->init_intrinsic_id();
+      }
+    }
+
     if (cached_class_file_bytes != NULL) {
       // JVMTI: we have an instanceKlass now, tell it about the cached bytes
       this_klass->set_cached_class_file(cached_class_file_bytes,