Fix to %NANOSLEEP from Erik Pearson (remaining time can be slightly
greater than original request.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15358 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In mark-console-output-available, change #$diamondMark to 19 (its
value, taken from 10.6 headers), because #$diamondMark has been
removed from 10.7 headers.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15360 8bdb8f1d-59ce-db11-9e41-0016172a54ae
New directory cocoa-ide/lib.  New file libdispatch.lisp.  Move
cf-utils.lisp to lib directory.  Adjust defsystem.lisp accordingly.

The idea is that code that is are generally useful to any
Cocoa application and not specific to the IDE should go in lib
(at least until some better place crops up).



git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15361 8bdb8f1d-59ce-db11-9e41-0016172a54ae
New file event-process.lisp, which implements call-in-event-process
and queue-for-event-process using libdispatch.

In cocoa-utils.lisp, remove the previous versions of those functions
which employed user-defined events (and a custom NSApplication
subclass) to provide a way for functions to be invoked on the main
thread.

Update defsystem.lisp.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15362 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Remove this file, previously moved to cocoa-ide/lib directory.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15363 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Bring over some minor changes from the app store branch.
  * require 10.6.6 in Info.plist files
  * include application category in Info.plist files
  * build altconsole with default architecture (not -m32)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15364 8bdb8f1d-59ce-db11-9e41-0016172a54ae
When building a standalone IDE, don't prepend the kernel to the heap
image file.  Instead, write the heap image file to
.../Contents/Resources/ccl/.  The lisp kernel, which goes to the usual
place (.../Contents/MacOS/) can find the heap image there.

In the app store version, the ccl: logical host points to
Resources/ccl also.  For now, leave in the special case in
init-ccl-directory-for-ide (in app-delegate.lisp), that makes ccl:
refer to the directory containing the application bundle.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15365 8bdb8f1d-59ce-db11-9e41-0016172a54ae

Change the write-barrier implementation on x86:
managed_static_area->refbits tracks references to (potential)
ephemeral objects and is traversed by the EGC; the new global
managed_static_refbits tracks references from the managed_static_area to
(potential) dynamic objects and is traversed by full GC.

To support this:

 - add a couple of new kernel globals (actually, conditionally redefine
   a few PPC-specific things) to keep track of the number of dnodes in
   the managed static area and the new managed_static_bitvector.  (We might
   want to just add new globals and leave the PPC-specific things there;
   the managed_static_area is currently X86-specific, but we might want
   to use it on other architectures.)

 - change the image loading/saving code to restore/save managed_static_refbits

 - change purify/impurify on x86 to maintain both bitvectors

 - change the GC to traverse both bitvectors (in different situations)

 - initialize and maintain the new kernel globals

 - provide a way of reserving address space for reasons other than
   heap initialization

 - implement the new write barrier in the affected x86 subprimitives

 - maintain both bitvectors in pc_luser_xp

 - other incidental changes.

This seems to work reliably on X8664 Linux.  Some stuff needs to be tested
on Win64 and the X8632 write-barrier code probably needs lots of testing 
(that machine hardly has any registers ...).  Other platforms shouldn't
be affected, but we'll see.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15366 8bdb8f1d-59ce-db11-9e41-0016172a54ae
arm-gc.c: mark_memoized_area() does nothing if area is empty.
arm-spentry.s: In _SPbuiltin_eql, if recursive call on first
element of ratio/complex returns NIL, return NIL explicitly
(we pop arg_y/arg_z).

Automatic build tools likely don't read these comments and will
probably try to rebuild x86 versions.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15367 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Don't trap if DF set in mark_xp() on x8632.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15368 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Saner definition of MANAGED_STATIC_SIZE




-


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15369 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Define assembly lisp-globals in lisp_globals.s, not in *constants.s
Provide _rnode and support, so that the lisp_globals structure can
have its elements defined in predecremented descending order.
Make managed_static_dnodes/_refbits new globals so that they can
be used on all platforms (even though the managed_static_area is only
used on x86 at the moment.
When disabling the EGC, set lisp_global(OLDSPACE_DNODE_COUNT) to 0
(not effectively to lisp_global(MANAGED_STATIC_DNODES), since the
new write barrier code doesn't overload a single set of refbits.

Hopefully, that's it for these changes.
(We'll see if the code even compiles on other platforms.)




-


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15370 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Ensure that lisp_globals_limit is defined before lisp_globals.s
is included.  (Newer versions of gas can handle forward references
better than older versions do.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15371 8bdb8f1d-59ce-db11-9e41-0016172a54ae
lisp_globals.*: Spell "catch" with fewer c characters in OBJC_2_END_CATCH definition.

x86-spentry64.s: use new names for objc_2_begin/end_catch.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15372 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Suppress some warnings from llvm.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15373 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Maintain a single version of mark_memoized_area().
In mark_memoized_area(), fix another fencepost (don't reference bitsp
if we're already past the end; it can end on a page boundary.)

The same bug existed (with the same symptom) in mark_managed_static_refs(),
and was fixed around a year ago.

Fixes ticket:972.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15374 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Get lisp_globals_limit right on ARM.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15375 8bdb8f1d-59ce-db11-9e41-0016172a54ae
ppc-spentry.s: lisp_globals.saver13 vice saveR13


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15376 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Braino in 64-bit BIGNUM-LOGTEST.  One test case which failed (this
was generated by the test suite's LOGTEST.7 test, which tests
that (LDB-TEST (BYTE 1 x) y) generates the same result as
(LOGBITP x y) for randomly-generated X and Y) is
(LOGTEST (ASH 1 96) -2635830470482044461626733567)




-


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15377 8bdb8f1d-59ce-db11-9e41-0016172a54ae
(Thought I'd checked this in a few weeks ago.)
If SETF is used on a structure accessor, error at macroexpand time
if the accessor is called with other than 1 arg.  (If we don't
check here, the error that happens later is even more obscure and
has even less to do with user code.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15378 8bdb8f1d-59ce-db11-9e41-0016172a54ae