Delay in program start w/HASHED_DICTIONARY usage
Xavier Oswald
xoswald at gmail.com
Fri Jul 31 13:37:15 UTC 2009
On 09:23 Fri 31 Jul , Jeremy @ Cowgar wrote:
> Hello Xavier,
>
> Um, wow. That's quite some C code! I saw references to
> HASHED_DICTIONARY in main, but what it's doing, I don't know. Here
> is the main function:
Ok, so it's a compiler bug or maybe Benoit's work around this is not finished..
It's an exeperimental version ;)
> int main(int argc,char **argv)
> {
> __POINTER__EB ptr__BD,__tmp__HD,__tmp__VSJ,__tmp__XSJ,__tmp__0SJ;
> __POINTER__EB __tmp__QLJ,__tmp__SFB,__tmp__HGB,__tmp__01,result__D5;
> __POINTER__EB __tmp__0MJ,__tmp__P5,__tmp__T5,__tmp__RDC,__tmp__0DB;
> __POINTER__EB __tmp__WEB,__tmp__0PF,siz__2OF,__tmp__1PF;
> __INTEGER__M typ_id__FD,Self__EMC;
> __UINTEGER_32__AE __tmp__YSJ,__tmp__LE,__tmp__TEB,idx__NUD;
> __MEMORY__3D *result__MUD,*__tmp__JWD,*Self__ZOF,*prev__RWF,*next__SWF;
> __MEMORY__3D *__tmp__NQF;
> void **Result__M1;
> arg_count = argc;
> arg_vector = argv;
> #ifdef _PTHREAD_H
> pthread_key_create(¤t_thread, NULL);
> pthread_attr_init(&thread_attr);
> /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
> #endif
> ;
> clone_allocation_size__TD=((__POINTER__EB )(NULL));
> nb_page__IVB= 0;
> MEMORY__3D__->size_and_id__CE= 0;
> capacity_max__DXD=((__POINTER__EB )(NULL));
> begin_memory__AMB=((__POINTER__EB )(NULL));
> MEMORY__3D__->previous_linear__5D=((__POINTER__EB )(NULL));
> ptr__BD=((__POINTER__EB )(NULL));
> typ_id__FD= 0;
> __tmp__HD=((__POINTER__EB )sizeof(__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB));
> if ((__tmp__HD != 0)) {
> typ_id__FD=__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB__;
> clone_allocation_size__TD=(void *)((unsigned long)clone_allocation_size__TD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__HD));
> if ((typ_id__FD == (__INTEGER__M)(- 1))) {
> (&__string_1)->storage__3B="Memory: Size bound.";
> __tmp__VSJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
> __tmp__XSJ=(void *)((unsigned long)(void *)((unsigned long)__tmp__HD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__VSJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__VSJ) - (unsigned long)((__POINTER__EB ) 1)));
> (&__string_2)->storage__3B="Memory: Alignment.";
> __tmp__YSJ=((__UINTEGER_32__AE )((__INTEGER__M )(void *)((unsigned long)__tmp__XSJ / (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))))));
> (&__string_3)->storage__3B="Memory: Bound table_size.";
> __tmp__0SJ=micro_alloc__table__lab__FKB(__tmp__XSJ,((__POINTER__EB )(&(table_size[(__tmp__YSJ)-1]))),((__UINTEGER_32__AE )((__INTEGER__M )__tmp__XSJ)));
> ptr__BD=__tmp__0SJ;
> } else /* FALSE */ {
> __tmp__LE=((__UINTEGER_32__AE )typ_id__FD);
> __tmp__QLJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
> __tmp__SFB=(void *)((unsigned long)(void *)((unsigned long)__tmp__HD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__QLJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__QLJ) - (unsigned long)((__POINTER__EB ) 1)));
> __tmp__HGB=micro_alloc__table__lab__FKB(__tmp__SFB,((__POINTER__EB )(&(table_type[(__tmp__LE)]))),(__UINTEGER_32__AE)(__tmp__LE | 1));
> ptr__BD=__tmp__HGB;
> };
> *(((__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB *)ptr__BD)) = *(HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB__);
> };
> __tmp__01=((__POINTER__EB )(__INTEGER__M)( 193 * ((__INTEGER__M )(sizeof(void *)))));
> result__D5=((__POINTER__EB )(NULL));
> __tmp__0MJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
> __tmp__P5=(void *)((unsigned long)(void *)((unsigned long)__tmp__01 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__0MJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__0MJ) - (unsigned long)((__POINTER__EB ) 1)));
> __tmp__T5=(void *)((unsigned long)__tmp__P5 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *))))));
> if ((__tmp__T5 <= ((__POINTER__EB )(MINIMUM_SIZE)))) {
> __tmp__RDC=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
> __tmp__0DB=(void *)((unsigned long)(void *)((unsigned long)__tmp__T5 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__RDC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__RDC) - (unsigned long)((__POINTER__EB ) 1)));
> __tmp__TEB=((__UINTEGER_32__AE )((__INTEGER__M )(void *)((unsigned long)__tmp__0DB / (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))))));
> __tmp__WEB=micro_alloc__table__lab__FKB(__tmp__0DB,((__POINTER__EB )(&(table_size[(__tmp__TEB)-1]))),((__UINTEGER_32__AE )((__INTEGER__M )__tmp__0DB)));
> ((__POINTER__EB *)__tmp__WEB)[ 0]=((__POINTER__EB ) 3);
> result__D5=(void *)((unsigned long)__tmp__WEB - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *))))));
> } else /* FALSE */ {
> result__MUD=first_free__LVD;
> while ((((void *)result__MUD != (void *)NULL) && (((__POINTER__EB )(__UINTEGER_32__AE)(((__MEMORY__3D *)result__MUD)->size_and_id__CE & 4294967292LU)) < __tmp__P5))) {
> result__MUD=result__MUD->next_free__DE;
> };
> if (((void *)result__MUD == (void *)NULL)) {
> __tmp__JWD=new_page__1WD();
> result__MUD=__tmp__JWD;
> };
> idx__NUD=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)((void *)((unsigned long)((__POINTER__EB )((__MEMORY__3D *)result__MUD)) - (unsigned long)begin_memory__AMB)))) >> 26);
> Self__ZOF=((__MEMORY__3D *)result__MUD);
> prev__RWF=Self__ZOF->previous_free__EE;
> next__SWF=Self__ZOF->next_free__DE;
> if (((void *)prev__RWF == (void *)NULL)) {
> first_free__LVD=next__SWF;
> } else /* FALSE */ {
> ((__MEMORY__3D *)prev__RWF)->next_free__DE=next__SWF;
> };
> if (((void *)next__SWF != (void *)NULL)) {
> ((__MEMORY__3D *)next__SWF)->previous_free__EE=prev__RWF;
> };
> __tmp__0PF=((__POINTER__EB )Self__ZOF->size_and_id__CE);
> siz__2OF=__tmp__0PF;
> __tmp__1PF=(void *)((unsigned long)__tmp__0PF - (unsigned long)__tmp__P5);
> if ((__tmp__1PF > (void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )(MINIMUM_SIZE)) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 2))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))))) {
> siz__2OF=__tmp__P5;
> __tmp__NQF=((__MEMORY__3D *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )Self__ZOF) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__P5)));
> __tmp__NQF->previous_linear__5D=(void *)((unsigned long)((__POINTER__EB )Self__ZOF) - (unsigned long)begin_memory__AMB);
> __tmp__NQF->size_and_id__CE=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)(__tmp__1PF))) - 8);
> __tmp__NQF->next_free__DE=first_free__LVD;
> __tmp__NQF->previous_free__EE=NULL;
> if (((void *)first_free__LVD != (void *)NULL)) {
> ((__MEMORY__3D *)first_free__LVD)->previous_free__EE=__tmp__NQF;
> };
> first_free__LVD=__tmp__NQF;
> if (((__UINTEGER_32__AE)(__tmp__NQF->size_and_id__CE & 2) != 0)) {
> last_block[(idx__NUD)] = (__tmp__NQF);
> } else /* FALSE */ {
> ((__MEMORY__3D *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )__tmp__NQF) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )(__UINTEGER_32__AE)(__tmp__NQF->size_and_id__CE & 4294967292LU)))))->previous_linear__5D=(void *)((unsigned long)((__POINTER__EB )__tmp__NQF) - (unsigned long)begin_memory__AMB);
> };
> };
> Self__ZOF->size_and_id__CE=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)(siz__2OF))) | 1);
> result__D5=(void *)((unsigned long)((__POINTER__EB )((__MEMORY__3D *)result__MUD)) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8)));
> };
> Result__M1=((void **)result__D5);
> Self__EMC= 192;
> while ((Self__EMC >= 0)) {
> Result__M1[Self__EMC]=NULL;
> Self__EMC=(__INTEGER__M)(Self__EMC - 1);
> };
> puts(("Hello, World!"));
> return(0);
> }
>
>
> Jeremy
> mailto:jeremy at cowgar.com
>
> ============
> Friday, July 31, 2009, 9:16:10 AM, you wrote:
>
> > On 09:14 Fri 31 Jul , Jeremy @ Cowgar wrote:
> >> Hello Xavier,
> >>
> >> Further, why a 1-2 second delay just to create a hashed dictionary?
> >> Even if it were not dead code, there shouldn't be such a noticeable
> >> delay.
>
> > Right !
>
> > Can you have a look at the produced C code if there is something linked to the
> > this dictionnary ... ? Looking in the main() is enough..
>
>
> _______________________________________________
> Lisaac-devel mailing list
> Lisaac-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
--
,''`. ** Xavier Oswald <xoswald at debian.org>
: :' : ** Research Engineer
`. `' ** GNU/LINUX Debian Developer (http://debian.org)
`- ** Isaac Project Developer (http://isaacproject.u-strasbg.fr/)
More information about the Lisaac-devel
mailing list