text:
Parent Directory | Revision Log
|Links to HEAD:
|(view) (annotate)
|Sticky Tag:
Changes to support building on Mac OS X 10.6. When compiled on 10.6, the resulting binary still works on 10.5. lisp/Config.x86_darwin: o Add -m32 flag to build and link a 32-bit binary. lisp/Darwin-os.h: o Include <sys/ucontext.h> instead of <ucontext.h> to get rid of the error about deprecated functions in ucontext.h. lisp/gencgc.h: o Mac OS X defines PAGE_SIZE in a header and that conflicts with our name. Rename our PAGE_SIZE to GC_PAGE_SIZE. lisp/gencgc.c: o Rename PAGE_SIZE to GC_PAGE_SIZE.
Merge changes from cross-sol-x86-2010-12-20 which adds support for Solaris/x86. There should be no functional changes for either other x86 ports or for the sparc port.
Get rid of compiler warnings (SunStudio 12.2/x86) about doing arithmetic with void pointers. Replace with char pointers.
Oops. We should check that closure->function is not zero.
Fix typo (missing paren).
o Turn GC_ASSERTIONS for now. o Turn off other verbose checking and debugging. o In scav_closure_header, check if the closure function is zero and skip scavenging it if so. Only do this for solaris/x86; it doesn't seem to be a problem on other OSes. But leave some of the debugging stuff around but disabled for now, just in case.
Enable GC assertions and some debugging prints.
o Fix a really stupid newbie C mistake in maybe_static_array_p where a break was missing. o Add variablle debug_static_array_p so we can disable debugging messages by default, but allow the user to enable the debugging messages. o Debugging messages for GC'ing static arrays are enabled if debug_static_array_p is true.
Fixing interior pointers should ignore the lowtag bits. Bug fix from Alastair Bridgewater.
Merge changes from sparc-tramp-assem-2010-07-19. This moves closure_tramp and undefined_tramp from the C side to the Lisp side via Lisp assembly routines. (Simplifies things quite a bit for sparc.) Also includes some GC fixes for sparc and ppc to handle moving the pc, npc, lr, and ctr registers. They need to be handled like the lip register. See bootfiles/20a/boot-2010-07-1-cross.lisp for instructions on how to bootstrap this change. A basic cross-compile with a specific cross bootstrap file is needed.
Fixes for scavenging interrupt contexts. There's special code to handle reg_LIP. In fact, the same thing needs to be done for reg_PC, and reg_NPC for sparc, and reg_LR and reg_CTR for ppc. These latter registers aren't always paired with reg_CODE (like in assembly routines), so we need to find that paired register. (Code essentially the same as done by Alastair Bridgewater for sbcl.)
lisp/x86-assem.S: o Comment out closure_tramp and undefined_tramp. lisp/gencgc.c: o Update code since closure_tramp and undefined_tramp no longer exist as C functions.
lisp/sparc-assem.S: o #ifdef out closure_tramp and undefined_tramp; they're Lisp assembly functions now. lisp/gencgc.c: o Update code for sparc which doesn't have closure_tramp and undefined_tramp anymore.
Fix SSE2 bug when running (defun testfn () (let* ((i-gc-ed-u nil) (ext:*gc-notify-before* (lambda (a) (/ a 0.34d0)))) (dotimes (i 100000) (setf i-gc-ed-u nil) (let* ((v1 (list (* 1d0 (random 10)) (* 1d0 (random 10)))) (v2 (list (* 1d0 (random 10)) (* 1d0 (random 10)))) (dot1 (reduce #'+ (mapcar #'* v1 v2))) (dot2 (reduce #'+ (mapcar #'* v1 v2)))) (when (/= dot1 dot2) (print `(gc ,i-gc-ed-u v1 ,v1 v2 ,v2 dot1 ,dot1 dot2 ,dot2))))))) Running this with sse2 would cuase dot1 and dot2 to sometimes be different. We forgot to save the SSE2 state in call_into_lisp. (This bug was mentioned on comp.lang.lisp, http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/828371aa4800272c?hl=en# x86-assem.S: o Save and restore SSE2 state when running with SSE2 core. (This might need more tweaking. Should we use cpuid instead of looking at fpu_mode?) gencgc.c: o Save the SSE2 state, along with X87 state for SSE2 cores.
Add NetBSD support to other_space_p().
of (FresBSD+) Get rid of gcc warnings: int != ulong; char *strdup() != int strdup; lisp space
o Add linux support in other_space_p. o Remove check for object < 0xf0000000 in scavenge.
o Add another function to check for other places that can't be malloc areas. For sparc, this means anything below the end of the text section (to capture undefined_tramp and closure_tramp and some weird pointer object in the middle of call_into_c). For darwin/x86, we ignore 0xffffffe9. Needs to be checked on other OSes and architectures. o Move the switch statement of allowed static arrays into its own function.
First cut at GCing static vectors, including static simple-arrays. This is done by a simple mark-and-sweep GC of the static vectors. When scavenging the spaces, we mark any static vectors by setting the MSB of the header word. After GC is done, an *after-gc-hooks* function finds all of the static vectors that are not marked and frees them. For marked static vectors, we clear the mark bit. code/array.lisp: o Add *STATIC-VECTORS* to keep track of all static vectors that have been allocated. o Update MAKE-ARRAY - to allow generation of static simple unboxed arrays (1D arrays without an array header). - Push a weak pointer to the static vector onto *STATIC-VECTORS* o Add function FREE-STATIC-VECTOR o Add function FINALIZE-STATIC-VECTORS to free static vectors when they are no longer referenced. lisp/gencgc.c: o Update scavenge to check for static vectors. If we find a static vector, mark the static vector by setting the MSB of the header word.
Revert previous changes. They were supposed to go on amd64-dd-branch.
(Oops. Previous checkin went to wrong branch. Here is the commit log, again.) This large checkin brings the amd64 port up-to-date with the current sources. No real attempt has been made to make it work, but the cross-compile does create a kernel.core, and the C code compiles (on openSuSE 10.3). The resulting kernel.core does not yet work. Use cross-x86-amd64.lisp as the cross-compile script. This is intended to be cross-compiled using the 20a release for Linux, and only supports x87. The sse2 support has not be ported yet. tools/cross-scripts/cross-x86-amd64.lisp: o Update cross-compile with some missing constants, and frob new symbols. tools/clean-target.sh: o Remove amd64f files too. code/pred.lisp: o Define predicates for double-doubles for bootstrapping to work around recursive known function problems with these predicates. code/sap.lisp: o Define int-sap with (unsigned-byte 64) type declaration. (May not be needed?) code/unix-glibc2.lisp: o Build fails defining map_failed to (int-sap -1). Just hard-wire to 0 for now so we can build. compiler/float-tran.lisp: o Add missing conditional for %complex-double-double-float. compiler/amd64/float.lisp: o Merge double-double support for amd64. Not really tested yet. compiler/amd64/parms.lisp: o Update to match x86 build. In particular, get the space address correct and update the static symbols. compiler/amd64/type-vops.lisp: o DYLAN-FUNCTION-HEADER-TYPE no longer exists. compiler/amd64/vm.lisp: o Add double-double storage classes and register definitions. lisp/Config.amd64: o Bring in line with Config.x86 and friends. lisp/Linux-os.c: o Bring amd64 code up-to-date with x86/linux code. lisp/Linux-os.h o Need to include sys/ucontext.h to get ucontext defined. (Why?) o Also define __USE_GNU so we get the register offsets in the ucontext defined. (Why?) lisp/amd64-arch.c: o Change struct sigcontext to os_context_t. o Use SC_PC instead of context->sc_pc. o Merge some changes in from x86 version, like SC_EFLAGS. May need more work. lisp/amd64-assem.s: o Use rbx instead of ebx for jmp. lisp/amd64-lispregs.h: o Define SC_REG, SC_PC, SC_SP using the new x86 style. lisp/backtrace.c: o Remove inline assembly for now until I figure out what the amd64 version should be. lisp/gencgc.c: o Conditionalize out weak hash table support for now. lisp/gencgc.h: o Set PAGE_SIZE for amd64. (Is 4096 right?) lisp/globals.h: o Export current_dynamic_space_free_pointer and current_auto_gc_trigger like for x86.
This large checkin brings the amd64 port up-to-date with the current sources. No real attempt has been made to make it work, but the cross-compile does create a kernel.core, and the C code compiles (on openSuSE 10.3). The resulting kernel.core does not yet work. Use cross-x86-amd64.lisp as the cross-compile script. This is intended to be cross-compiled using the 20a release for Linux, and only supports x87. The sse2 support has not be ported yet. tools/cross-scripts/cross-x86-amd64.lisp: o Update cross-compile with some missing constants, and frob new symbols. tools/clean-target.sh: o Remove amd64f files too. code/pred.lisp: o Define predicates for double-doubles for bootstrapping to work around recursive known function problems with these predicates. code/sap.lisp: o Define int-sap with (unsigned-byte 64) type declaration. (May not be needed?) code/unix-glibc2.lisp: o Build fails defining map_failed to (int-sap -1). Just hard-wire to 0 for now so we can build. compiler/float-tran.lisp: o Add missing conditional for %complex-double-double-float. compiler/amd64/float.lisp: o Merge double-double support for amd64. Not really tested yet. compiler/amd64/parms.lisp: o Update to match x86 build. In particular, get the space address correct and update the static symbols. compiler/amd64/type-vops.lisp: o DYLAN-FUNCTION-HEADER-TYPE no longer exists. compiler/amd64/vm.lisp: o Add double-double storage classes and register definitions. lisp/Config.amd64: o Bring in line with Config.x86 and friends. lisp/Linux-os.c: o Bring amd64 code up-to-date with x86/linux code. lisp/Linux-os.h o Need to include sys/ucontext.h to get ucontext defined. (Why?) o Also define __USE_GNU so we get the register offsets in the ucontext defined. (Why?) lisp/amd64-arch.c: o Change struct sigcontext to os_context_t. o Use SC_PC instead of context->sc_pc. o Merge some changes in from x86 version, like SC_EFLAGS. May need more work. lisp/amd64-assem.s: o Use rbx instead of ebx for jmp. lisp/amd64-lispregs.h: o Define SC_REG, SC_PC, SC_SP using the new x86 style. lisp/backtrace.c: o Remove inline assembly for now until I figure out what the amd64 version should be. lisp/gencgc.c: o Conditionalize out weak hash table support for now. lisp/gencgc.h: o Set PAGE_SIZE for amd64. (Is 4096 right?) lisp/globals.h: o Export current_dynamic_space_free_pointer and current_auto_gc_trigger like for x86.
o Fix a compiler warning about inconsistent arg types. o Fix some typos. o Clean up consecutive allocation heuristic: - Add comments to alloc_stats slots. - Removed regions_differ_count slot - Reset abandon_region_count when saved_region is updated.
Merge Unicode work to trunk. From label unicode-utf16-extfmt-2009-06-11.
Refactor gc_alloc_region some more, moving the common stuff for allocating in the current region to its own function.
Extract the essentially identical code from gc_alloc and gc_alloc_unboxed and move it into gc_alloc_region, and have gc_alloc and gc_alloc_unboxed call gc_alloc_region. This also necessitates changing how we keep track of that heuristics for large allocations, so a new structure is created and two new global variables are used to handle the boxed and unboxed versions.
Fix logic error in gc_alloc_unboxed. Only do gc_alloc_large if number of consecutive large allocations is less than the limit. Otherwise, abandon current region and allocate a new one.
o Fix error in logic in gc_alloc. We want to do the large alloc only if consecutive large allocs is small enough. o Add some extra (debugging?) code to check to see if the current boxed allocation region has changed in between calls to gc_alloc in case inline allocation happened. If there is a change, we want to reset our consecutive alloc counter and update the saved boxed region.
Make the region empty threshold a variable, for experimentation.
Add some heuristics to gc_alloc (and gc_alloc_unboxed), based on some suggestions from Douglas. Currently, if there's not enough free space left in the region, a large alloc is done. Douglahs suggested increasing the threshold, which we have increased from 32 to PAGE_SIZE/64. Also, he mentioned it's a bug that we abandon the region if we have a large object allocate. We now also do a large alloc if the object is large enough. (The object won't get copied in the next GC, so that's a win.) Finally, we add a simple heuristic where we keep track of how many consecutive large allocs have been done. If the threshold is exceeded, we abandon the region (wasting space) and allocate a new region. This prevents spectacularly bad performance (10 times slower or more) on sparc when the object is small, and there's some room in the region but not enough for the object. The boxed region would never get updated so the allocation would never be inline. For debugging, the consecutive alloc limit is a variable. We also keep track of how many times we abandon a region.
For completeness, do the same thing to gc_alloc_unboxed as we did for gc_alloc in the last commit.
Work around an issue with allocation on sparc (and probably ppc). See comments gc_alloc for reasons.
Sync to snapshot 2008-11. But we didn't sync code/extfmts.lisp or iso8859-1.lisp and utf-8.lisp. (I don't think we want those changes, yet.)
Sync to snapshot 2008-11.
Move the gencgc write barrier code into its own function.
Enable gencgc page protection for x86/darwin. gencgc.c: o Enable page protection Darwin-os.c: o Turn on sigbus_handler for x86/darwin. o Minor tweaks of sigbus_handler for x86/darwin. o Install the sigbus handler.
Initial checkin of unicode branch. This is incomplete. What works: o Cross-compile works on sparc and a lisp.core is created. This core is able to build code and appears to use 16-bit strings. What doesn't: o The sparc version is not able to rebuild itself. It hangs when trying to create a new lisp.core. o The x86 version will cross-compile, but worldload fails. The files being loaded have bizarre names. Probably some deftransform not working correctly. Issues: o Characters are still essentially 8 bits. This needs to be fixed. o All input/output is basically still 8 bits. Only the low 8 bits of a character are output. For input, characters are assumed to be 8-bit. o No external formats or anything is supported. o Readtable support not done. Use boot-2008-05-cross-unicode-{sparc,x86}.lisp to cross-compile the unicode changes. Untested whether this code can still be compiled without :unicode. Changes: code/array.lisp: o Base-char strings are 16 bits wide, not 8. code/c-call.lisp: o Define versions of DEPORT-GEN, %NATURALIZE-C-STRING to "handle" unicode strings. code/debug-info.lisp: o Adjust READ-VAR-STRING to use 16-bit strings. (Needed to at least to make the disassembler work.) code/debug.lisp: o Add address when printing out objects that can't be printed. (Generally useful and not just for unicode.) code/fd-stream.lisp: o Hack output routines to only use the low 8-bits of the character. (This needs significant work!) code/filesys.lisp: o Some debugging %primitive prints left in, but commented out, in PARSE-UNIX-NAMESTRING. code/lispinit.lisp: o Debugging %primitive print's for top-level forms. code/load.lisp: o Update FOP-SHORT-CHARACTER for unicode. But still only output the low 8 bits of a character to a fasl/core. This needs updating. o Hack routines for symbols to explicitly read in the individual bytes of the symbol/package name because READ-N-BYTES isn't working for us right now. o Update FOP-STRING/FOP-SMALL-STRING to read in 16-bit elements for strings. Full 16-bit strings supported. o Currently only write 8-bit chars for foreign names. This needs fixing. code/misc.lisp: o Register :unicode runtime feature. code/pathname.lisp: o Debugging %primitive prints left in, but commented out. code/stream.lisp: o Replace %primitive byte-blt with REPLACE for now to get the desired characters. code/unix-glibc2.lisp: o Workaround for unix-current-directory to return 16-bit strings. (Not necessary anymore?) o UNIX-RESOLVE-LINKS doesn't seem to like MAKE-STRING with an INITIAL-ELEMENT specified. Remove initial-element. (Needs fixing.) code/unix.lisp: o Same as for unix-glibc2.lisp compiler/array-tran.lisp: o Turn off the MAKE-STRING deftransform. o Update ARRAY-INFO to create 16-bit arrays for an element-type of base-char. compiler/dump.lisp: o Only dump 8-bit chars to a fasl for foreign fixups. o Explicitly dump the characters of symbol name. DUMP-BYTES not quite working for us now? o Make DUMP-SIMPLE-STRING dump all 16 bits of each character. o Characters are dumped as the low 8 bits. Needs fixing. compiler/generic/new-genesis.lisp: o STRING-TO-CORE writes 16-bit strings to the core file. o FOP-SHORT-CHARACTER for unicode added, but we still only write 8 bits to the core. (Needs fixing.) o COLD-LOAD-SYMBOL modified to read 16-bit characters from the fasl file to create a symbol. o FOP-UNINTERNED-SYMBOL-SAVE and FOP-UNINTERNED-SMALL-SYMBOL-SAVE reads 16-bit characters for symbol names. o FOP-STRING/FOP-SMALL-STRING reads 16-bit characters for strings. o FOP-FOREIGN-FIXUP and FOP-FOREIGN-DATA-FIXUP still only read 8-bit characters for foreign names. (Needs fixing.) compiler/generic/vm-tran.lisp: o New deftransforms to support unicode. Not the most efficient but should be workable for now. Old deftransforms didn't copy enough bits. o Deftransform for concatenate completely disabled. This needs fixing. compiler/sparc/array.lisp: o Change simple-string accessor to use halfword accessors instead of byte accessors. compiler/x86/array.lisp: o Change simple-string accessor to use halfword accessors instead of byte accessors. lisp/Config.linux_gencgc: o Define -DUNICODE as needed lisp/Config.sun4_solaris_sunc o Define -DUNICODE as needed. lisp/alloc.c: o alloc_string needs to allocate 16-bit strings lisp/backtrace.c: o Tell ldb backtrace how to print out 16-bit strings. This is a hack! lisp/gencgc.c: o Tell GC how long the 16-bit strings are now. lisp/interr.c: o Not really needed but make debug_print (aka %primitive print) support all objects by calling ldb's print function to print the object. lisp/os-common.c: o Add hack convert_lisp_string to take a 16-bit Lisp string and create a new string containing just the low 8 bits of each Lisp character. o OS foreign linkage stuff needs 8-bit strings, so we need to convert Lisp strings to the desired size. Very hackish! lisp/print.c: o Teach ldb how to print Lisp 16-bit strings. Currently, just dump out each byte of the 16-bit string. This needs major work! lisp/purify.c: o Teach purify about the 16-bit strings.
Insert intermediate (void *) casts to eliminate strict aliasing warnings when compiling with GCC version 4.
Always use prototype style function definitions. Consistently use the void keyword to specify empty parameter lists.
Remove empty expressions introduced in revision 1.90.
Remove limits.h include from sunos-os.h into gencgc.c. This include is required by all systems.
A commented change to test CVS commit notification. Will be removed in the next version.
Getting rid of some compiler warnings: * Eliminate `printf' format string and the following arguments conflicts. * A variable may be used uninitialized. * A variable may be defined but not used.
Initialize variables to silence dbx runtime-checking notes: o Initialize some static variables o page_table[].flags may not have been initialized correctly.
o Declare undefined_tramp and closure_tramp as functions instead of chars, because the assembly code declare them as functions. This gets rid of a linker warning about mismatched types. o Fix a badly indented while loop in free_oldspace. Gnu indent indents it nicely now.
Import x86 Darwin port.
This checkin adds some debugging code for the x86 heap corruption issue and also works around the heap corruption. These are enabled if DEBUG_BAD_HEAP is #defined. gencgc.c: o Make print_ptr and verify_gc non-static so they can be used elsewhere. lisp.c: o Call verify_gc at startup (if enabled) so we can see the heap corruption. save.c: o Add debugging prints and stuff to see what's going on, if enabled. o The workaround is to skip over the call to update_dynamic_space_free_pointer in save(). See the comments there for more info.
o when verifying a space, print out both the closure_tramp and undefined_tramp addresses, just in case, for sparc and ppc. o Don't make verify_space a static function.
Oops. Change = to ==. Without this, hash tables were majorly broken because the hash vector was getting set to EQ_BASED_HASH_VALUE.
Oops. Change = to ==. Without this, hash tables were majorly broken because the hash vector was getting set to EQ_BASED_HASH_VALUE.
Aargh! Was filling the wrong entry in the hash_vector when freeing an entry. Fix that.
Oops. Forgot to define hash_vector.
code/hash-new.lisp: o Replace the magic value #x80000000 with +eq-based-hash-value+. lisp/gencgc.c: o Replace the magic value 0x80000000 with EQ_BASED_HASH_VALUE. o When freeing the hash entry, we forgot to reset the hash-vector entry to EQ_BASED_HASH_VALUE.
Add support for weak value, key-and-value, and key-or-value hash tables. Use boot-2006-08-1-cross to cross-compile. During worldload, you'll get a restart. Choose the CLOBBER-IT restart. bootfiles/19c/boot-2006-08-1-cross.lisp: o Cross-compile script to mark that a cross-compile is needed. Nothing fancy, just load up the example scripts. code/hash-new.lisp: o Update the allowed values for the weak-p slot of a hash table. o Change hash table printer to print out the test and weak style. o Update MAKE-HASH-TABLE to allow other values for :weak-p keyword arg and set the weak-p slot appropriately. o Produce an error if a weak key, key-and-value, or key-or-value table is created but the test is not EQ or EQL. compiler/ppc/parms.lisp: compiler/sparc/parms.lisp: o Add :KEY, :VALUE, :KEY-AND-VALUE, and :KEY-OR-VALUE symbols to the static symbols because C code needs them. lisp/gencgc.c: o Add necessary support to handle the new hash types.
code/hash-new.lisp: o Add a new slot to the hash-table structure for GC to use for linking weak tables together. (Previously we used the weak-p slot for this. Let's make it explicit, now. Plus, this allows us to use weak-p to indicate other types of weak tables, should they be implemented.) lisp/gencgc.c: o Update defstruct appropriately. o Use the new next-weak-table slot to chain the weak tables together. o Previously we scanned the weak tables in several places in the code. However, this scanning also removed entries. I don't think we want that because later scans could make a key valid. Thus: - Change scav_hash_entries so that it doesn't remove a hash-table entry unless told to. - Add new function to scavenge weak tables without removing a weak entry. - Adjust scan_weak_tables to remove weak entries. NOTE: When building, you'll be asked twice about the hash-table structure changing size. Just select the CLOBBER-IT restart in both cases.
Weak pointers should be scanned after weak tables because entries in the table could change the reachability of some weak pointer values. (Mentioned by Gabor Melis in #lisp).
Add one more place where we scan the weak hash tables, because we scavenge some stuff there. (Not 100% sure we need this either, but Lynn's weak hash table test still passes.)
Weak pointers were being scanned too often such that the weak pointer would be broken but the value was still alive. Now only scan the weak pointers at the very end (like we used to), instead with the weak hash tables.
Add a new function scan_weak_objects() to can weak pointers and weak (key) hash tables. Then use it in several places where we need to scan the weak objects before closing the region. This fixes all of the problems with weak pointers and weak hash tables reported by Lynn Quam, cmucl-imp, 2006/07/04. Not 100% sure the solution is all correct, but it seems to be working.
When freeing a hash entry, reset the kv-vector entry to empty. If we don't maphash and with-hash-table-iterator won't know the slot is empty. Plus the key and/or value may contain random garbage.
Port sbcl's changes to room to handle gencgc allocation better. lisp/gencgc.c: o Make last_free_page non-static so Lisp can see it. o Add get_page_table_info so Lisp can easily get at the flags and bytes_used slots of a page table entry. code/room.lisp: o Add gencgc-page-size constant. o Fix SPACE-BOUNDS for sparc and ppc with gencgc. The dynamic-space-free-pointer is something different, and we really wanted the last_free_page. o Update MAP-ALLOCATED-OBJECTS to handle gencgc (from sbcl). Unallocated pages are skipped, as well as anything at the end of a page that is not in use.
Forgot a case for double-double floats in verify_space.
This large checkin merges the double-double float support to HEAD. The merge is from the tag "double-double-irrat-end". The double-double branch is now obsolete. The code should build without double-double support (tested on sparc) as well as build with double-double support (tested also on sparc).
Fix typo.
Tell GC how to handle (simple-array (complex double-double-float) (*)).
Remove the dylan-function-header type. compiler/generic/objdef.lisp: compiler/sparc/macros.lisp: lisp/gencgc.c: lisp/purify.c: o Remove the dylan-function-header type compiler/sparc/insts.lisp o Remove the dylan-function-header type o Update header-word-type-alist to match the list of header word types in objdefs.
Add support for (simple-array (complex double-double-float) (*)). bootfiles/19c/boot-2006-06-2-cross-dd-sparc.lisp: o Update for new array type. o Fix a problem with ash-left-mod32 and lognot-mod32 not being defined. code/array.lisp: o Add new array type for %vector-type-code. o Tell data-vector-ref, data-vector-set, and array-element-type about the new array. code/class.lisp: o Add new array type to the set of built-in classes. code/exports.lisp: o Export necessary symbols for the new array type. code/pred.lisp: o Generate type predicate for new array type. compiler/array-tran.lisp: o Add new array type to array-info. compiler/generic/objdef.lisp: o Add new array type code. compiler/generic/primtype.lisp: o Add new primitive type for this new array type. o Update *simple-array-primitive-types* with new array type. compiler/generic/vm-fndb.lisp: o Defknown for new array type. compiler/generic/vm-type.lisp: o Update specialized-array-element-types with new type so we can create specialized arrays. compiler/generic/vm-typetran.lisp: o Tell compiler about predicate for the new array type. compiler/sparc/array.lisp: o Add new vops to read and write elements to our new array type. compiler/sparc/type-vops.lisp: o Add type vop for new array type. o Adjust type hierarchy with new array type. lisp/gencgc.c: o Tell GC about the new array type. lisp/purify.c o Tell purify about the new array type.
lisp/gencgc.c: o Tell GC what to do with complex double-double floats. lisp/purify.c: o Tell purify what to do with complex double-double floats.
Add support for new unboxed primitive type (simple-array double-double-float (*)). bootfiles/19c/boot-2006-06-2-cross-dd-ppc.lisp: o Cross-compile script for PPC for new array type. code/array.lisp: o Add simple-array double-double-float to the vector types. o Add support for double-double-float arrays to data-vector-ref and data-vector-set. code/class.lisp: o Tell compiler about the new array type. code/exports.lisp: o Export necessary symbols for the new array. code/kernel.lisp: o The args to MAKE-DOUBLE-DOUBLE-FLOAT are double-floats. code/pred.lisp: o Tell type system about new primitive type. compiler/array-tran.lisp: o Tell compiler about the new array type. compiler/generic/objedef.lisp: o Add new type code compiler/generic/primtype.lisp: o Tell compiler about new primitive array type. compiler/generic/vm-fndb.lisp: o Tell compiler about known function for type test function. compiler/generic/vm-type.lisp: o Tell compiler about new specialized array type. compiler/generic/vm-typetran.lisp: o Define type predicate. compiler/ppc/array.lisp: o Add vops to read and write an element of a double-double-float simple array. compiler/ppc/type-vops.lisp: compiler/sparc/type-vops.lisp: o Add type vop for new array type. o Tell compiler about the where the new array type fits in the type hierarchy. lisp/gencgc.c: o Add GC support for new array type. lisp/purify.c: o Add purify support for new array type.
Add basic support for kernel:double-double-float type. The primitive type is there, and basic arithmetic operations work as well as PRINT. But many things do not work: No reader, formatted output, many mixed type arithmetic operations, special functions are just double-float values, coerced to double-double-float. compiler/generic/interr.lisp: o Add new error compiler/generic/new-genesis.lisp: o Dump double-double-float objects (barely tested) compiler/generic/primtype.lisp: o Tell compiler about the new primitive type double-double-float. compiler/generic/vm-fndb.lisp: o Make double-double-float-p a known function. compiler/generic/vm-type.lisp: o Update FLOAT-FORMAT-NAME to include double-double-float compiler/generic/vm-typetran.lisp: o Tell compiler about double-double-float type predicate. compiler/sparc/float.lisp: o Add necessary vops to move double-double-float args, store and load double-double-floats to/from the double-double-stack, double-double-reg moves, box and unbox double-double-floats, move double-double-floats to and from args o Add necessary vops to create a double-double-float and to extract the high and low parts out of a double-double-float. compiler/sparc/parms.lisp: o Define double-double-float-digits compiler/sparc/type-vops.lisp: o Define double-double-float type vop o Adjust number hierarchy to include double-double-float compiler/sparc/vm.lisp: o Define the necessary storage class and storage base for the double-double-reg and double-double-stack. lisp/gencgc.c: o Tell GC about double-double-float objects. lisp/purify.c: o Tell purify about double-double-float objects. code/class.lisp: o Add the new double-double-float class. code/exports.lisp: o Add the necessary symbols to the various packages. (This is important to get right otherwise there's confusion on what symbol really represents double-double-float stuff.) code/float.lisp: o Implement some of the necessary functions to support double-double-float. code/hash-new.lisp: o Hash double-double-floats by xor'ing the hashes of each double-float part. (Is that good enough?) code/irrat.lisp: o Implement the special functions by calling the double-float versions and coercing the result to a double-double-float. This is needed to get type-derivation working, but the precise value isn't that important right now. We'll have to implement them later. code/kernel.lisp: o Make make-double-double-float, double-double-hi, and double-double-lo known functions. code/lispinit.lisp: o Register the :double-double float feature. code/load.lisp: o Add FOP for reading double-double-float values from fasls. (Barely tested, if at all.) code/numbers.lisp: o Implement basic arithmetic operations for double-double-floats. This needs quite a bit of work to clean up, but most things work. code/pred.lisp: o Tell the type system about double-double-float type. code/print.lisp: o Add very rudimentary printing for double-double-float. Basically copied from code written by Richard Fateman, with permission. code/seq.lisp: o Tell coerce how to coerce things to a double-double-float. code/type.lisp: o Tell type system about the new float format double-double-float and how numeric contagion works with double-double-float. code/dump.lisp: o Tell dumper how to dump double-double-float values to a fasl. compiler/float-tran.lisp: o Add appropriate deftransforms to handle conversion of things to double-double-float and from from double-double-float to other float types. o The basic implmentation of double-double-float arithmetic is also here. o Add deftransforms to tell the compiler how to do basic arithmetic and comparisions on double-double-float numbers. compiler/srctran.lisp: o Fix a bug in interval-range-info when :low is 0dd0 and :high is 0. We weren't returning the right value, which confuses interval-div, which caused an infinite loop because we couldn't split the numerator into positive and negative parts. o Tell other parts about double-double-float.
o Disable gencgc consistency checks for DARWIN (but leave asserts enabled). o I think we should call update_dynamic_space_free_pointer for sparc and ppc, at the very least to set last_free_page.
Oops. Fix a couple of typos (missing paren) and reindent scavenge_interrupt_context.
When scavenging interrupt contexts, we need to scavenge LR and CTR registers, in case they're pointing into our heap and what they're pointing to has moved. lisp/Darwin-os.c: o Add support for getting the LR and CTR registers from the context. lisp/gencgc.c: o Handle LR and CTR registers when scavenging the interrupt context. lisp/ppc-lispregs.h: o Define reg_LR and reg_CTR appropriately.
Merge ppc_gencgc_branch to HEAD.
Some more changes to gencgc. With these changes, CLEM (Cyrus Harmon's matrix package) will compile. Previously, it was causing gc invariant lossage during compilation. src/compiler/ppc/macros.lisp: o Fix typo in comment. o Change how pseudo-atomic sets and resets the pseudo-atomic bit. Instead of adding/subtracting 4, we "or" in 4, or reset that bit. This is what sparc does. src/lisp/gencgc.c: o Need to define valid_dynamic_space_pointer function for some error-checking (that we aren't currently doing, I think). src/lisp/gencgc.h: o Change PAGE_SIZE to 16k. (Still needs more testing.) src/lisp/ppc-arch.c: o In sigill_handler, we need to return after the allocation trap is handled. Otherwise, we just blow past everthing and call interrupt_handle_now at the end, which isn't what we want.
o Enable some of the gencgc consistency checks only for DARWIN. o Turn off a few of the debugging printfs.
Enable GC assertions only for DARWIN for now.
lisp/Darwin-os.c: o Turn off SIGSEGV_VERBOSE o Additional debug prints in sigbus_handler. o Writing to a write-protected area causes a sigbus, not a sigsegv, so make sigbus do what sigsegv does. lisp/gencgc.c: o Turn off some of the debugging prints. o Turn off pre_verify_gen_0 since it's really slow. o ppc seems to have the same GC invariant issue on hash tables as sparc does, so disable that assertion.
Merge code from main branch of 2005-12-17 to ppc gencgc branch. Still doesn't work of course.
Indent all source files using GNU indent using the config in .indent.pro.
Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: The problem here is that a fixnum value gets stored in an unsigned-byte vector, which messes up the linked list.
From Gerd Moellman, cmucl-imp, 2005-05-15: Bruno reported an endless loop in the following test case: (let ((tab (make-hash-table :test 'eq :weak-p t))) (let ((a (list 'x))) (let ((b (list 'y))) (setf (gethash a tab) 'xxx) (setf (gethash b tab) (cons 'yyy b))) (gc) (list (hash-table-count tab) (gethash a tab) (let ((l nil)) (maphash #'(lambda (k v) (push k l)) tab) l)))) But we return (2 XXX ((Y) (X))) instead of (1 XXX ((X))).
Checkin the current code for gencgc. This is a basic port of sparc gencgc for ppc. This is not yet functional. Allocation seems to work, but GC does not. We're just making a checkpoint now. compiler/ppc/macros.lisp: o Update allocation macro to support gencgc. Need a temp-tn as a scratch register for inline allocation. o Update with-fixed-allocation to use allocation macro correctly for gencgc. assembly/ppc/array.lisp: o Update for new allocation macro for gencgc. code/ppc-vm.lisp: o Define *scavenge-read-only-space* compiler/ppc/alloc.lisp: compiler/ppc/array.lisp: compiler/ppc/call.lisp: o Update to use new allocation macro for gencgc. compiler/ppc/parms.lisp: o Add necessary static symbols to support gencgc. lisp/Config.ppc_darwin: o Update to build with gencgc as needed. lisp/Darwin-os.c: o Update C code for gencgc. Mostly for checking if pointer is in the dynamic space. o Many debugging printf's enabled. lisp/gencgc.c: o Adjust sparc version appropriately for ppc. o Enable many gencgc self-checks. lisp/gencgc.h: o Update PAGE_SIZE for ppc, which is 4K. lisp/ppc-arch.c: o Add necessary code to handle the allocation traps for gencgc. Basically ported sparc version for ppc. lisp/ppc-assem.S: o The way pseudo-atomic is done has been changed, so make the assembly code match. PA is now more like sparc where the LSB is the PA-interrupted bit. o do_pending_interrupt may need work. lisp/ppc-validate.h: o Make the READ_ONLY_SPACE_SIZE right. o Define CONTROL_STACK_END. lisp/purify.c: o Enable debugging printfs o Adjust purify for gencgc, basically copying sparc version.
Retire i586_bzero() in favor of memset(). The i586_bzero() routine is demonstrably slower than extant compiler intrinsics or C runtime memset() implementations for blocks of memory greater than or equal to an x86 VM page.
Get rid of fastcopy16 which is only used in cgc.c Get rid of i586_bzero but it may be a good optimization
After almost 1 year of gencgc on sparc without encountering a gc assertion, let's disable gc assertions on sparc now.
make amd64 the same as x86
Finish conversion from hardcoded sigcontext to os_context_t, as initiated by the commit of the NetBSD support, and needed by the upcoming merge of the OS X/Darwin port.
More compiler warning fixes: * gencgc.c: o fixup up fprintf warnings o generation_bytes_allocated() defined only when GC_ASSERTIONS is #defined. * x86-arch.c: fixup printf warnings.
Fix more compiler warnings: * alloc.c: Include gencgc.h to get declaration of alloc(). * gencgc.c: o Include string.h for memset. o Initialize some vars that gcc complains might be uninitialized (but they're not). o scav_fdefn isn't used on sparc, so comment it out. o valid_dynamic_space_pointer, maybe_adjust_large_object, and preserve_pointer are only used on x86, so comment #ifdef them for i386. * os-common.c: o Fix a few printf warnings. o Cast args to bcopy.
Changes from Robert Swindells to support NetBSD.
amd64 changes
From Lynn Quam: adds the mark_bit slot to weak-pointers and eliminates the n-squared performance problem with scav_weak_pointer.
- fix syntax for C multiline strings
Clean up printing of generation info to handle the larger heaps we have now.
Remove some unused code that we don't need anymore.
Add comment from Douglas about what DIRECT_SCAV means.
Oops. It's i386, not x86.
Update to sparc gencgc so that alloc-tn holds the current-region-free-pointer. Cross compile may be needed, but I'm not sure. I only used cross-compiling to do this change. sparc/macros.lisp: o Update the allocation macro appropriately for alloc-tn holding the current-region-free-pointer. lisp/gencgc.c: o Define macros for setting and getting *current-region-free-oointer* and *current-region-end-addr* so sparc can use alloc-tn. *current-region-free-pointer* isn't used anymore, but is still a static symbol. It's been replaced by alloc-tn. o On sparc, set_alloc_pointer doesn't need to do anything anymore. o Don't need to call update_dynamic_space_free_pointer anymore. o The assertion that *current-region-free-pointer* is a fixnum is no longer valid on sparc because that is alloc-tn which contains the pseudo-atomic bits. lisp/sparc-arch.c: o The allocation trap instruction is now preceeded by a SUB instruction. Handle that correctly. Keep support for the OR instruction for now, but should be removed. o Set alloc-tn from current_dynamic_space_free_pointer.
Add support for catching heap overflows, similar to the control stack overflow checking. Enable with :heap-overflow-check. We reserve some number of pages on the heap. When the heap reaches the reserved pages, an overflow warning is signalled. The reserved pages are set 0. This allows some additional allocation to happen during debugging, if necessary. If another overflow happens, we throw to top-level. Sparc only right now. * lisp/sparc-assem.S (_do_dynamic_space_overflow_error): New function to handle a heap overflow error. (_do_dynamic_space_overflow_warning): New function to handle heap overflow warning. * lisp/sparc-arch.c (sigill_handler): Handle the two new traps caused by heap overflows. * lisp/interrupt.c (interrupt_handle_space_overflow): New function to handle interrupt caused by heap space overflows. * lisp/gencgc.c (handle_heap_overflow): New function to handle heap overflows. (gc_alloc_new_region): Use handle_heap_overflow. (gc_alloc_large): Use handle_heap_overflow * compiler/sparc/parms.lisp (static-symbols): Add new static symbols for heap overflow checking: dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit. * compiler/generic/new-genesis.lisp (finish-symbols): Initialize the new dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit static symbols. * code/lispinit.lisp (:heap-overflow-check): Add heap-overflow-check to *runtime-features*, if necessary. ("reserved_heap_pages"): Access to alien variable for heap overflow. (*reserved-heap-pages*): Default number of heap pages to reserve for heap overflow. (%top-level): Set reserved-heap-pages to the default. * code/interr.lisp (dynamic-space-overflow-warning-hit): Add function to handle heap overflow warnings. (dynamic-space-overflow-error-hit): Add function to handle heap overflow error. * code/error.lisp (heap-overflow): Add new condition type for heap overflow
Zap out any bits for pseudo-atomic stuff when getting the alloc-pointer.
It's lowtag_Mask, not lowtagMask.
Convert a few more void* to char*. Add a few casts as needed to get rid of some compiler warnings.
Changes so this will compile under Sun C: o Convert some void* objects to char* objects so we don't try to do pointer arithmetic on void* objects. o Change scavenge to take void* instead of lispobj*. Cast appropriately in the body. o Change uses of scavenge to match the new definition.
Use the new constants lowtagMask, pseudo_atomic_Value, and pseudo_atomic_InterruptedValue instead of the bare 7's, 4's, and 3's and 1's in the code.
o The Sparc port was not correctly scavenging the interrupt handlers. Use the same code as used for x86. o Clean up the code a bit, adding the functions scavenge_interrupt_handlers and scavenge_control_stack. Move some printing noise into those functions. There are still bugs here that are exercised by Eric Marsden's cl-bench with cpu performance counter library.
It's ok for stack references to come from stack objects, because that can happen when we scavenge the control stack on non-x86.
* src/lisp/gencgc.c (GC_ASSERTIONS): New define for activating GC assertions. Define it for sparc. (invalid_stack_start, invalid_stack_end) [GC_ASSERTIONS]: New variables. (garbage_collect_generation) [GC_ASSERTIONS]: Set them. (check_escaped_stack_object) [GC_ASSERTIONS]: New function. (scavenge) [GC_ASSERTIONS]: Call it.
Don't blindly set current_dynamic_space_free_pointer in the set_alloc_pointer macor. Instead, carefully merge the value with any pseudo-atomic bits that might have been set.
* src/lisp/gencgc.c (alloc_pseudo_atomic): Wrap alloc in pseudo-atomic only if not already in a pseudo-atomic section.
* src/lisp/alloc.c (alloc) [GENCGC]: Define as alloc_pseudo_atomic. * src/lisp/gencgc.c (set_pseudo_atomic_atomic) (clr_pseudo_atomic_atomic) [i386]: Reverse the values assigned to PSEUDO_ATOMIC_ATOMIC, remove semicolons. (alloc_pseudo_atomic): New function wrapping alloc in a pseudo-atomic section. (alloc): Remove code for the non-PA case, rewrite the rest to use a loop instead of goto.
Fred Gilham's Lisp executable support for CMUCL.
Remove the fprintf's where the hash table invariant wasn't true during scavenging. It appears to be true before and after GC.
Merge with HEAD.
Merge sparc_gencgc_branch that adds support for gencgc for Solaris.
o Add some comments about reg_LIP o If lip_register_pair is -1, don't modify reg_LIP because SC_REG of -1 is probably not what we want.
gencgc.c: o More code cleanups, getting rid of GC_DEBUG o Make fpu_state variable large enough to hold all 32 double-float regs for Sparc V9. o Get rid of unneeded debugging printfs o Rename update_x86_dynamic_space_free_pointer to update_dynamic_space_free_pointer since it's not x86 specific anymore. o Get rid of the need_to_pop_stack stuff. It's not needed. o Don't compile sniff_code_object and apply_code_fixups for non-x86. save.c: o Rename update_x86_dynamic_space_free_pointer to update_dynamic_space_free_pointer since it's not x86 specific anymore. o Cleanup calls to gc_alloc_update_page_tables. sparc-arch.c: o Get rid of the need_to_pop_stack stuff. It's not needed. o Comment out pop_fake_control_stack_frame. sparc-assem.S o Save the extra 16 double-float regs, if FEATURE_SPARC_V9.
Make these look more like the CVS HEAD versions for x86: o Make enable_pointer_filter TRUE, just like CVS HEAD. o Don't sniff_code_object just before apply_code_fixups. o Turn off the check if a pointer is pointing to an invalid object o Fix up a few more places where we should have written i386, not x86.
o Turn off the runtime GC checks, and verbose messages. o Leave gc_assert on for sparc, but off for others. o Add comment that pre_verify_gen_0 is very, very slow! o Add sparc support for saving the FPU state in print_generation_stats. o It's i368, not x86, stupid! o Turn off DEBUG_PRINT_CONTEXT_INDEX o Turn off RESCAN_CHECK
Initial port of gencgc to Solaris.
* code/hash-new.lisp (make-hash-table): Put warning about creating weak tables in #-gencgc. * lisp/gencgc.c (gc_assert): Ensure macro expansion is always a C statement. (struct hash_table): New struct. (HASH_TABLE_SIZE, EQ_HASH): New macros. (weak_hash_tables): New variable. (survives_gc, u32_vector, free_hash_entry, record_for_rehashing) (scav_hash_entries, scav_weak_entries, scan_weak_tables) (scav_hash_vector): New functions. (scav_vector): Removed. (scav_weak_pointer, trans_weak_pointer, scan_weak_pointers): Cleaned up. (gc_init_tables): Use scav_hash_vector instead of scav_vector. (garbage_collect_generation): Call scan_weak_tables. (everywhere): Add casts, change format strings, etc. to placate the compiler. * lisp/FreeBSD-os.h: Fix a function prototype.
*** empty log message ***
Add a more informative error message to the stuff that is printed to the terminal when gencgc exhausts dynamic space.
Remove a #ifdef ITA which sneaked in with the profiler changes. No functional change for normal builds.
Export print_generation_stats.
Make (time ...) and the profiler do precise measuring of space allocation. It will also not overflow or bomb out when consing amounts cross most-positive fixnum. The new profiler also has an interface to plug in your own print function (also dictates sorting or results). This is written on gencgc/x86 but tests indicated the fallsbacks for other platforms work. The dfixnum package included here is sketchy.
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect support patchset. This lives on its own branch, so that people can play with it and tweak it, without disturbing 18e release engineering on the main branch. Bootstrapping has only been tried on LINKAGE_TABLE x86/Linux builds. A working cross-compile script is checked in under bootfiles/19a/boot1-cross-unicode.lisp. The script still leaves you with some interactive errors, on the cross compile, which you should answer with 2. See the mailing list for more information.
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation for release tagging 18d.
Added specialised port to NetBSD (1.5.2) on x86. Since the code-base was already cleaned up with the OpenBSD port, this doesn't require massive changes. Since current NetBSD is ELF-based by default, we don't make use of the ELF feature, or in other words: The presence of the NetBSD feature implies ELF, since there is no support for non-ELF NetBSD. The page-protection feature of the generational GC had to be turned off, because currently NetBSD 1.5.2 doesn't provide access to the faulting memory address in SIGSEGV signal-handlers on the x86 platform. The memory is validated/mmapped in 64MB chunks in os-validate, in order to circumvent a restriction on NetBSD, that prevented me from mmapping 128MB or more apiece. It has been pointed out to me that this may be caused by the default ulimit on data segment sizes, which seems kind of strange, but might be true. In any case the current approach works OK, and doesn't require root interaction, so is probably the better approach.
Added specialised port to OpenBSD (2.9). Many parts of the original code which were previously conditionalized on :FreeBSD, are now conditionalized on :BSD instead, with the :BSD feature now implying a 4.4BSD(lite2) derived OS. This should make future BSD-ports easier. FreeBSD and OpenBSD are differentiated by having either :FreeBSD or :OpenBSD on the features list. Currently the OpenBSD port does not have working ELF support, because OpenBSD 2.9 is still non-ELF by default. So don't put ELF on the features list when building for OpenBSD, or fix the code to work correctly in this case instead.
Cleanup compiler warnings.
o Add the command line switch -dynamic-space-size for setting the size of the dynamic space. DYNAMIC_SPACE_SIZE now defines the maximum size, and when defined DEFAULT_DYNAMIC_SPACE_SIZE gives the default. o Increase the maximum dynamic space size for Linux x86 to 1.625GB, with the default remaining at 512MB. o Define the default dynamic space size for FreeBSD x86 to also be 512MB, with a maximum of 2GB.
o Add the command line switch -dynamic-space-size for setting the size of the dynamic space. DYNAMIC_SPACE_SIZE now defines the maximum size, and when defined DEFAULT_DYNAMIC_SPACE_SIZE gives the default. o Increase the maximum dynamic space size for Linux x86 to 1.625GB, with the default remaining at 512MB. o Define the default dynamic space size for FreeBSD x86 to also be 512MB, with a maximum of 2GB.
Use the value 0xffffffff to represent auto_gc_trigger disabled rather than zero, simplifying the trigger test.
Use the value 0xffffffff to represent auto_gc_trigger disabled rather than zero, simplifying the trigger test.
Minor source cleanups.
Misc source cleanup.
Flush a verbose debug message that occurred rarely during code fixups.
Flush a verbose debug message that occurred rarely during code fixups.
This set of revisions brings the RELENG_18 branch up to HEAD in preparation for an 18c release.
Flush references to zero_stack as this has been handled by scrub-control-stack for some time.
Replace the PAGE_BYTES define with PAGE_SIZE, and use it where appropriate rather than the constant 4096. Remove uses of the variable last_used_page.
Portability fix for the signal masked check in alloc.
Improve the packing of information into the page table, reducing the table size by 25%, and move to a fixed layout of the page flags to better support future atomic operations for threaded code.
Source cleanup.
Few fixes for the page zero check in gc_free_heap; work around a gcc problem, and limit the range of pages to be checked.
Fix a bug in the page zero checking code of gc_free_heap.
This (huge) revision brings the RELENG_18 branch up to the current HEAD. Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.
Save and reset FP state during the execution of print_generation_stats. This is necessary when this function is called directly from the allocation routines on a failure and the FP state is setup for Lisp.
Add verify_zero_fill to verify that the free memory is zero filled; helping detect heap corruption. The check can be enabled during a heap verify via gencgc_enable_verify_zero_fill, or it can be called from lisp via the alien function gencgc_verify_zero_fill.
Make search_dynamic_space an external as it is need by purify. Make valid_dynamic_space_pointer a static local as a similarly name function is used by purify.
Enhance scavenge_thread_stacks to only scavenge the live portion of the saved stack vectors.
Take more care when scavenging the Lisp functions of the interrupt handlers, taking care to avoid SIG_DFL, and SIG_IGN which is equal to 1 on FreeBSD and looks like a forwarding point which causes trouble.
Further cleanup of the interrupts masked check in alloc. Cleanup the verbose messages, making them all dependent on the verbose level, and disable them all by default.
Add some pointer coercions to reduce the number of compiler warnings.
Disable a test in alloc that tested that interrupts were disabled in non-pseudo-atomic allocations, because this code has been debugged now and the test may not have been very portable.
Improve the efficiency of gc_free_heap by having it assume free pages are zero filled and not write protected which should be the case. Make more of the consistency checks conditional and disable them all.
Comment out verbose message in maybe_adjust_large_object.
Conservative generational garbage collection for the x86 port.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|ViewVC Help
|Powered by ViewVC 1.1.5


text:
Impact Foam
A thick, seamless wrap of padding provides top to bottom protection for your laptop.
(based on 4 reviews)
Ratings Distribution
5 Stars
4 Stars
3 Stars
2 Stars
1 Stars
of respondents would recommend this to a friend.
Reviewed by 4 customers
Sort by
Displaying reviews 1-4
Back to top
Does the job
By Recycler
from Mineral Ridge, OH
Best Uses
Bought this as a cover for my ancient Dell hoping that it would accommodate the docking station (did I say ancient?). Though it's a snug fit I am happy to have found it as sleeves that could fit a model this old are understandably hard to come by.
Bottom Line Yes, I would recommend this to a friend
Was this review helpful? Yes / No
- You may also flag this review
(6 of 12 customers found this review helpful)
It fits the Sony Vaio ...
By CELEDONIO
from Poplar Grove, IL
It fits the Sony Vaio VPCCA25FX.
(0 of 5 customers found this review helpful)
I am very disappointed. ...
By DAVID
from Portland, OR
I am very disappointed. The website recommended this case based upon my computer model (Dell Latitude E5400). When it arrived, I found that my computer barely fits into it. I have to squeeze it into place and it looks like the seems are going to rip.The case looks nice and I like the padding. However, I can't use it and I don't have the time to send it back.Best,David
(2 of 7 customers found this review helpful)
The LAPS laptop ...
By STEVEN
from Park City, UT
The LAPS laptop sleevecase fits my computer more snugly than typical sleeeves, thus making it less bulky for travel. When combined with its classic look, it's a winner.
Email Newsletter
Sign up to receive exclusive offers and promotions
Where To Buy
Company Information
Our Story
Corporate Contacts
Privacy Statement
Follow Us

subset: commoncrawl


text:
Component Receivers
New-Elite receiver - GYAM5600RF
Accessory USB receiver for Elite mouse
Go 2.4 Series USB Receiver
GO 2.4 series USB receiver 30'
Exclusive Professional Receiver With Usb & Sd Card Inputs By TECHNICAL PRO®
Valuable Professional Receiver With Usb & Sd Card Inputs By TECHNICAL PRO® If you've spent any time at all in professional audio, you kNow by selecting the name Technical Pro and what it stands for—incredible performance and sound, and the ultimate in reliability under harsh conditions. And Now by selecting, Technical Pro offers the same technology in a series of...
Technical Pro HB2502U, Digital Hybrid Amplifier/Premap/Tuner with USB and SD Card Inputs, Black
In today's world of professional audio too often are we bogged down with multiple pieces of large and heavy gear. Consolidation is the name of the game. Technical Pro's HYBRID technology is the answer to all of your needs. The HB2502U is a combined Amplifier / Pre-amplifier / Tuner built with the same quality design you would expect from Technical Pro's superior technology....
Technical Pro 72-RX35U 800-Watts TP Pro Digital Home Receiver with iPod Input
800 Watts peak Digital fluorescent Output display meter Plays MP3 files from USB drives and SD Cards Bass, Treble and balance controls
Belkin F8Z492-P Bluetooth Receiver. BLUETOOTH MUSIC RECEIVER AV-ACC.
Belkin F8Z492-P Bluetooth Receiver. BLUETOOTH MUSIC RECEIVER AV-ACC.


text:
Apr 17, 2014
Design major gets zombie's reception at her former school
Mar 15, 2014 @ MOCA Cleveland in Cleveland, OH
CIA's Traveling Sketchbooks make a last stop at MOCA
Apr 16, 2014
Alumnus and superhero comics writer Brian Bendis visits CIA
cia exhibition
Mar 28, 2014
The Accident: Recent Work by Nicky Nodjoumi
about 4 hours ago via Facebook
Film lovers, the Wexner Center for the Arts in Columbus will feature two CIA filmmakers in its Ohio Shorts program this Saturday, Apr. 26, at 7pm. Kyle Todaro's "For Her" and Bruce Checefsky's "Witch's Cradle" will be two of 15 films shown. Todaro, a 2012 grad, is the Technical Specialist in CIA's Painting Department. Checefsky is director of CIA's Reinberger Galleries and an adjunct faculty member. Details: http://ow.ly/w4W6u
Apr 15, 2014
Students win $11,000 in Dealer Tire art competition
cia exhibition
Mar 28, 2014
Dinner by Design Art of the Table, and a runway show
Apr 11, 2014
Romanian visiting artist brings new perspective to CIA
cia exhibition
Apr 22, 2014 @ Museum of Contemporary Art Cleveland in Cleveland, OH
2014 Spring Design Show
Apr 22, 2014
4/24-27: Bernard Hermann weekend with CITIZEN KANE, MARNIE & more!
Aug 20, 2013
CIA named one of the "Best in the Midwest"
cia exhibition
Apr 22, 2014
2014 Spring Illustration + Animation Show
Library . Texture Resource Libraries
There are no blog entries that matched your search. Please try again.
Pre-College Program
Sharpen your artistic skills at CIA's Pre-College Program this summer.
Nicky Nodjoumi and Dinner by Design exhibitions
CIA welcomes spring with two wildly different shows.
Cores + Connections
Learn more about CIA's proven method for academic and professional excellence.


text:
United States
records found for
Jesse Clance in
the PeopleFinders People Directory
We're sorry, we need more information to run your search. Please enter a last name (adding more details will improve your results).
Are you hunting for Jesse Clance? If you look above, you will see 7 people by that name in our database with an average age of 55. We were also able to locate records of Jesse Clance in NC and GA. With so many results we are destined to have public records of the person you are looking to find.
To help you locate the right Jesse you are looking for we have created a list of Jesse's for you to look over. To simplify the process we have divided the data into four categories – Name, Age, Location and Relatives. By pouring through all of our data of people with the name Jesse it won't be long before you locate the person you were trying to find.
If you look above you will notice that the name column highlights a list of all the names that may be a match to your search. We also include the middle name or middle initial of these people, if we have the data. Along with this critical information you can see each person's age, known location, and possible relatives. Once you find the right the person you are looking for, click through the corresponding View Details link to find the information you want.
About PeopleFinders
PeopleFinders is a trusted source of public records. Millions of visitors use this
site to find people, lookup phone numbers, run background checks, and get the facts
they need to make informed decisions. Leveraging billions of United States public
records, we provide you with access to some of the most accurate public records
available, with nearly instant results.


text:
Govt under pressure to change its approach to asylum seekers
Girl released from Sydney's Villawood detention centre
Source: ABC News | Duration:
By Gina McKeon
NASA has released a new Hubble intergalactic snap of a galaxy cluster. But what exactly are we looking at?
There is still no official explanation about the South Korean ferry sinking. Here's what we know so far.
By Nick Grimm
Barry O'Farrell's resignation comes at a time when many observers thought he was at the peak of his powers.
Keep up to date with the Royal tour via our social media photo wall.


text:
Drain the black beans into a colander placed in the sink, then rinse with cold water until no more foam appears and let beans drain.
If you have a fresh lime, some lime zest added to the dressing really brightens the flavor.
Chop peppers the same size as the beans, and mix the marinated beans and peppers together.
Black Bean and Pepper Salad with Cilantro and Lime
(4 servings, recipe created by Kalyn with inspiration from a blog that no longer exists)
1 can black beans, rinsed well and drained
1 red pepper, chopped
1 yellow pepper, chopped
(could use any combination of colors for the pepper, or use 2 red peppers)
1/2 red onion, chopped
1 bunch cilantro, chopped
Dressing Ingredients:
2 T lime juice (fresh lime juice recommended)
2 T extra virgin olive oil
1/4 tsp. ground Chipotle pepper (I use Penzeys)
(you could use green Tabasco in place of the Chipotle pepper)
1/2 tsp. mild chile powder (New Mexico chile powder is best)
1/2 tsp. ground cumin
1/2 tsp. onion powder
zest of one lime (optional, but recommended)
Vege-sal or salt to taste
fresh ground pepper to taste
Mix dressing ingredients. Put beans and dressing into a plastic bowl with a snap-on lid, put lid on, and turn bowl over a few times until the beans are well coated with the dressing. Let the beans marinate in the dressing for an hour or so if you have time, or at least while you chop the other ingredients.
Chop peppers and onion into pieces about 1/2 inch square. (I was aiming for the beans, peppers, and onions to be approximately the same size.) Wash cilantro and dry well (I used a salad spinner) then chop coarsely.
In large bowl, gently combine beans, peppers, and onion. (If mixture seems dry you can add a tiny bit more olive oil and lime juice at this point.) Season to taste with Vege-sal or salt and fresh ground pepper. Stir in cilantro and serve.
This will keep for a day or two in the refrigerator, although it's best when the cilantro is still crisp. However, I taste-tested it on my friend Robin when it had been in the refrigerator overnight and she gave it a very enthusiastic thumbs up.
South Beach Suggestions:
More Delicious Salads with Black Beans
(Recipes from other blogs may not always be South Beach Diet friendly; check ingredients.)
Mango Salad with Black Beans, Avocado, Mint, and Chili-Lime Vinaigrette from Kalyn's Kitchen
Black Bean Salad with Fuyu Persimmon, Avocado, and Lime-Cumin Vinaigrette from Kalyn's Kitchen
Southwestern Bean Salad with Black Beans, Black-Eyed Peas, Peppers, and Cilantro from Kalyn's Kitchen
Black Bean Salad from Guilty Kitchen
Black Bean and Bell Pepper Calico Salad from Inn Cuisine
Eggplant, Cumin, and Black Bean Salad from Appetite for China
Quinoa and Black Bean Salad from Morsels and Musings
(Want even more recipes? I find these recipes from other blogs using Food Blog Search.)


text:
More information
This auction is now finished. If you are interested in consigning in future auctions, please contact the specialist department. If you have queries about lots purchased in this auction, please contact customer services.
Important Notice Regarding Importation into the United States of Corum, Franck Muller, Piaget and Rolex watches.Bonhams cannot arrange for the delivery of Corum, Franck Muller, Piaget and Rolex watches into The United States. The buyer or designated agent may collect the property in the country of sale.
Please also note that in some circumstances we are unable to ship the watch with its strap due to certain import restrictions.
For information and estimates on domestic and international shipping please contact the Department on:44(0)207 393 email@example.com


text:
Sun-Mar Continuous-Use Auto Flow Composters
A patented system for continuous composting
Sun-Mar Continuous-Use Auto Flow 200 Composter
Sun-Mar Continuous-Use Auto Flow 400 Composter
Using a patented, rotating bio-drum, the Continuous-Use Composter moves compost material along an outer drum and then back toward a collection chamber as it's turned. By the time it reaches the output port, it's a light, fluffy end product. You can load this composter with kitchen scraps continuously, making it unlike typical drum composters, which require you to stop adding material at some point. Made from green polyethylene. Minimal assembly. Canada.
Auto Flow Composter Features:
- Environmentally friendly - Great fertilizer through recycling
- Easy to use - dump kitchen scraps and yard waste in and turn the drum
- Unique "Autoflow" double drum design prepares compost and delivers finished compost out the side
- Quality compost fertilizes plants and improves soil structure
- Combines the best features and advantages of both pile-type and drum-type composters
- Approximately 50-gallon drum
- Easy-to-use, snap-together design can be set up and ready to go in as little as five minutes
- Pest resistant
- Continuous compost production
Due to the size of this item, a delivery surcharge of $20 will be applied to the order for standard delivery.
Due to the size of this item, a delivery surcharge of $20 will be applied to the order for standard delivery. Please allow 4-6 weeks for delivery. Can only be shipped to the contiguous U.S. Can not be shipped to P.O. boxes. Express delivery not available.
Sun-Mar Continuous-Use Auto Flow 200 Composter:
50-gal. capacity.
32"H x 33 ½"W x 24"D.
38 lbs.
Sun-Mar Continuous-Use Auto Flow 400 Composter:
42" D x 28" W x 36" H
Volume 366 liters (approx. 100 gallons)
70 lbs.
Shop more composters from Gaiam
Composting 101
Why Compost?
How to Make Compost
3 Ways to Slash Your Trash: Zero Waste Is Recycling 2
Add raw composting material to the Sun-Mar Continuous-Use Auto Flow 200 & 400 Composters through the sliding input door. Mix and aerate compost material by rotating the crank. Rotating the drum allows compost to fall from the central output port, into your container below.
Composting is essential to an organic garden. Everything from coffee grounds, to fruit and vegetable scraps, tea leaves and more can be broken down to supply your garden with much of the nutrients that plants crave. In addition to the vast benefits to your back yard garden, composters reduce the amount of waste in our landfills. The Sun-Mar Continuous-Use Auto Flow 200 & 400 Composters are practical and easy to use. The AutoFlow design keeps compost material tidy and odor-free until it is ready for your garden.


text:
This Just In ...
Kevin Fischer is a veteran broadcaster, the recipient of over 150 major journalism awards from the Milwaukee Press Club, the Wisconsin Associated Press, the Northwest Broadcast News Association, the Wisconsin Bar Association, and others. He has been seen and heard on Milwaukee TV and radio stations for over three decades. A longtime aide to state Senate Republicans in the Wisconsin Legislature, Kevin can be seen offering his views on the news on the public affairs program, "InterCHANGE," on Milwaukee Public Television Channel 10, and heard filling in on Newstalk 1130 WISN. He lives with his wife, Jennifer, and their lovely young daughter, Kyla Audrey, in Franklin.
Culinary no-no #3
For the past couple of Sundays, I've blogged about food combos that simply don't work, culinary no-no's.
The inspiration came from my wife, who occasionally likes ketchup on a brat. Also, everybody likes to eat, right?
A look back at the people and events that made news the past week. Week-ends is a regular weekly feature of This Just In...
John Smeaton
Derek Fisher
Jill Stevens
Dennis Walters
Diavonnie Lofton
The Milwaukee County Board. My friend Brian Fraley broke this story on WISN this week and, as you see here, on his blog.
The person who stabbed LaShanda Calloway to death at a convenience store in Wichita, Kansas, and the people in the store who did nothing to help her as she was on the floor, bleeding to death. Disgusting.
"I respect the jury's verdict. But I have concluded that the prison sentence given to Mr. Libby is excessive."
President Bush, after he commuted the sentence of Scooter Libby. Bush commuted Libby's 30-month sentence after an appellate panel Monday rejected Libby's request to delay the start of his jail time while he appealed his March jury conviction. In announcing a commutation that experts did not expect so soon, Bush said Libby will still have to face "harsh punishment," including a $250,000 fine, two years probation, and damage to his reputation and family suffering.
"Taxpayers are definitely getting ripped off by the tribe on this. That money is owed to the taxpayers. It should have been paid long ago. They should at this point pay it back in full with interest."
Assistant Assembly Majority Leader Mark Gundrum (R-New Berlin) after the state ended its fiscal year without a payment from the Ho-Chunk Nation for its casino operations - pushing that tribe's unpaid invoice to more than $70 million. The tribe counters that it doesn't owe anywhere near that amount because a 2004 state Supreme Court ruling greatly diminished the value of its casino agreement with the state. The dispute has cost taxpayers $837,355 in legal bills so far.
"There's no doubt that I'm not a fan of light rail, and I doubt that's going to change significantly because of this trip."
Milwaukee County Executive Scott Walker. Philanthropist Michael Cudahy took to the skies with a planeload of local leaders, this time to check out the light rail and streetcar systems in Portland, Ore., and Denver in hopes of finding a solution to this region's transit problems. Cudahy announced plans to use his private plane to fly Milwaukee Mayor Tom Barrett, Milwaukee County Executive Scott Walker and Tim Sheehy, president of the Metropolitan Milwaukee Association of Commerce, to visit the two cities this week. The mayor has called for using $91.5 million in long-idle federal transit aid to build a 3-mile modern streetcar loop around downtown and to create two new Milwaukee County Transit System express bus routes. Walker - who has consistently opposed light rail, streetcars and rail-guided electric buses - wants all of the federal cash spent on express buses.
"I am telling you all, we aren't going to take this. We are just going to act as naughty as (prosecutors) are."
Former Milwaukee Alderman Mike McGee Sr. McGee, father of the jailed alderman, called his son's incarceration unjust, and promised to run again if his son is removed from office.
"This would be the greatest moment in the history of American sports."
ESPN color analyst Richard Shea, describing the finals seconds of American Joey Chestnut's victory over six-time winner Takeru Kobayashi in a record-setting triumph in the national hot dog eating contest. Shea's comment was an outrageous exaggeration. Shea is President of the International Federation of Competitive Eating.
The Milwaukee County Board wants a pay raise. If there was ever a group that didn't deserve a pay raise, it's this bunch.
Governor Doyle, who supposedly despises Big Oil and Big Tobacco, invests heavily in both.
Still waiting for the Journal/Sentinel Pulitzer Prize winners to figure out this is news.
The National Hot Dog Eating Contest.
An American beat the defending champion from Japan. So what!
This isn't the Olympics. It's not even a sport. Or has gluttony and making a complete pig of yourself suddenly become synonymous with athletic competition?
Live Earth also fits into this category for the week.
Irish bookie loses on the wrong Al Gore.
REMEMBER: Your suggestions/nominations for any of these categories every week are welcome, especially for HEROES OF THE WEEK. If you know of anyone in the community deserving of recognition, please e-mail me.
A look back at the people and events that made news the past week. Week-ends is a regular weekly feature of This Just In...
State Assembly Republicans for passing a no-tax-increase budget.
Milwaukee Country Supervisors who voted down a plan to increase the county sales tax.
The Philadelphia Phillies during a rain delay in Colorado came to the aid of the grounds crew. Seeing a member of the Coors Field grounds crew flung 10 feet in the air, then swallowed by a tarp was enough for the Phillies. Click on "Phillies help with the tarp" to see video.
Kyle Coenen of Franklin High School.
Governor Jim Doyle, Milwaukee Mayor Tom Barrett, Milwaukee Common Council President Willie Hines Jr., Milwaukee Police Chief Nannette Hegerty and Milwaukee Fire Chief Douglas Holton for blasting the state Assembly's no-tax increase budget.
All of the so-called Republicans in Congress who have adopted the Russ Feingold/cut and run philosophy concerning Iraq and are turning on the President, pushing him to set a timetable for troop withdrawal and abrupt changes to our military strategy.
The Colorado Rockies. If you watch the Philadelphia Phillies come to the rescue in the HEROES section, only one Colorado Rockie player reportedly came out to help the home team grounds crew. Where are the other Rockies' players?
"I don't think Congress ought to be running the war. I think they ought to be funding the troops."
President Bush striking an aggressive new tone on Thursday in his clash with Congress over Iraq, telling lawmakers they had no business trying to manage the war, portraying the conflict as a showdown with Al Qaeda and warning that moving toward withdrawal now would risk "mass killings on a horrific scale."
An "extreme, irresponsible" document.
That's how Governor Doyle described the state Assembly's budget that does NOT increase taxes….extreme and irresponsible.
"If you don't think that fire and police are priorities for your budget, where are you spending the money?"
Assembly Speaker Mike Huebsch, after Milwaukee officials said they would have to cut fire and police services under the state Assembly's no-tax increase budget.
"A 30 cent jump in one day? For what?"
Bob Moeller, as he filled his car at the Phillips 66 on Highway 100 and W. Layton Ave. in Greenfield. The station had raised its prices to $3.49 a gallon from $3.19 earlier in the morning, which prompted one angry customer to yell at the cashier and threaten not to pay his full bill according to the Journal/Sentinel.
"It's predominantly African-American kids playing up there. It looks so offensive. It sends a message that you are not welcome here. It is regretful that my child had to see that. I want a future for my child that is better than the past."
Henry Hamilton III, a longtime Brown Deer resident, who is filing a complaint against the Brown Deer School District for attaching "The Club" to basketball rims on the playground at Brown Deer Middle School.
"We were having a number of people coming in after hours and using our basketball area for activities that we felt weren't the best thing to do. We recently had a situation where students leaving the court were robbed. One day we had some gunshots."
Blake Peuse, the principal at Brown Deer Middle School said the move to place Clubs on the baskets - they were installed about two weeks ago and might be taken off sometime next month - wasn't meant to offend anyone.
"Bye, bye plane."
19-month old Garren Penland. He and his mother were booted off a plane after a flight attendant became upset when Garren kept saying "Bye, bye plane" as the aircraft prepared for liftoff.
Milwaukee Alderman Mike McGee Jr. makes over $71,000 a year, and qualifies for a public defender, meaning you and I help to pay for his defense.
As Senator Lazich pointed out in her blog, the Senate Democrats' universal health care plan would create huge deficits. The senator handed out copies of a Wisconsin Taxpayers Alliance report at a meeting of the Senate Health Committee this week. Several committee members and the two invited guest speakers had not seen it or heard about it.
The Wisconsin Taxpayers Alliance (WTA) has done some projections on the cost of the Senate Democrats' plan, Healthy Wisconsin (HW), if the plan were to begin in 2007. The WTA reports:
"Based on 4.6 percent annual wage growth projected by the Wisconsin Department of Revenue, HW revenues would increase from $15.2 billion in 2007 to $23.9 billion in 2017. If (the consulting group that worked on the government health plan), the Lewin Group is correct and health costs grow 6.5 percent per year, plan expenses would reach $28.4 billion by 2017. If costs grew eight percent, similar to recent increases in the existing state employee plan, spending would reach $32.8 billion.
Since the result would be deficits of between $4.5 billion and $8.9 billion, if the state HW (government) plan were to remain solvent, total payroll tax rates now set at 14.5 percent would have to rise to between 17.3 percent and 19.9 percent over the next decade."
All of the flak over Miss New Jersey Amy Polumbo.
Seems to me Vanessa Williams, who did a lot worse than Polumbo, had to give up her Miss America crown many years ago. She only went on to enjoy a lucrative, popular career. Yeh, they really showed her.
A little wine, some cheese, a hooded robber.
REMEMBER: Your suggestions/nominations for any of these categories every week are welcome, especially for HEROES OF THE WEEK. If you know of anyone in the community deserving of recognition, please e-mail me.
A look back at the people and events that made news the past week. Week-ends is a regular weekly feature of This Just In...
Stacy Derebery
Mika Brzezinski of MSNBC's "Morning Joe" program.
State Senator Dave Hansen (D-Green Bay). One day after attending the funeral of his granddaughter whom he had accidentally driven over when she ran behind his car as he was backing up, Hansen was at his desk on the Senate floor for the scheduled state Senate session. He could have stayed away, given the very brief Senate calendar. But instead, he was at the capitol, made an adjournment announcement in honor of his granddaughter, and then asked all Senators to stand in a moment of silence. I can't imagine what Senator Hansen must be going through, or how this will affect him the rest of his life. I give Hansen (audio of Hansen on Senate floor) credit for attending the Senate session when it was certainly understandable if he would have chosen to take a leave of absence.
Returning Wisconsin National Guard troops.
Good stuff.
Jerry Mehalopoulous of Sheboygan.
Geese. And more geese.
The punks who keyed all the cars at the Waukesha County Fair.
Former Milwaukee Police officer Joseph Schabel. Once thought to be a good guy, we now learn he lied about his actions the night Frank Jude was beaten. It's very good that Schabel is off the force.
Michelle Rendino of Syracuse.
Alaska Congressman Don Young, a Republican, for yelling on the floor of the House that taxpayer funding was, "My money, my money." He's more than sadly mistaken. It's OUR money, and Don Young needs to be tossed out of office for failing to understand that.
Nebraska judges
"She truly was our little princess, she is truly our little angel today."
State Senator Dave Hansen (D-green Bay) on the floor of the state Senate this week. referring to his granddaughter who was accidentally killed when she ran behind Hansen's car while he was backing out of a driveway. Hansen asked that all 33 senators stand in a silent tribute to his granddaughter, who would have been two years old this week.
"I intend to veto the things that I don't agree with."
Governor Doyle, on the state budget. God help us.
"I need to do everything I can to make sure that every person in the state of Wisconsin has access to the same benefits that I have, as a legislator."
State Senator Kathleen Vinehout (D-Eau Claire). In a glowing piece in the Milwaukee Journal/Sentinel, we learned that Vinehout turned down insurance for her family when they moved to Wisconsin. Vinehout and her family went without health insurance for 23 months. In September, Vinehout's husband called from a hospital emergency room in Wabasha, Minn., where physicians said their son, Nathan, needed surgery to remove his appendix. Nathan had the surgery, and is fine. The hospital first billed them $15,000 but settled for about $10,000. His parents refinanced the farm's mortgage to pay it. Now, because Vinehout had a choice and made the wrong decision, a bad decision, she feels it's the state's obligation to insure everyone and is pushing a $15.2 billion universal health care plan.
"Senator Vinehout's story is heartfelt. But their plan is completely misguided. They've decided to blow up a health care system that is the best in the nation."
State Senator Ted Kanavas (R-Brookfield).
"The Senate Democrats evidently aren't content with raising taxes on gasoline, buying a home, selling a home, owning a home, downloading music, getting sick or living in a nursing home. Now they want to tax you for being successful and doing a good job at work. Senate Democrats want to make sure that if you do well, they get a piece of the action. Republicans think that success should be rewarded and encouraged, not punished and taxed."
Senate Minority Leader Scott Fitzgerald, calling the senate Democrats' $15.2 billion government-run health care plan the "Success Tax." Fitzgerald says it would punish Wisconsin workers every time they received a pay raise or a promotion by forcing them to pay more for the same health care coverage.
"What this does is make little ghettos of sex offenders that not everyone would be happy to live next to."
Milwaukee Alderman Terry Witkowski, who voted in committee against a proposed ordinance to limit where sex offenders can live.
"Nobody wants a sex offender in their neighborhood. Unfortunately, there's 22,000 sex offenders in the state of Wisconsin, and I'd much rather know where they live than not know where they live."
Milwaukee Alderman Michael Murphy, who supports an ordinance to restrict sex offenders in the city of Milwaukee.
"I don't want Milwaukee to be a magnet for sex offenders."
Milwaukee Alderman Tony Zielinski noted that Franklin, Glendale, and Menomonee Falls have enacted similar ordinances and other suburbs might follow.
"Alderman McGee is a good man and a wonderful brother. He is not a thug. He is a warrior of justice and an advocate of the poor and voiceless."
William Muhammad, minister of Muhammad's Mosque No. 3, speaking at a rally in support of Alderman Michael McGee, Jr.
When Barack Obama said we should have sex education in kindergarten, Mitt Romney responded.
"On the downside, winter is tough, and there's not great ethnic diversity."
Money Magazine, ranking Middleton, Wisconsin as the best place to live in America, had to also admit there were some drawbacks.
Former Milwaukee Police officer Joseph Schabel lied for two years. On the witness stand this week, he admitted he stomped Frank Jude in the head with his foot. (See VILLAINS OF THE WEEK). Our police force has no place for officers like Schabel, who gives the rest of the department a bad name.
Lots of stories in the news this week about abuse by Catholic priests. But as I predicted not too long ago, you didn't hear a peep about this.
The new Harry Potter installment. It's a book for cryin' out loud!
80-year old woman enters home to find intruder, sitting on the toilet, and proceeds to ask him, "How long are you going to be?"
From the, 'YOU HAVE GOT TO BE KIDDING ME" file: Uhh, excuse me your honor, but I can't come to court today, or any day for that matter because…..I'm afraid. Here are the details.
REMEMBER: Your suggestions/nominations for any of these categories every week are welcome, especially for HEROES OF THE WEEK. If you know of anyone in the community deserving of recognition, please e-mail me.
A look back at the people and events that made news the past week. Week-ends is a regular weekly feature of This Just In...
Returning members of the 1st Battalion 121st Field Artillery Wisconsin Army National Guard.
The New Berlin School Board that approved a school tax levy increase of only 0.9%. Are you paying attention, Franklin School Board members?
Milwaukee County Executive Scott Walker who will, for the 3rd time, veto a Milwaukee County Board-approved measure to force a referendum on a county-wide sales tax increase.
Franklin High's summer baseball team that made it to the state tournament quarterfinals.
Woman in Denver who used a clever tactic to flee her captors
Ohio judge Michael Cicconnetti
TV Land and the people of Hawaii
Thieves at Holy Hill
Lemonade stand bully in Oshkosh
The 10 Milwaukee County Board Supervisors who voted to approve an advisory referendum for next February's ballot calling for a one-cent sales tax increase, in essence, a $120-million tax increase……because, as you all well know, we just aren't taxed enough around here.
Milwaukee Mayor Tom Barrett. It's easy to criticize the Milwaukee Police Department in a week that saw guilty verdicts in the Frank Jude Jr. beating trial. But it's quite galling when Barrett, who has done nothing to fight crime in the city of Milwaukee, makes negative comments about the department. And as I pointed out filling in for Mark Belling Friday, Barrett says he will veto a proposed ordinance that would restrict where sex offenders can live in the city of Milwaukee. Under the ordinance, sex offenders could only live in about 1% of the city limits, meaning 99% would be sex offender-free. Barrett says he feels sorry for the districts where sex offenders could live. Brilliant. So he'll veto the ordinance, and 100% of the city will still be open to sex offenders. Meanwhile, one municipality after another around Milwaukee and around the state is passing a restrictive ordinance similar to Franklin's.
State Senator Kathleen Vinehout (D-Alma). Remember she couldn't afford to buy health insurance, leaving her and her husband in a quandary when their son needed an emergency appendectomy later. Now we learn that at the same time she claims her family couldn't afford health insurance and that's why we need universal health care in Wisconsin, she lent her own election campaign thousands of dollars. Supporters of this boondoggle continue to be disingenuous.
Noted Milwaukee defense attorney Gerald Boyle joined me live on WISN Thursday shortly after the verdicts were announced in the Frank Jude beating trial. Boyle defended fired officer Jon Bartlett who was acquitted of all but one charge in the state trial, but found guilty on both counts this week in the federal trial. When I asked Boyle if he was disappointed, Boyle said no, and in the epitome of candor said that he told Bartlett after the state trial that he was lucky the jury ruled the way it did.
"I would have to think twice about staying here. Even as a resident, I would be giving that very serious thought."
Steve Scaccia, president of Freedom Plastics, Janesville, on the Senate Democrats'' universal health care proposal. He said the government should not be able to save money by putting the burden on Wisconsin residents and businesses. Scaccia thinks the proposal will make Wisconsin the highest-taxed state in America, allow illegal immigrants to receive health care and encourage uninsured people to move to Wisconsin. He believes it also would discourage businesses from operating in Wisconsin.
" Wisconsin took a mid-July hit in the second annual Forbes magazine ranking of "the best states for business," placing 44th out of 50 - barely ahead of auto layoff capital Michigan, Katrina-battered Louisiana and everyone's stereotypical image of Appalachia, West Virginia.
While not as harsh as the Forbes rankings, Wisconsin came across as somewhat lackluster in the Fortune Small Business.com survey of best places for small business (27th) and CNBC's Top States for Doing Business (33rd). Under the heading of "thank goodness for small favors," Wisconsin did not place in the bottom 10 in the Tax Foundation's 2007 state business tax climate index - but it was 38th out of 50.
The mediocre-to-worse business rankings are still cause for concern, however. They consistently portray Wisconsin as being unfriendly to business, which is a perception that can be hard to live down - even if the reality is changing. Business leaders should talk about what's right about Wisconsin and political leaders must stick by policies that position the state for competitiveness."
Tom Still, president of the Wisconsin Technology Council.
"We have given more favorable treatment to the beer industry than any other in this state. Everybody's so afraid of the beer tax and beer industry."
State Representative Terese Berceau (D-Madison), whose bill to increase the beer tax in Wisconsin has gone flat.
"It's (beer) one of our icons. You don't go lobbing stones at our icons."
Jerry Apps, who has written a history of Wisconsin breweries, on the proposed beer tax increase.
A "little midget man who knows (nothing) about baseball."
San Francisco Giant Barry Bonds describing sportscaster Bob Costas.
"As anyone can plainly see, I'm 5-6 1/2 and a strapping 150, and unlike some people, I came by all of it naturally."
Bob Costas, responding to Barry Bonds with a jab of his own.
Senate Democrats and others pushing universal health care were all smiles this week, touting a new survey they claim demonstrates overwhelming support for their $15.2 billion government health care proposal. They claim a whopping 69% of the public supports their crazy idea.
Take a look at the last page of the survey. The survey was conducted June 12-14, but the Senate Democrats' plan wasn't formally announced until June 25, and even then not everyone was clear on all the details in the massive plan. How could Joe in Waupaca being surveyed on June 12th know fully and truthfully what he was being asked out? The bogus survey is a complete sham and lacks any credibility.
See outrage of the week.
The off-beat hype is everywhere.
Ballooning festival in New Jersey is counting on a virgin to insure good weather.
REMEMBER: Your suggestions/nominations for any of these categories every week are welcome, especially for HEROES OF THE WEEK. If you know of anyone in the community deserving of recognition, please e-mail me.


text:
Arts, culture & heritage
Learn about the rich arts, cultures and heritage of Canada, its Aboriginal Peoples, official languages, geography, history, heritage, multiculturalism, celebrations and commemorations. Apply for funding opportunities available to Canadian artists, athletes and organizations.
Arts & culture
Find online exhibits, learn about funding opportunities, key federal players and how they support success and promote Canadian artists, and the arts and culture industry.
Aboriginal arts, culture and heritage
Information about Aboriginal Peoples and the importance of celebrating and preserving their art and cultures.
History & heritage
Information about Canada's historical sites, access to archives, records and research tools to help you learn about military history, members of your family or those who served in the Canadian Armed Forces. Remember the sacrifices of those who fought for Canada.
Canada's official languages
Information about our official languages, their history, and remarkable vitality.
Atlas of Canada
Find places, digital maps, quizzes, facts, geographical information and learning resources about Canada.
Celebrations & commemorations
Information about state funerals and national commemorative ceremonies, royal tours of Canada, Canada Day, Veterans' week, and Winterlude in Canada's capital.
Apply for funding
Find programs and apply for funding opportunities for Canadian artists, athletes, and organizations.
Includes games, Black History Month, Asian Heritage Month, awards, history and commemoration.
Information on major sport events, and programs and financial support that are available to our athletes and teams across Canada.
Canada's Economic Action Plan 2014
With a commitment to return to balanced budgets in 2015, Economic Action Plan 2014 demonstrates the importance of strong public finances to creating jobs, growth, and opportunities for all Canadians.
Commemorations of the First and Second World Wars
The year 2014 marks the centennial of the beginning of the First World War and the 75th anniversary of the beginning of the Second World War.
Language Portal of Canada
Find resources on all aspects of English and French, including TERMIUM Plus®, the Government of Canada terminology and linguistic data bank, writing tools that deal with grammar, punctuation, typography, translation and vocabulary, and language-related quizzes and articles.
- Date modified:


text:
Kids Pom-Pom Heart Frame
Your child will love creating this colorful valentines frame with a wooden frame, pom-poms and craft paint.
Craft Time: 30 minutes
Uses Recycled Items: No
Get exclusive offers about this product and more!
Material List
- Wood Frame – Square with Heart Cutout
- Craft Smart® Acrylic Paint – Holiday Red and White
- Creatology™ Pom Poms, ½" – Red and White
- Craft Smart™ Glue – White
- Paintbrush
Project Instructions
Step 1 Paint frame red. Let dry.
Step 2 Glue on pom poms as shown. Let dry.
Step 3 Add white dots using the end of a paintbrush.


text: Birthday Celebration Rolled Gift Wrap - Current Catalog Shopping Cart: 0 items Sign up for exclusive email promotions Checks Address Labels Greeting Cards Holidays and Events Gift Ideas Personalized Gifts For Your Home Stationery Personalized Stationery Calendars Home Office Wrapping Paper Photo Gift Center Dollar Deals Sale Home > Wrapping Paper > Everyday Wrapping Paper Birthday CelebrationRolled Gift Wrap Sale! Save 45% Celebrate birthdays with wrapping paper that practically shouts, "Happy Birthday!" Bright balloons and birthday hats really stand out on deep royal blue, adding a fun look to any birthday party. And, our heavyweight, boutique-quality wrapping paper is so thick you can't sneak a peek through it!Peek-proofSupersized to 23" x 38' - a whopping 72 sq. ft.Wraps 18 shirt-sized boxesGreat for big gifts Product Code Product Description Qty Price 605244 Birthday CelebrationRolled Gift Wrap We regret that this item is not available at this time. NOTE: To avoid errors, please do not refresh this page or hit the back button while we process your order. Open It! Package Opener Was: $11.99Now: $7.99 Dot Glue Runner $3.98 Colorful Tissue Pack $3.00 Pull BowValue Pack Was: $7.99Now: $5.99 Home|Featured Merchants|Tips|Contact Us|Privacy & Security|Site Map|1-800-848-2848|Request Free Catalog © 1998, 2014 Current USA, Inc.


text:
Cart (0)
866-539-4278866-539-4278 Shipping - Returns
Puzzles with hidden images add an extra layer of fun to puzzling - after you assemble the puzzle, find the objects hidden throughout the picture. Can you find them all?
Use the filters to the left or simply scroll down to begin viewing all pages.
*All Shipping offers are for FedEx Ground for US only, excludes HI and AK.
Need to return or exchange a puzzle? It's easy. Simply call us at 866-539-4278 or email email@example.com to request a Return Authorization Number, and we will send you a prepaid return label for the item.
Please note:
Copyright © 2014, Puzzle Warehouse, All rights reserved. St. Louis Jigsaw Puzzles
Puzzle Warehouse recycles everything it can to save the environment and to keep costs and prices low.


text:
Food and Nutrition
Manufacturer: The Baby Bond 1 Results
The Baby Bond, By Dr. Linda Folden Palmer
" I'm a first time mom also from the healthcare field, so to find a book that I feel has great substance to it is very important. Dr. Palmer writes this book in an easy to read format that flows nicely and I can easily put it down to attend to the needs of my baby and not be lost when I come back to it. She presents well researched ideas, theories and facts with an organized and unbiased..." --Chiro Mom