[BACK]Return to gc_risa.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / parse

Diff for /OpenXM_contrib2/asir2018/parse/gc_risa.c between version 1.1 and 1.6

version 1.1, 2018/09/19 05:45:08 version 1.6, 2022/03/30 05:55:34
Line 1 
Line 1 
 /* $OpenXM$ */  /* $OpenXM: OpenXM_contrib2/asir2018/parse/gc_risa.c,v 1.5 2020/10/04 03:14:09 noro Exp $ */
   
 #if defined(VISUAL) || defined(__MINGW32__)  #if defined(VISUAL) || defined(__MINGW32__)
 #include "private/gcconfig.h"  #include "private/gcconfig.h"
Line 7 
Line 7 
 #endif  #endif
 #endif  #endif
 #include "gc.h"  #include "gc.h"
   #include <stdio.h>
   #include <stdlib.h>
 #include <time.h>  #include <time.h>
 #include <signal.h>  #include <signal.h>
   
 void error(char *);  void error(char *);
 void int_handler();  void int_handler();
   void ox_usr1_handler(int sig);
   
 int *StackBottom;  int *StackBottom;
 int in_gc, caught_intr;  int in_gc, caught_intr;
   
   #if defined(_WIN64)
   extern int recv_intr;
   
 void check_caught_intr()  void check_caught_intr()
 {  {
     if ( caught_intr == 1 || recv_intr == 1 ) {
       caught_intr = 0; recv_intr = 0;
       int_handler(SIGINT);
     } else if ( caught_intr == 2 || recv_intr == 2 ) {
       caught_intr = 0; recv_intr = 0;
       fprintf(stderr,"entering reset mode...\n");
       ox_usr1_handler(SIGUSR1);
     }
   }
   #else
   void check_caught_intr()
   {
   if ( caught_intr == 1 ) {    if ( caught_intr == 1 ) {
     caught_intr = 0;      caught_intr = 0;
     int_handler(SIGINT);      int_handler(SIGINT);
   } else if ( caught_intr == 2 ) {    } else if ( caught_intr == 2 ) {
     caught_intr = 0;      caught_intr = 0;
       fprintf(stderr,"entering reset mode...\n");
     ox_usr1_handler(SIGUSR1);      ox_usr1_handler(SIGUSR1);
     }    }
 }  }
   #endif
   
 void *Risa_GC_malloc(size_t d)  void *Risa_GC_malloc(size_t d)
 {  {
Line 240  extern int GC_free_space_numerator;
Line 260  extern int GC_free_space_numerator;
   
 void Risa_GC_get_adj(int *nm, int *dn) {  void Risa_GC_get_adj(int *nm, int *dn) {
   *nm = GC_free_space_numerator;    *nm = GC_free_space_numerator;
   *dn = GC_free_space_divisor;    *dn = GC_get_free_space_divisor();
 }  }
   
 void Risa_GC_set_adj(int nm, int dn) {  void Risa_GC_set_adj(int nm, int dn) {
   GC_free_space_numerator = nm;    GC_free_space_numerator = nm;
   GC_free_space_divisor = dn;    GC_set_free_space_divisor(dn);
 }  }
 #else  #else
 void Risa_GC_get_adj(int *nm, int *dn) {  void Risa_GC_get_adj(int *nm, int *dn) {
   *nm = 1;    *nm = 1;
   *dn = GC_free_space_divisor;    *dn = GC_get_free_space_divisor();
 }  }
   
 void Risa_GC_set_adj(int nm, int dn) {  void Risa_GC_set_adj(int nm, int dn) {
   GC_free_space_divisor = dn/nm;    GC_set_free_space_divisor(dn/nm);
 }  }
   #endif
 double GC_get_gctime() {  double GC_get_gctime() {
   return 0.0;    return 0.0;
 }  }
 #endif  
   
 #if defined(MSWIN32) && !defined(VISUAL) && !defined(__MINGW32__)  #if defined(MSWIN32) && !defined(VISUAL) && !defined(__MINGW32__)
 #include <signal.h>  #include <signal.h>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>