[BACK]Return to gc-7.0-risa.diff CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000

Annotation of OpenXM_contrib2/asir2000/gc-7.0-risa.diff, Revision 1.1

1.1     ! ohara       1: %% $OpenXM$
        !             2: %% This patch is based on gc6.5-risa.diff.
        !             3: diff -urN gc-7.0.orig/alloc.c gc-7.0/alloc.c
        !             4: --- gc-7.0.orig/alloc.c        2007-06-22 11:40:30.000000000 +0900
        !             5: +++ gc-7.0/alloc.c     2007-11-09 17:29:38.000000000 +0900
        !             6: @@ -100,6 +100,7 @@
        !             7:  GC_bool GC_dont_expand = 0;
        !             8:
        !             9:  word GC_free_space_divisor = 3;
        !            10: +word GC_free_space_numerator = 1;
        !            11:
        !            12:  extern GC_bool GC_collection_in_progress();
        !            13:                /* Collection is in progress, or was abandoned. */
        !            14: @@ -160,9 +161,9 @@
        !            15:      scan_size = 2 * GC_composite_in_use + GC_atomic_in_use
        !            16:                + total_root_size;
        !            17:      if (TRUE_INCREMENTAL) {
        !            18: -        return scan_size / (2 * GC_free_space_divisor);
        !            19: +        return scan_size * GC_free_space_numerator / (2 * GC_free_space_divisor);
        !            20:      } else {
        !            21: -        return scan_size / GC_free_space_divisor;
        !            22: +        return scan_size * GC_free_space_numerator / GC_free_space_divisor;
        !            23:      }
        !            24:  }
        !            25:
        !            26: @@ -451,6 +452,7 @@
        !            27:  #   if defined(REGISTER_LIBRARIES_EARLY)
        !            28:          GC_cond_register_dynamic_libraries();
        !            29:  #   endif
        !            30: +      GC_timerstart();
        !            31:      STOP_WORLD();
        !            32:      IF_THREADS(GC_world_stopped = TRUE);
        !            33:      if (GC_print_stats) {
        !            34: @@ -479,6 +481,7 @@
        !            35:                    GC_deficit = i; /* Give the mutator a chance. */
        !            36:                      IF_THREADS(GC_world_stopped = FALSE);
        !            37:                    START_WORLD();
        !            38: +                              GC_timerstop();
        !            39:                    return(FALSE);
        !            40:            }
        !            41:            if (GC_mark_some((ptr_t)(&dummy))) break;
        !            42: @@ -503,6 +506,7 @@
        !            43:
        !            44:      IF_THREADS(GC_world_stopped = FALSE);
        !            45:      START_WORLD();
        !            46: +    GC_timerstop();
        !            47:      if (GC_print_stats) {
        !            48:        GET_TIME(current_time);
        !            49:        GC_log_printf("World-stopped marking took %lu msecs\n",
        !            50: @@ -603,6 +607,7 @@
        !            51:          /* FIXME: Add more checks.                            */
        !            52:          GC_check_tls();
        !            53:  #   endif
        !            54: +      GC_timerstart();
        !            55:
        !            56:      if (GC_print_stats)
        !            57:        GET_TIME(start_time);
        !            58: @@ -722,6 +727,7 @@
        !            59:                      MS_TIME_DIFF(finalize_time,start_time),
        !            60:                      MS_TIME_DIFF(done_time,finalize_time));
        !            61:      }
        !            62: +    GC_timerstop();
        !            63:  }
        !            64:
        !            65:  /* Externally callable routine to invoke full, stop-world collection */
        !            66: @@ -908,6 +914,9 @@
        !            67:          if (GC_collect_at_heapsize < GC_heapsize /* wrapped */)
        !            68:           GC_collect_at_heapsize = (word)(-1);
        !            69:  #     endif
        !            70: +#if defined(VISUAL_LIB)
        !            71: +    SendHeapSize();
        !            72: +#endif
        !            73:      return(TRUE);
        !            74:  }
        !            75:
        !            76: @@ -991,6 +1000,22 @@
        !            77:
        !            78:      if (gran == 0) return(0);
        !            79:
        !            80: +#if defined(VISUAL)
        !            81: +    {
        !            82: +#include <signal.h>
        !            83: +        extern int recv_intr;
        !            84: +        if ( recv_intr ) {
        !            85: +            if ( recv_intr == 1 ) {
        !            86: +                recv_intr = 0;
        !            87: +                int_handler();
        !            88: +            } else {
        !            89: +                recv_intr = 0;
        !            90: +                ox_usr1_handler(0);
        !            91: +            }
        !            92: +        }
        !            93: +    }
        !            94: +#endif
        !            95: +
        !            96:      while (*flh == 0) {
        !            97:        ENTER_GC();
        !            98:        /* Do our share of marking work */
        !            99: diff -urN gc-7.0.orig/include/private/gc_priv.h gc-7.0/include/private/gc_priv.h
        !           100: --- gc-7.0.orig/include/private/gc_priv.h      2007-06-24 11:01:15.000000000 +0900
        !           101: +++ gc-7.0/include/private/gc_priv.h   2007-11-09 17:24:21.000000000 +0900
        !           102: @@ -161,6 +161,10 @@
        !           103:  # define MAX_EXTRA_BYTES 0
        !           104:  #endif
        !           105:
        !           106: +/* Added by ohara */
        !           107: +# ifndef LARGE_CONFIG
        !           108: +#   define LARGE_CONFIG
        !           109: +# endif
        !           110:
        !           111:  # ifndef LARGE_CONFIG
        !           112:  #   define MINHINCR 16         /* Minimum heap increment, in blocks of HBLKSIZE  */
        !           113: diff -urN gc-7.0.orig/include/private/gcconfig.h gc-7.0/include/private/gcconfig.h
        !           114: --- gc-7.0.orig/include/private/gcconfig.h     2007-06-29 09:00:09.000000000 +0900
        !           115: +++ gc-7.0/include/private/gcconfig.h  2007-11-09 17:24:21.000000000 +0900
        !           116: @@ -62,6 +62,13 @@
        !           117:  # endif
        !           118:
        !           119:  /* Determine the machine type: */
        !           120: +/* T.Saito */
        !           121: +# if defined(FREEBSD) && defined(__amd64__)
        !           122: +#    define X86_64
        !           123: +#    define mach_type_known
        !           124: +# endif
        !           125: +
        !           126: +/* Determine the machine type: */
        !           127:  # if defined(__arm__) || defined(__thumb__)
        !           128:  #    define ARM32
        !           129:  #    if !defined(LINUX) && !defined(NETBSD)
        !           130: @@ -1975,6 +1982,28 @@
        !           131:  #     endif
        !           132:  #       define DATAEND  /* not needed */
        !           133:  #   endif
        !           134: +#   ifdef FREEBSD /* T.Saito */
        !           135: +#       define OS_TYPE "FREEBSD"
        !           136: +#       ifndef GC_FREEBSD_THREADS
        !           137: +#           define MPROTECT_VDB
        !           138: +#       endif
        !           139: +#       define SIG_SUSPEND SIGUSR1
        !           140: +#       define SIG_THR_RESTART SIGUSR2
        !           141: +#       define FREEBSD_STACKBOTTOM
        !           142: +#       ifdef __ELF__
        !           143: +#           define DYNAMIC_LOADING
        !           144: +#       endif
        !           145: +      extern int _etext[];
        !           146: +        extern char etext[];
        !           147: +      extern char edata[];
        !           148: +      extern char end[];
        !           149: +        extern char * GC_FreeBSDGetDataStart();
        !           150: +#     define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff))
        !           151: +#     define NEED_FIND_LIMIT
        !           152: +#     define DATAEND (GC_find_limit (DATASTART, TRUE))
        !           153: +#     define DATASTART2 ((ptr_t)(&edata))
        !           154: +#     define DATAEND2 ((ptr_t)(&end))
        !           155: +#   endif /* end T.Saito */
        !           156:  # endif
        !           157:
        !           158:  #if defined(LINUX) && defined(USE_MMAP)
        !           159: diff -urN gc-7.0.orig/reclaim.c gc-7.0/reclaim.c
        !           160: --- gc-7.0.orig/reclaim.c      2007-06-07 09:24:17.000000000 +0900
        !           161: +++ gc-7.0/reclaim.c   2007-11-09 17:32:31.000000000 +0900
        !           162: @@ -577,7 +577,7 @@
        !           163:
        !           164:      if (GC_print_stats == VERBOSE)
        !           165:        GET_TIME(start_time);
        !           166: -
        !           167: +    GC_timerstart();
        !           168:      for (kind = 0; kind < GC_n_kinds; kind++) {
        !           169:        ok = &(GC_obj_kinds[kind]);
        !           170:        rlp = ok -> ok_reclaim_list;
        !           171: @@ -599,6 +599,7 @@
        !           172:              }
        !           173:          }
        !           174:      }
        !           175: +    GC_timerstop();
        !           176:      if (GC_print_stats == VERBOSE) {
        !           177:        GET_TIME(done_time);
        !           178:        GC_log_printf("Disposing of reclaim lists took %lu msecs\n",

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