- Nov 28, 1997
-
-
dtc authored
use encapsulation by default.
-
- Nov 27, 1997
-
-
dtc authored
o Fixed bug in real/imag part optimizers which didn't handle union types. o Added derive-type optimizer for complex. o Added deftransforms for complex operations: o complex-complex ops: + - * / o complex-float ops: + - * / o float-complex ops: + - *
-
dtc authored
-
dtc authored
x86 port under CGC and GENCGC.
-
dtc authored
-
- Nov 25, 1997
-
-
dtc authored
early stages so will have to be hand edited.
-
dtc authored
code into the dynamic heap.
-
dtc authored
-
dtc authored
-
dtc authored
improvement in reliability necessary for breakpoint and single stepping to have a chance, and has been tested in the experimental code and works on FreeBSD and Linux. The code object for a given return address in now located with the help of the GC support function component_ptr_from_pc which can reliably locate the code objects. This uses a forward search of the heap so is rather slow - some caching will be needed for better performance. The stack parsing has been re-written using a backtracking search to improve the chance of finding a valid frame path given that the control changes between C and Lisp conventions. The x86-lra hack is no longer necessary (was unreliable anyway) allowing x86 code to be more compact. The return address is now handled as a SAP which is acceptable because the code doesn't move with CGC, and GENCGC ensures that code objects in the dynamic heap with return addresses on the stack are not moved. However there are known problems under GENCGC when return addresses are move off the stack during some breakpoint operations in which case the code object may move.
-
dtc authored
tested in the experimental code and works on both FreeBSD and Linux. Plus a few improvements to the interrupt safety for the x86 port.
-
dtc authored
clear it during a C call-out.
-
dtc authored
of no utility and wasn't even being maintained thoroughly. Can now use pseudo atomic in C code. All interrupt contexts are saved, even those that occur when running foreign C code; this may be necessary for reliable stack parsing on some operating systems, e.g. Linux. When the pending interrupt from a GC trigger is processed by interrupt_handle_pending, any other accumulated pending interrupt is also processed even if *interrupts-enabled* is false, breaking the behaviour of the *interrupts-enabled* flag. The best way around this for the x86 port is to call maybe-gc directly from the allocation routines; remove the recently introduced function set_maybe_gc_pending which also had other problems. Note this problem will likely occur on the other ports.
-
pw authored
-
- Nov 23, 1997
- Nov 22, 1997
-
-
dtc authored
values. The stack was being reset exposing the return address to corruption before it was read - caused the occasional SIGSEGV fault with the MP SIGALRM yield enabled.
-
dtc authored
debugger. Add a few more assertions to check that the current process and stack group are consistent.
-
dtc authored
calling interrupt_handle_now, else when interrupt_handle_now resets signal mask to that in the signal context it will be masking the interrupts where the intention is to re-enable them. This caused the multi-processing to get stuck working on a particular process with the signals masked. Change may have another benefit: the pending_mask is no longer needed so there is no danger from recursive pending interrupts.
-
- Nov 21, 1997
-
-
dtc authored
the EBX register rather than in stack slot 0 where it corrupts the OCFP. New vm-support-routine make-nlx-entry-argument-start-location. No longer need to save/restore the OCFP with the dynamic state as it isn't corrupted.
-
dtc authored
RT) so this is set for the first object allocation - help some checks on the x86 port.
-
dtc authored
interrupt_handle_now until after the context SAP object is allocated so that this allocation is not interrupted. May still be some lossage on the non-x86 ports as the GC will not see the object on the C stack until it is moved onto the control stack by the call into lisp.
-
dtc authored
the breakpoint functions have allocated the context SAP object so this allocation is performed without interrupt.
-
dtc authored
compiled with support.
-
dtc authored
that the symbol slot is actually a symbol as this slot may be zero if a bind or unbind is interrupted - have it ignore these for now so that it as least proceeds rather than giving a SIGSEGV fault. Re-write of make-stack-group and stack-group-resume taking care not to mess with unwind-protect during a stack group switch. No longer need to disable the GENCGC pointer filter when starting the SIGALRM yield interrupt because the object allocation should now be interrupt safe now. Have the SIGALRM handler return quickly if the interrupt nesting is too great.
-
- Nov 19, 1997
-
-
dtc authored
avoid possible heap corruption due to interruption. Exploit the with-fixed-allocation macro where appropriate.
-
dtc authored
increase speed. Replace the fixed-allocation macro by a with-fixed-allocation macro that wraps the allocation and optional forms in a pseudo-atomic.
-
dtc authored
GC when it reaches its trigger within pseudo atomic so that maybe_gc is called at the end of pseudo atomic.
-
- Nov 18, 1997
- Nov 17, 1997
-
-
dtc authored
when there is no scavenger hook support (for CGC).
-
- Nov 16, 1997
-
-
dtc authored
argument to %realpart and %imagepart respectively. Enable the realpart and imagpart derive-type optimizers which now work and are important for these functions to be inlined.
-
dtc authored
complex-float support. The realpart and imagpart functions now need to do some type dispatch. The VOPs are now direct translations of realpart and imagpart; remove the hack accessor functions.
-
dtc authored
-
- Nov 15, 1997
-
-
dtc authored
avoid a compiler warning.
-
dtc authored
badly when running a raw kernel.core. The parameter vm:target-read-only-space-start was being accessed but is unbound until compiler/x86/parms is loaded.
-
dtc authored
so can be implemented efficiently, and is handy for type dispatch. Cleanup the realpart and imagpart source transforms, exploiting the complex rational test.
-