Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/native/java/net/Inet6Address.c
          +++ new/src/share/native/java/net/Inet6Address.c
↓ open down ↓ 40 lines elided ↑ open up ↑
  41   41  jfieldID ia6_scopeifnamesetID;
  42   42  jmethodID ia6_ctrID;
  43   43  
  44   44  /*
  45   45   * Class:     java_net_Inet6Address
  46   46   * Method:    init
  47   47   * Signature: ()V
  48   48   */
  49   49  JNIEXPORT void JNICALL
  50   50  Java_java_net_Inet6Address_init(JNIEnv *env, jclass cls) {
  51      -    jclass c = (*env)->FindClass(env, "java/net/Inet6Address");
  52      -    CHECK_NULL(c);
  53      -    ia6_class = (*env)->NewGlobalRef(env, c);
  54      -    CHECK_NULL(ia6_class);
  55      -    ia6_ipaddressID = (*env)->GetFieldID(env, ia6_class, "ipaddress", "[B");
  56      -    CHECK_NULL(ia6_ipaddressID);
  57      -    ia6_scopeidID = (*env)->GetFieldID(env, ia6_class, "scope_id", "I");
  58      -    CHECK_NULL(ia6_scopeidID);
  59      -    ia6_cachedscopeidID = (*env)->GetFieldID(env, ia6_class, "cached_scope_id", "I");
  60      -    CHECK_NULL(ia6_cachedscopeidID);
  61      -    ia6_scopeidsetID = (*env)->GetFieldID(env, ia6_class, "scope_id_set", "Z");
  62      -    CHECK_NULL(ia6_scopeidID);
  63      -    ia6_scopeifnameID = (*env)->GetFieldID(env, ia6_class, "scope_ifname", "Ljava/net/NetworkInterface;");
  64      -    CHECK_NULL(ia6_scopeifnameID);
  65      -    ia6_scopeifnamesetID = (*env)->GetFieldID(env, ia6_class, "scope_ifname_set", "Z");
  66      -    CHECK_NULL(ia6_scopeifnamesetID);
  67      -    ia6_ctrID = (*env)->GetMethodID(env, ia6_class, "<init>", "()V");
  68      -    CHECK_NULL(ia6_ctrID);
       51 +    if (ia6_ctrID == NULL) {
       52 +        jclass c = (*env)->FindClass(env, "java/net/Inet6Address");
       53 +        CHECK_NULL(c);
       54 +        ia6_class = (*env)->NewGlobalRef(env, c);
       55 +        CHECK_NULL(ia6_class);
       56 +        ia6_ipaddressID = (*env)->GetFieldID(env, ia6_class, "ipaddress", "[B");
       57 +        CHECK_NULL(ia6_ipaddressID);
       58 +        ia6_scopeidID = (*env)->GetFieldID(env, ia6_class, "scope_id", "I");
       59 +        CHECK_NULL(ia6_scopeidID);
       60 +        ia6_cachedscopeidID = (*env)->GetFieldID(env, ia6_class, "cached_scope_id", "I");
       61 +        CHECK_NULL(ia6_cachedscopeidID);
       62 +        ia6_scopeidsetID = (*env)->GetFieldID(env, ia6_class, "scope_id_set", "Z");
       63 +        CHECK_NULL(ia6_scopeidID);
       64 +        ia6_scopeifnameID = (*env)->GetFieldID(env, ia6_class, "scope_ifname", "Ljava/net/NetworkInterface;");
       65 +        CHECK_NULL(ia6_scopeifnameID);
       66 +        ia6_scopeifnamesetID = (*env)->GetFieldID(env, ia6_class, "scope_ifname_set", "Z");
       67 +        CHECK_NULL(ia6_scopeifnamesetID);
       68 +        ia6_ctrID = (*env)->GetMethodID(env, ia6_class, "<init>", "()V");
       69 +    }
  69   70  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX