/[gcl]/gcl/o/fasdump.c
ViewVC logotype

Diff of /gcl/o/fasdump.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by camm, Thu Feb 27 15:50:59 2003 UTC revision 1.9.6.1 by camm, Thu Nov 6 16:16:50 2003 UTC
# Line 509  do_hash(object obj, int dot) Line 509  do_hash(object obj, int dot)
509    
510  static void write_fasd(object obj);  static void write_fasd(object obj);
511  static object  static object
512  write_fasd_top(object obj, object x)  FFN(write_fasd_top)(object obj, object x)
513  {struct fasd *fd = (struct fasd *) x->v.v_self;  {struct fasd *fd = (struct fasd *) x->v.v_self;
514    if (fd->direction == sKoutput)    if (fd->direction == sKoutput)
515      SETUP_FASD_IN(fd);      SETUP_FASD_IN(fd);
# Line 531  write_fasd_top(object obj, object x) Line 531  write_fasd_top(object obj, object x)
531    if (needs_patching)  result =fasd_patch_sharp(result,0)    if (needs_patching)  result =fasd_patch_sharp(result,0)
532    
533  static object  static object
534  read_fasd_top(object x)  FFN(read_fasd_top)(object x)
535  {  struct fasd *fd = (struct fasd *)  x->v.v_self;  {  struct fasd *fd = (struct fasd *)  x->v.v_self;
536     VOL int e=0;     VOL int e=0;
537     object result;     object result;
# Line 577  object sSPinit; Line 577  object sSPinit;
577  void Lmake_hash_table();  void Lmake_hash_table();
578    
579  static object  static object
580  open_fasd(object stream, object direction, object eof, object tabl)  FFN(open_fasd)(object stream, object direction, object eof, object tabl)
581  {  object str=Cnil;  {  object str=Cnil;
582     object result;     object result;
583     if(direction==sKinput)     if(direction==sKinput)
# Line 628  open_fasd(object stream, object directio Line 628  open_fasd(object stream, object directio
628    }}    }}
629    
630  static object  static object
631  close_fasd(object ar)  FFN(close_fasd)(object ar)
632  {  struct fasd *fd= (struct fasd *)(ar->v.v_self);  {  struct fasd *fd= (struct fasd *)(ar->v.v_self);
633     check_type(ar,t_vector);     check_type(ar,t_vector);
634     if (type_of(fd->table)==t_vector)     if (type_of(fd->table)==t_vector)
# Line 1051  find_sharing(object x) Line 1051  find_sharing(object x)
1051  }  }
1052    
1053  static object  static object
1054  find_sharing_top(object x, object table)  FFN(find_sharing_top)(object x, object table)
1055  {sharing_table=table;  {sharing_table=table;
1056   find_sharing(x);   find_sharing(x);
1057   return Ct;   return Ct;
# Line 1514  read_fasl_vector(object in) Line 1514  read_fasl_vector(object in)
1514       if (ch== d_begin_dump){       if (ch== d_begin_dump){
1515         unreadc_stream(ch,in);         unreadc_stream(ch,in);
1516         break;}}         break;}}
1517   {object ar=open_fasd(in,sKinput,0,Cnil);   {object ar=FFN(open_fasd)(in,sKinput,0,Cnil);
1518    int n=fix(current_fasd.table_length);    int n=fix(current_fasd.table_length);
1519    object result,last;    object result,last;
1520    { BEGIN_NO_INTERRUPT;    { BEGIN_NO_INTERRUPT;
# Line 1530  read_fasl_vector(object in) Line 1530  read_fasl_vector(object in)
1530    gset( current_fasd.table->v.v_self,0,n,aet_object);    gset( current_fasd.table->v.v_self,0,n,aet_object);
1531    END_NO_INTERRUPT;    END_NO_INTERRUPT;
1532    }      }  
1533    result=read_fasd_top(ar);    result=FFN(read_fasd_top)(ar);
1534    if (type_of(result) !=t_vector) goto ERROR;    if (type_of(result) !=t_vector) goto ERROR;
1535    last=result->v.v_self[result->v.v_fillp-1];    last=result->v.v_self[result->v.v_fillp-1];
1536    if(type_of(last)!=t_cons || last->c.c_car !=sSPinit)    if(type_of(last)!=t_cons || last->c.c_car !=sSPinit)
1537      goto ERROR;      goto ERROR;
1538    current_fasd.table->v.v_self = 0;    current_fasd.table->v.v_self = 0;
1539    close_fasd(ar);    FFN(close_fasd)(ar);
1540    if (orig != in)    if (orig != in)
1541      close_stream(in);      close_stream(in);
1542    return result;    return result;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.9.6.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26