In encode-objc-method-arglist, use with-standard-io-syntax so that
user customizations of the standard reader/printer variables won't
surprise us.

See ticket:1043.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15558 8bdb8f1d-59ce-db11-9e41-0016172a54ae
DEFAULT-INITARGS: allow CLASS argument to be any slot-bearing class,
not just STD-CLASS.
(MAKE-INSTANCE objc-class) : use DEFAULT-INITARGS.  Fixes ticket:1045
in the trunk.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15559 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In *-2: careful if multiplying MOST-NEGATIVE-FIXNUM by a BIGNUM.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15560 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In %page-fault-info, have Darwin systems use #_getrusage instead
of Mach calls.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15561 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Hacky workaround in process-init-message so that it won't choke on
class names in the interface database that aren't available in the
run-time environment.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15563 8bdb8f1d-59ce-db11-9e41-0016172a54ae
When "eliding pushes" on the vstack, we punt if any vinsn in the
sequence between the push and pop changes or depends on the compiler's
notion of vstack depth.
When generating a function return sequence and optimizing for space,
we try to reuse previously-generated sequences if (a) nvrs need to be
restored and (b) the current vstack depth is = to the vstack depth at
the point where the previously generated sequence was generated.  (In
other words, the branch to a previous label depends on the compiler's
notion of vstack depth, and eliding a PUSH would invalidate that.
It's not clear that trying to share POPJ sequences saves space (that
depends on the size of the JMP and the size of the instructions used
to restore NVRs), but if we're going to do this use a new POPJ-VIA-JUMP
vinsn to branch to the earlier sequence; the vinsn attributes of that
vinsn are equivalent to those of POPJ and this should scare the push-elision
code out of eliding anything.

(That's likely not the best solution, but this fixes ticket:1046 in the
trunk.)

The most likely symptom of getting this wrong is that NVRs may not be
restored correctly.  We don't have NVRs on x8632 or ARM, but we should
probably recognize the fact that "push elision" and "popj folding" can
have this kind of unexpected interaction.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15564 8bdb8f1d-59ce-db11-9e41-0016172a54ae
NX1-MACROLET: nx1-effect-other-decls at start of body.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15565 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In build-ide, just warn about classes found in the interfaces that
aren't found by the runtime.  (This situation will occur on pre-10.8
systems.)  This will probably cause user confusion, but at least
(require 'cocoa-application) will work without having to continue from
the break manually.

See ticket:1047.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15567 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Remove %MULTIPLY-AND-ADD-LOOP (only caller is unused.)
Add %MULTIPLY-AND-ADD-FIXNUM-LOOP.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15568 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Nuke %MULTIPLY-AND-ADD-LOOP, add %MULTIPLY-AND-ADD-FIXNUM-LOOP for
x8664.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15569 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Lose the (unused) local function MULTIPLY-UNSIGNED-BIGNUMS from
MULTIPLY-BIGNUMS.

Implement MULTIPLY-BIGNUM-AND-FIXNUM in terms of
%MULTIPLY-AND-ADD-FIXNUMS-LOOP; this seems to make the non-GC
time of (DOTIMES (I 1000) (FACT 1000))  about 3X faster.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15570 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Remember how to write PPC assembler.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15571 8bdb8f1d-59ce-db11-9e41-0016172a54ae
If we get a SIGSEGV or SIGBUS while executing foreign code when 
tcr->safe_ref_address is non-nil, try to recover by making it look
like the current ffcall has returned a null pointer.

Try to use this mechanism to recognize tagged ObjC instances.  (Part
of that process involves sending -[NSObject class] to something that
may or may not be an ObjC instance, and if the instance isn't valid
that message will likely generate a memory fault.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15572 8bdb8f1d-59ce-db11-9e41-0016172a54ae
[Should have been part of r15572.]

Try to use this mechanism to recognize tagged ObjC instances.  (Part
of that process involves sending -[NSObject class] to something that
may or may not be an ObjC instance, and if the instance isn't valid
that message will likely generate a memory fault.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15573 8bdb8f1d-59ce-db11-9e41-0016172a54ae
TRANSFORM-REAL-N-ARY-COMPARISON: when transforming 3-arg comparisons,
reference the third arg in all cases.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15574 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Now with fewer stray random characters!


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15575 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In build-ide, don't bother checking whether all the classes in the
interfaces are found in the runtime.  Even warning about it is
pointless: of course older systems will be missing certain classes
found in interfaces built from a newer system.

What's the user supposed to do about such a warning, anyway?  Install
Mountain Lion?  Now if we got referral commissions, that might be
diferent.  I can see it now: "Warning!  I see that you are running a
version of Mac OS X that does not include the NSPopover class.  Don't
you yearn to make popovers pop up over everything?  Don't miss out on
notifying the user of matters both mundane and extraordinary with
notifications displayed in Notification Center via the
new-for-Mountain-Lion NSUserNotificationCenter!  Go to the Mac App
Store and upgrade to the latest OS X release today!"

See ticket:1047.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15576 8bdb8f1d-59ce-db11-9e41-0016172a54ae
In shutdown_thread_tcr(), when HAVE_TLS is defined and the tcr is
current_tcr, set current_tcr to NULL and zero out the tcr's contents,
just in case.

This enables destructors established with pthread_key_create to make
callbacks on a newly-initialized TCR and seems to fix ticket:1052 in
the trunk.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15577 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Faster bignum x fixnum multiplication for 32-bit architectures.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15578 8bdb8f1d-59ce-db11-9e41-0016172a54ae
When scanning/dumping symbols, check to see if the symbol is a
(proxy) SETF function symbol for some name X; if so, dump the
symbol as (LOAD-TIME-VALUE (SETF-FUNCTION-NAME X)).


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