From: <cli...@li...> - 2009-02-13 12:08:53
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog,1.6821,1.6822 spvw_garcol.d,1.127,1.128 (Sam Steingold) ---------------------------------------------------------------------- Message: 1 Date: Thu, 12 Feb 2009 20:05:25 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog,1.6821,1.6822 spvw_garcol.d,1.127,1.128 To: cli...@li... Message-ID: <E1L...@dd...> Update of /cvsroot/clisp/clisp/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32744/src Modified Files: ChangeLog spvw_garcol.d Log Message: avoid preprocessor instructions inside macro invocations (fill_relocation_memory_regions): define SET_HEAPNR and MARK_GEN1 for use in for_all_threads() Index: spvw_garcol.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_garcol.d,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- spvw_garcol.d 4 Feb 2009 15:16:26 -0000 1.127 +++ spvw_garcol.d 12 Feb 2009 20:05:23 -0000 1.128 @@ -1648,7 +1648,7 @@ var varobj_mem_region *mit=regs+1; var aint vs; /* start address of varobject*/ var_prepare_objsize; -#ifdef GENERATIONAL_GC + #ifdef GENERATIONAL_GC /* find the heap. we are going to mark physical pages that containg pinned objects */ #ifdef SPVW_PURE @@ -1656,8 +1656,29 @@ #else /* SPVW_MIXED */ var Heap* heap = &mem.varobjects; #endif -#endif + #define MARK_GEN1 \ + if (generation == 1) { /* gen1 only */ \ + if ((heap->heap_gen0_start <= vs) && (vs < heap->heap_gen0_end) && \ + (heap->physpages != NULL)) { /* is the object on old gen? */ \ + /* let's mark the physical pages to preserve VM protection */ \ + var aint es = vs + objsize((Varobject)vs); /* end address */ \ + for (vs &= -physpagesize; vs < es; vs += physpagesize) { \ + var uintL pageno = (vs>>physpageshift) - \ + (heap->heap_gen0_start>>physpageshift); \ + var physpage_state_t* physpage = &heap->physpages[pageno]; \ + physpage_pin_mark(physpage); \ + } \ + } \ + } + #else + #define MARK_GEN1 + #endif *count=1; + #ifdef SPVW_PURE + #define SET_HEAPNR mit->heapnr = heapnr + #else + #define SET_HEAPNR + #endif for_all_threads({ chain = thread->_pinned; while (chain) { @@ -1665,28 +1686,14 @@ /* are we inside range? */ if (start<=vs && end>vs) { mit->start=vs; mit->size=objsize((Varobject)vs); - #ifdef SPVW_PURE - mit->heapnr = heapnr; - #endif + SET_HEAPNR; mit++; (*count)++; } - #ifdef GENERATIONAL_GC - if (generation == 1) { /* gen1 only */ - if ((heap->heap_gen0_start <= vs) && (vs < heap->heap_gen0_end) && - (heap->physpages != NULL)) { /* is the object on old gen? */ - /* let's mark the physical pages to preserve VM protection */ - var aint es = vs + objsize((Varobject)vs); /* end address */ - for (vs &= -physpagesize; vs < es; vs += physpagesize) { - var uintL pageno = (vs>>physpageshift) - - (heap->heap_gen0_start>>physpageshift); - var physpage_state_t* physpage = &heap->physpages[pageno]; - physpage_pin_mark(physpage); - } - } - } - #endif + MARK_GEN1; chain = chain->_next; }}); + #undef SET_HEAPNR + #undef MARK_GEN1 regs->start=start; /* set the first region */ if (*count > 2) { Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6821 retrieving revision 1.6822 diff -u -d -r1.6821 -r1.6822 --- ChangeLog 11 Feb 2009 22:40:47 -0000 1.6821 +++ ChangeLog 12 Feb 2009 20:05:22 -0000 1.6822 @@ -1,3 +1,9 @@ +2009-02-12 Sam Steingold <sd...@gn...> + + avoid preprocessor instructions inside macro invocations + * spvw_garcol.d (fill_relocation_memory_regions): define + SET_HEAPNR and MARK_GEN1 for use in for_all_threads() + 2009-01-26 Sam Steingold <sd...@gn...> * format.lisp (format-float-to-string): return the 6th value: ------------------------------ ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 34, Issue 10 ***************************************** |