/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */ #ifdef JCGO_SEPARATED #define JCGO_116 #include "jcgortl.h" #include "Main.h" #endif #ifdef JCGO_116 #ifdef CHKALL_java_net_ResolverCache #include "jcgobchk.h" #endif JCGO_NOSEP_INLINE java_lang_Object CFASTCALL java_net_ResolverCache__makeHashableAddress__BA( jbyteArr addr ) { { jcharArr chars; chars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar), 0, JCGO_ARRAY_LENGTH(addr)); { jint i; i= 0; for (; i < JCGO_ARRAY_NZLENGTH(addr); i++) { jchar jcgo_rcvrC1; (jcgo_rcvrC1= (jchar)JCGO_ARRAY_NZBACCESS(addr, i), JCGO_ARRAY_NZCACCESS(chars, i)= jcgo_rcvrC1); } } return (java_lang_Object)(java_lang_String__new__CA( chars)); } } JCGO_NOSEP_STATIC jint CFASTCALL java_net_ResolverCache__getTTL__LsI( java_lang_String propName, jint defaultValue ) { { java_lang_String propValue; propValue= (gnu_classpath_SystemProperties__getProperty__Ls( propName)); if (propValue == jnull) { return defaultValue; } return (java_lang_Integer__parseInt__Ls( propValue)); } } JCGO_NOSEP_FRWINL java_lang_String CFASTCALL java_net_ResolverCache__getHostByAddr__BA( jbyteArr addr ) { JCGO_CLINIT_TRIG(java_net_ResolverCache__class); { java_lang_Object key; java_net_ResolverCache_Entry entry; key= (java_net_ResolverCache__makeHashableAddress__BA( addr)); entry= (java_net_ResolverCache_Entry)(java_net_ResolverCache__get__Lo( key)); if (entry != jnull) { if (JCGO_FIELD_NZACCESS(entry, value) == jnull) { JCGO_THROW_EXC(java_net_UnknownHostException__new__()); } return (java_lang_String)JCGO_CAST_OBJECT0(OBJT_java_lang_String, MAXT_java_lang_String, JCGO_FIELD_NZACCESS(entry, value)); } { JCGO_TRY_BLOCK { java_lang_String hostname; hostname= (java_net_VMInetAddress__getHostByAddr__BA( addr)); (java_net_ResolverCache__put__L4levq( (java_net_ResolverCache_Entry__new__LoLo( key, (java_lang_Object)hostname)))); #ifndef JCGO_SEHTRY jcgo_tryLeave(); #endif return hostname; } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_net_UnknownHostException, MAXT_java_net_UnknownHostException) { java_net_UnknownHostException e; e= (java_net_UnknownHostException)JCGO_TRY_THROWABLE(0); (java_net_ResolverCache__put__L4levq( (java_net_ResolverCache_Entry__new__LoLo( key, (java_lang_Object)jnull)))); JCGO_THROW_EXC(e); } JCGO_TRY_RETHROW(1) } } return jnull; } JCGO_NOSEP_FRWINL jObjectArr CFASTCALL java_net_ResolverCache__getHostByName__Ls( java_lang_String hostname ) { JCGO_CLINIT_TRIG(java_net_ResolverCache__class); { java_net_ResolverCache_Entry entry; entry= (java_net_ResolverCache_Entry)(java_net_ResolverCache__get__Lo( (java_lang_Object)hostname)); if (entry != jnull) { if (JCGO_FIELD_NZACCESS(entry, value) == jnull) { JCGO_THROW_EXC(java_net_UnknownHostException__new__()); } return (jObjectArr)JCGO_CAST_OBJECT(OBJT_jbyte, MAXT_jbyte, 2, JCGO_FIELD_NZACCESS(entry, value)); } { JCGO_TRY_BLOCK { jObjectArr addrs; addrs= (java_net_VMInetAddress__getHostByName__Ls( hostname)); (java_net_ResolverCache__put__L4levq( (java_net_ResolverCache_Entry__new__LoLo( (java_lang_Object)hostname, (java_lang_Object)addrs)))); #ifndef JCGO_SEHTRY jcgo_tryLeave(); #endif return addrs; } JCGO_TRY_LEAVE JCGO_TRY_CATCHES(1) JCGO_TRY_CATCH(OBJT_java_net_UnknownHostException, MAXT_java_net_UnknownHostException) { java_net_UnknownHostException e; e= (java_net_UnknownHostException)JCGO_TRY_THROWABLE(0); (java_net_ResolverCache__put__L4levq( (java_net_ResolverCache_Entry__new__LoLo( (java_lang_Object)hostname, (java_lang_Object)jnull)))); JCGO_THROW_EXC(e); } JCGO_TRY_RETHROW(1) } } return jnull; } JCGO_NOSEP_STATIC java_net_ResolverCache_Entry CFASTCALL java_net_ResolverCache__get__Lo( java_lang_Object key ) { JCGO_SYNC_BLOCKSAFENZ(JCGO_CLASSREF_OF(java_net_ResolverCache__class)) { jObject jcgo_rcvrL1; (java_net_ResolverCache__reap__()); { java_net_ResolverCache_Entry jcgo_retval= (java_net_ResolverCache_Entry)JCGO_CAST_OBJECT0(OBJT_java_net_ResolverCache_Entry, MAXT_java_net_ResolverCache_Entry, (jcgo_rcvrL1= (jObject)java_net_ResolverCache__cache, JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__get__Lo( (java_util_HashMap)jcgo_rcvrL1, key))); #ifndef JCGO_SEHTRY JCGO_SYNC_JUMPLEAVE(0); #endif return jcgo_retval; } } JCGO_SYNC_ENDUNREACH } JCGO_NOSEP_STATIC void CFASTCALL java_net_ResolverCache__put__L4levq( java_net_ResolverCache_Entry entry ) { JCGO_SYNC_BLOCKSAFENZ(JCGO_CLASSREF_OF(java_net_ResolverCache__class)) { (java_net_ResolverCache__reap__()); if (JCGO_FIELD_ACCESS(java_net_ResolverCache_Entry, entry, expires) != 0) { jObject jcgo_rcvrL1; if (JCGO_FIELD_NZACCESS(entry, expires) != (-(jint)1)) { jObject jcgo_rcvrL1; (jcgo_rcvrL1= (jObject)java_net_ResolverCache__killqueue, JCGO_CALL_FINALF((java_util_LinkedList)jcgo_rcvrL1) java_util_LinkedList__add__Lo( (java_util_LinkedList)jcgo_rcvrL1, (java_lang_Object)entry)); } (jcgo_rcvrL1= (jObject)java_net_ResolverCache__cache, JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__put__LoLo( (java_util_HashMap)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(entry, key), (java_lang_Object)entry)); } } JCGO_SYNC_END } JCGO_NOSEP_STATIC void CFASTCALL java_net_ResolverCache__reap__( void ) { { jObject jcgo_rcvrL1; if (!(jcgo_rcvrL1= (jObject)java_net_ResolverCache__killqueue, JCGO_CALL_FINALF((java_util_LinkedList)jcgo_rcvrL1) java_util_AbstractCollection__isEmpty__( (java_util_AbstractCollection)jcgo_rcvrL1))) { java_util_Iterator iter; jlong now; jObject jcgo_rcvrL1; now= (java_lang_System__currentTimeMillis__()); iter= (jcgo_rcvrL1= (jObject)java_net_ResolverCache__killqueue, JCGO_CALL_FINALF((java_util_LinkedList)jcgo_rcvrL1) java_util_AbstractSequentialList__iterator__( (java_util_AbstractSequentialList)jcgo_rcvrL1)); while ((JCGO_CALL_VFUNC(iter)->hasNext__( iter))) { java_net_ResolverCache_Entry entry; jObject jcgo_rcvrL1; entry= (java_net_ResolverCache_Entry)JCGO_CAST_OBJECT0(OBJT_java_net_ResolverCache_Entry, MAXT_java_net_ResolverCache_Entry, (JCGO_CALL_NZVFUNC(iter)->next__( iter))); if (JCGO_FIELD_ACCESS(java_net_ResolverCache_Entry, entry, expires) > now) { break; } (jcgo_rcvrL1= (jObject)java_net_ResolverCache__cache, JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__remove__Lo( (java_util_HashMap)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(entry, key))); (JCGO_CALL_NZVFUNC(iter)->remove__( iter)); } } } } JCGO_NOSEP_STATIC java_net_ResolverCache CFASTCALL java_net_ResolverCache__this__( java_net_ResolverCache This ) { { ; } return This; } JCGO_NOSEP_STATIC void CFASTCALL java_net_ResolverCache__class__0( void ) { JCGO_CLINIT_BEGIN(java_net_ResolverCache__class); java_net_ResolverCache__POSITIVE_TTL= (java_net_ResolverCache__getTTL__LsI( JCGO_STRREF_OF(jcgo_string2_RslvrCch), (-(jint)1))); java_net_ResolverCache__NEGATIVE_TTL= (java_net_ResolverCache__getTTL__LsI( JCGO_STRREF_OF(jcgo_string3_RslvrCch), (jint)10)); java_net_ResolverCache__cache= java_util_HashMap__new__(); java_net_ResolverCache__killqueue= java_util_LinkedList__new__(); JCGO_CLINIT_DONE(java_net_ResolverCache__class); } JCGO_NOSEP_DATA CONST struct java_net_ResolverCache_methods_s java_net_ResolverCache_methods= { JCGO_CLASSREF_OF(java_net_ResolverCache__class), JCGO_GCJDESCR_ZEROINIT OBJT_java_net_ResolverCache, -(JCGO_OBJSIZE_T)sizeof(struct java_net_ResolverCache_s), NULL, JCGO_CLINIT_INIT(java_net_ResolverCache__class__0) java_net_ResolverCache__this__, java_lang_Object__equals__Lo, java_lang_Object__hashCode__, java_lang_Object__toString__, java_lang_Object__finalize__ }; JCGO_NOSEP_DATA struct java_net_ResolverCache_class_s java_net_ResolverCache__class ATTRIBNONGC= { { &java_lang_Class_methods, JCGO_MON_INIT JCGO_OBJREF_OF(*(java_lang_Object)&java_net_ResolverCache_methods), JCGO_STRREF_OF(jcgo_string1_RslvrCch), JCGO_CLASSREF_OF(java_lang_Object__class), ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)), 0x1c0 } }; JCGO_NOSEP_GCDATA java_util_HashMap java_net_ResolverCache__cache ATTRIBGCBSS= jnull; JCGO_NOSEP_GCDATA java_util_LinkedList java_net_ResolverCache__killqueue ATTRIBGCBSS= jnull; JCGO_NOSEP_DATA jint java_net_ResolverCache__POSITIVE_TTL= (jint)0; JCGO_NOSEP_DATA jint java_net_ResolverCache__NEGATIVE_TTL= (jint)0; JCGO_NOSEP_DATA CONST jcgo_arrtype90_GmCnnctn jcgo_array4_RslvrCch= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 28, { (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)82/*'R'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)67/*'C'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)36/*'$'*/, (jbyte)(jchar)69/*'E'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)121/*'y'*/ } }; JCGO_NOSEP_DATA CONST jcgo_arrtype94_GmCnnctn jcgo_array5_RslvrCch= { (jvtable)&jbyteArr_methods, JCGO_MON_INIT 24, { (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)119/*'w'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)107/*'k'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)108/*'l'*/ } }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_RslvrCch JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array4_RslvrCch), 0, 22, (jint)0xc40adb9fL }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_RslvrCch JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array5_RslvrCch), 0, 24, (jint)0x1d22df98L }; JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_RslvrCch JCGO_THRD_ATTRNONGC= { &java_lang_String_methods, JCGO_MON_INIT (java_lang_Object)JCGO_OBJREF_OF(jcgo_array453_VMSstmPr), 0, 33, (jint)0xa2aa1887L }; #ifdef CHKALL_java_net_ResolverCache #include "jcgochke.h" #endif #endif