Guillermo J. Rozas [Thu, 5 Mar 1992 20:30:55 +0000 (20:30 +0000)]
Initial revision
Guillermo J. Rozas [Thu, 5 Mar 1992 20:29:13 +0000 (20:29 +0000)]
Macroize everything up the wazoo to accommodate differences between Unix
and DOS assemblers.
Guillermo J. Rozas [Tue, 3 Mar 1992 23:24:39 +0000 (23:24 +0000)]
Add 700 directory defaults so that sources can be found.
Chris Hanson [Tue, 3 Mar 1992 21:33:34 +0000 (21:33 +0000)]
Don't generate rules with (MACHINE-CONSTANT 0) as a RHS; use (REGISTER
0) instead.
Arthur Gleckler [Tue, 3 Mar 1992 16:32:01 +0000 (16:32 +0000)]
Change GET-VISUAL-INFO because of change to X graphics devices that
makes their operations get devices, not descriptors.
Guillermo J. Rozas [Mon, 2 Mar 1992 23:38:09 +0000 (23:38 +0000)]
Change use of assoc in constant->label to a use of warning-assoc so
the compiler will issue a warning when coalescing constant objects.
Chris Hanson [Mon, 2 Mar 1992 04:08:37 +0000 (04:08 +0000)]
Synchronous processes that need a specific working directory must pass
that directory as an argument to start-subprocess.
Henry M. Wu [Sat, 29 Feb 1992 19:48:36 +0000 (19:48 +0000)]
Added DOS 386/486 support.
Henry M. Wu [Sat, 29 Feb 1992 19:39:41 +0000 (19:39 +0000)]
Added DOS 386/486 support.
Henry M. Wu [Sat, 29 Feb 1992 19:09:48 +0000 (19:09 +0000)]
Allow conditional use of CONST even in ANSI C mode because some
compilers (DOS Zortech) don't declare their libraries correctly
although they are allegedly ANSI compatible.
Chris Hanson [Fri, 28 Feb 1992 23:06:16 +0000 (23:06 +0000)]
Handle case where "options" directory is missing.
Guillermo J. Rozas [Fri, 28 Feb 1992 20:23:57 +0000 (20:23 +0000)]
Initial release
Guillermo J. Rozas [Fri, 28 Feb 1992 20:19:58 +0000 (20:19 +0000)]
Add short-circuit handlers for common arithmetic.
Guillermo J. Rozas [Thu, 27 Feb 1992 22:43:33 +0000 (22:43 +0000)]
Add case for lexical-unassigned? in the unbound-variable error
handler.
Guillermo J. Rozas [Thu, 27 Feb 1992 22:25:45 +0000 (22:25 +0000)]
Fix bug in unassigned_p_transform.
The system was not complaining about unbound variables.
Arthur Gleckler [Thu, 27 Feb 1992 19:14:19 +0000 (19:14 +0000)]
Move the variables for the PRINT library (which contains the commands
LPR-BUFFER, LPR-REGION, PRINT-BUFFER, and PRINT-REGION) from print.scm
to loadef.scm.
Henry M. Wu [Thu, 27 Feb 1992 19:02:48 +0000 (19:02 +0000)]
Declared search_for_primitive properly.
Henry M. Wu [Thu, 27 Feb 1992 18:56:52 +0000 (18:56 +0000)]
Added OS_tty_map_interrupt_char to request interrupt character when
the interrupt is taken by Scheme.
Henry M. Wu [Thu, 27 Feb 1992 18:41:09 +0000 (18:41 +0000)]
Added explicit typedef for off_t; Zortech C for DOS needs it.
Henry M. Wu [Thu, 27 Feb 1992 18:31:48 +0000 (18:31 +0000)]
Changed parameter list of Future_Variable_Splice to please
Zortech 386/486 compiler.
Henry M. Wu [Thu, 27 Feb 1992 18:26:30 +0000 (18:26 +0000)]
Added DOS 386/486 support.
Removed redundant declaration for errno.
Henry M. Wu [Thu, 27 Feb 1992 18:17:09 +0000 (18:17 +0000)]
Added DOS 386/486 support.
Guillermo J. Rozas [Thu, 27 Feb 1992 02:14:00 +0000 (02:14 +0000)]
Add missing sizeof in OS_open_server_socket.
Chris Hanson [Thu, 27 Feb 1992 01:12:36 +0000 (01:12 +0000)]
Use SET-PORT/THREAD-MUTEX! instead of directly accessing PORT-RTD.
Chris Hanson [Thu, 27 Feb 1992 01:11:19 +0000 (01:11 +0000)]
PORT/COPY must generate a new thread-mutex for the copy; it was
erroneously using the mutex of the original.
Chris Hanson [Thu, 27 Feb 1992 00:44:50 +0000 (00:44 +0000)]
Fix bug causing characters to be lost.
Chris Hanson [Thu, 27 Feb 1992 00:29:34 +0000 (00:29 +0000)]
Eliminate several fencepost errors in the paragraph and sentence
parsing code.
Chris Hanson [Wed, 26 Feb 1992 22:39:18 +0000 (22:39 +0000)]
Make sure that thread-mutex of emacs interface port is same as that of
the console port. Otherwise keyboard interrupts aren't correctly
delivered.
Chris Hanson [Tue, 25 Feb 1992 23:32:03 +0000 (23:32 +0000)]
Don't update screens unless going into input wait.
Chris Hanson [Tue, 25 Feb 1992 23:11:19 +0000 (23:11 +0000)]
*** empty log message ***
Chris Hanson [Tue, 25 Feb 1992 22:57:27 +0000 (22:57 +0000)]
* Ports now have a mutex that can be used to implement cooperative
locking of the port. Command loops use this mutex to guarantee that
only one thread at a time uses the port.
* The standard error handler notices when it is about to start a REPL
on a port that is locked by a thread different from the signalling
thread, transforms the error into a derived thread error, and
signals the derived error to the locking thread.
* The procedures KEYBOARD-INTERRUPT-THREAD and
SET-KEYBOARD-INTERRUPT-THREAD! have been eliminated. Keyboard
interrupts are sent to the locking thread of the console I/O port.
* New procedure THREAD-MUTEX-OWNER returns the locking thread of a
mutex, or #F indicating that the mutex is unlocked.
* New procedure WITH-THREAD-MUTEX-LOCKED locks a mutex over a dynamic
extent. If the calling thread already holds the lock, this
procedure does not signal an error and does not unlock the mutex at
the end of the extent.
Chris Hanson [Tue, 25 Feb 1992 22:41:00 +0000 (22:41 +0000)]
Don't attempt to update screens unless there is no immediate input.
Doing so is wasted effort since the update will abort almost
immediately. Also don't update screens for PEEK-NO-HANG; let the
caller take care of updating if that is desirable.
Chris Hanson [Tue, 25 Feb 1992 22:38:44 +0000 (22:38 +0000)]
Add operations to change window and icon names, and to iconify
windows.
Chris Hanson [Tue, 25 Feb 1992 22:18:12 +0000 (22:18 +0000)]
Change SIT-FOR to update screens while waiting. Change SLEEP-FOR to
be the same as SLEEP-CURRENT-THREAD.
Guillermo J. Rozas [Tue, 25 Feb 1992 16:43:10 +0000 (16:43 +0000)]
Use assembly language hooks to reduce code size.
Guillermo J. Rozas [Mon, 24 Feb 1992 22:12:14 +0000 (22:12 +0000)]
Add defintion of REGBLOCK_ALLOCATED_BY_INTERFACE, and add the initialization
of many assembly-language hooks.
Guillermo J. Rozas [Mon, 24 Feb 1992 22:10:33 +0000 (22:10 +0000)]
Add conditionalization on REGBLOCK_ALLOCATED_BY_INTERFACE.
Guillermo J. Rozas [Thu, 20 Feb 1992 21:22:57 +0000 (21:22 +0000)]
This commit was generated by cvs2svn to compensate for changes in r4576,
which included commits to RCS files with non-trunk default branches.
Guillermo J. Rozas [Thu, 20 Feb 1992 21:22:57 +0000 (21:22 +0000)]
Fix herald string.
Guillermo J. Rozas [Thu, 20 Feb 1992 16:33:15 +0000 (16:33 +0000)]
Add 386 processor definitions.
Guillermo J. Rozas [Thu, 20 Feb 1992 16:30:07 +0000 (16:30 +0000)]
Yet another mach fp bug on 386s.
Guillermo J. Rozas [Thu, 20 Feb 1992 16:23:58 +0000 (16:23 +0000)]
Fix bug in modf. It was not preserving the sign of the operand,
making floor and ceiling only work for positive values.
Guillermo J. Rozas [Thu, 20 Feb 1992 05:30:14 +0000 (05:30 +0000)]
Back-merge with 7.1.3
Guillermo J. Rozas [Thu, 20 Feb 1992 05:30:14 +0000 (05:30 +0000)]
This commit was generated by cvs2svn to compensate for changes in r4567,
which included commits to RCS files with non-trunk default branches.
Guillermo J. Rozas [Wed, 19 Feb 1992 23:56:32 +0000 (23:56 +0000)]
Add missing comma in CONS-MULTICLOSURE rule.
Guillermo J. Rozas [Wed, 19 Feb 1992 22:02:51 +0000 (22:02 +0000)]
Back-merged version to run under 7.1.3.
Guillermo J. Rozas [Wed, 19 Feb 1992 22:02:51 +0000 (22:02 +0000)]
This commit was generated by cvs2svn to compensate for changes in r4562,
which included commits to RCS files with non-trunk default branches.
Guillermo J. Rozas [Wed, 19 Feb 1992 19:00:06 +0000 (19:00 +0000)]
First working version of compiled runtime system.
Guillermo J. Rozas [Wed, 19 Feb 1992 18:57:36 +0000 (18:57 +0000)]
Update to reflect compiler port.
Guillermo J. Rozas [Wed, 19 Feb 1992 18:46:18 +0000 (18:46 +0000)]
Conditionalize HAS_FLOOR for i386 under Mach. The library version is
seriously broken.
Guillermo J. Rozas [Wed, 19 Feb 1992 06:18:25 +0000 (06:18 +0000)]
Add missing (ST 0) operands.
Guillermo J. Rozas [Wed, 19 Feb 1992 05:38:05 +0000 (05:38 +0000)]
Add definition of FNLDCW and fix opcode bug in FMULP, etc.
Guillermo J. Rozas [Wed, 19 Feb 1992 05:36:13 +0000 (05:36 +0000)]
Eliminate spurious extra call to flonum-unary-operation/general from
rules involving 1.
Guillermo J. Rozas [Wed, 19 Feb 1992 04:56:56 +0000 (04:56 +0000)]
Add missing operand to FCOMP instructions.
Guillermo J. Rozas [Wed, 19 Feb 1992 04:17:17 +0000 (04:17 +0000)]
Disable FLONUM-EXP because the F2XM1 instruction is broken on some
hardware.
Chris Hanson [Wed, 19 Feb 1992 00:11:02 +0000 (00:11 +0000)]
* Time, load, and mail notification are now separately selectable.
Edwin variables notify-show-time, notify-show-load, and
notify-show-mail select the components.
Additionally, the Scheme variable NOTIFIER-ELEMENTS controls what is
displayed and when; you can add new elements to customize the
notifier for your needs.
* The notifier has been changed to use the new inferior thread output
mechanism, which should eliminate the redisplay bugs that people
have been seeing.
* The command M-x run-notifier is used to start the notifier; M-x
kill-notifier kills it. To start the notifier from your init file,
use ((REF-COMMAND RUN-NOTIFIER)).
* The Edwin variable notify-interval is now in units of seconds
instead of milliseconds.
Chris Hanson [Wed, 19 Feb 1992 00:05:47 +0000 (00:05 +0000)]
Add new mechanism for registering inferior threads that do output.
Each inferior thread has its own flag to indicate when it needs to do
output, and a thunk that is to be run in the editor to produce the
output. When the thread wants to do output, it sets the flag; later,
the editor notices that the flag has been set and calls the thunk.
Chris Hanson [Wed, 19 Feb 1992 00:01:59 +0000 (00:01 +0000)]
Eliminate gratuitous calls from MARK-FLASH and SIT-FOR to
KEYBOARD-PEEK-NO-CHAR. These calls were originally there to eliminate
unnecessary screen update and to make the cursor flash appropriately;
recent changes to KEYBOARD-PEEK-NO-CHAR make this undesirable.
Guillermo J. Rozas [Tue, 18 Feb 1992 22:57:48 +0000 (22:57 +0000)]
Remove rewriting rules for FLONUM-ASIN and FLONUM-ACOS. They cannot
be done in quite this way now.
Guillermo J. Rozas [Tue, 18 Feb 1992 22:57:25 +0000 (22:57 +0000)]
Remove FLONUM-ASIN and FLONUM-ACOS from open-coded list of primitives.
Guillermo J. Rozas [Tue, 18 Feb 1992 22:05:20 +0000 (22:05 +0000)]
Fix currying problem.
Guillermo J. Rozas [Tue, 18 Feb 1992 21:57:31 +0000 (21:57 +0000)]
Fix bug in byte-offset-address re-write rule.
It was constructing invalid RTL, and using the wrong offset to boot.
Guillermo J. Rozas [Tue, 18 Feb 1992 21:56:48 +0000 (21:56 +0000)]
Fix bug in multiply-fixnum-constant. There is no
(IMUL (R ?foo) (& ?bar))
instruction. It is an assembler macro for
(IMUL (R ?foo) (R ?foo) (& ?bar))
Henry M. Wu [Tue, 18 Feb 1992 20:56:12 +0000 (20:56 +0000)]
Macroized sub-directory delimiter to make DOS win.
Added default directories for DOS.
Henry M. Wu [Tue, 18 Feb 1992 20:51:57 +0000 (20:51 +0000)]
Macroized sub-directory delimiter to make DOS win.
Arthur Gleckler [Tue, 18 Feb 1992 20:47:26 +0000 (20:47 +0000)]
Don't record input events in the input history. If an input event
arrives when a keyboard macro is being defined, terminate the keyboard
macro definition before applying the event.
Henry M. Wu [Tue, 18 Feb 1992 20:34:47 +0000 (20:34 +0000)]
Macroized sub-directory delimiter to make DOS win.
Guillermo J. Rozas [Tue, 18 Feb 1992 17:31:11 +0000 (17:31 +0000)]
Changes for 386 port:
Use START/END_OPERATOR_RELOCATION and START/END_CLOSURE_RELOCATION.
Guillermo J. Rozas [Tue, 18 Feb 1992 17:29:32 +0000 (17:29 +0000)]
Changes for 386 port:
Conditionally define some of the macros so that a cmpint-md.h file can
override them.
Use FIRST_OPERATOR_LINKAGE_OFFSET for some of the execute cache
macros.
Guillermo J. Rozas [Tue, 18 Feb 1992 17:28:19 +0000 (17:28 +0000)]
Changes for 386 port:
link_cc_block needed to be changed to set the block relocation
address.
Guillermo J. Rozas [Tue, 18 Feb 1992 16:09:39 +0000 (16:09 +0000)]
Add missing rules (eq-test to machine constant) generated by
rulrew.scm.
Mark Friedman [Tue, 18 Feb 1992 16:00:30 +0000 (16:00 +0000)]
Added the ability to reset SCHEME-ENVIRONMENT (and its default value)
to 'DEFAULT via SET-ENVIRONMENT and SET-DEFAULT-ENVIRONMENT.
Chris Hanson [Tue, 18 Feb 1992 15:24:56 +0000 (15:24 +0000)]
Fix pattern in GET-LOAD-AVERAGE-STRING so it works on Sony.
Detect case where thread is dead; don't send event to it then.
Optimize CHECK-FOR-MAIL.
Chris Hanson [Tue, 18 Feb 1992 15:23:35 +0000 (15:23 +0000)]
Use correct syntax table for "notify".
Chris Hanson [Tue, 18 Feb 1992 14:29:09 +0000 (14:29 +0000)]
Reformatting.
Chris Hanson [Tue, 18 Feb 1992 14:12:29 +0000 (14:12 +0000)]
Eliminate redundant call to UPDATE-SCREENS!.
Chris Hanson [Tue, 18 Feb 1992 14:11:32 +0000 (14:11 +0000)]
Make sure that redisplay occurs whenever any subprocess events occur,
and that it is finished if interrupted.
Chris Hanson [Tue, 18 Feb 1992 14:09:51 +0000 (14:09 +0000)]
Eliminate additional (and harmful) unbinding of local variables in
RESET-EDITOR.
Guillermo J. Rozas [Tue, 18 Feb 1992 14:05:02 +0000 (14:05 +0000)]
Fix bug in apply rule. The procedure was not being passed in the
interface register, and the frame size was passed in the wrong
register.
Guillermo J. Rozas [Tue, 18 Feb 1992 04:35:56 +0000 (04:35 +0000)]
Fix open codings of FIXNUM-REMAINDER, FIXNUM-LSH, and unary fixnum
predicates.
Guillermo J. Rozas [Tue, 18 Feb 1992 04:35:22 +0000 (04:35 +0000)]
Fix JS opcode.
Guillermo J. Rozas [Tue, 18 Feb 1992 04:34:43 +0000 (04:34 +0000)]
Fix bug in transmogrifly. It was inserting too many nulls for the
relocation pointer.
Brian A. LaMacchia [Tue, 18 Feb 1992 03:25:07 +0000 (03:25 +0000)]
START-NOTIFIER modified per CPH's request.
Guillermo J. Rozas [Tue, 18 Feb 1992 01:53:26 +0000 (01:53 +0000)]
Fix bug in rule for
(CONS-POINTER (MACHINE-CONSTANT (? type)) (REGISTER (? datum)))
Guillermo J. Rozas [Tue, 18 Feb 1992 01:52:53 +0000 (01:52 +0000)]
Add package comment.
Guillermo J. Rozas [Tue, 18 Feb 1992 01:52:23 +0000 (01:52 +0000)]
Fix bad opcode in a PUSH rule.
Guillermo J. Rozas [Tue, 18 Feb 1992 01:50:54 +0000 (01:50 +0000)]
Split EXTRACT_EXECUTE_CACHE_ADDRESS from EXTRACT_OPERATOR_LINKAGE_ADDRESS.
The i386 does not need relocation for EXTRACT_EXECUTE_CACHE_ADDRESS,
so it is safer.
Chris Hanson [Tue, 18 Feb 1992 00:17:36 +0000 (00:17 +0000)]
Make sure that screen updates are finished before going into input
wait. Previously screen updates could be interrupted by new events,
and not resumed before input wait.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:38:12 +0000 (22:38 +0000)]
Fix uses of rtl-target:=machine-register!
Guillermo J. Rozas [Mon, 17 Feb 1992 22:37:34 +0000 (22:37 +0000)]
Fix defn. of machine-register-value-class to agree with
number-of-machine-registers.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:36:58 +0000 (22:36 +0000)]
- Add another rule that exapands into PUSH.W &??
- Fix cons-pointer rule.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:35:54 +0000 (22:35 +0000)]
- Change acos and asin rewrites to occur before cse.
- Add a byte-offset-address rule to make use of optimized lapgen rule.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:35:20 +0000 (22:35 +0000)]
Export add-pre-cse-rewriting-rule! from (compiler rtl-optimizer rtl-rewriting)
because rulrew.scm needs it.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:34:45 +0000 (22:34 +0000)]
Fix various incorrect lap instructions.
Guillermo J. Rozas [Mon, 17 Feb 1992 22:34:19 +0000 (22:34 +0000)]
Change object->machine-register! so that it can use a
previously-cached pc value even if it is going to clobber the register
that contains it.
Brian A. LaMacchia [Mon, 17 Feb 1992 22:10:28 +0000 (22:10 +0000)]
If you used mail-and-load-notify, on rmail-get-new-mail your entire
notify string got set to "". This has been fixed.
Chris Hanson [Mon, 17 Feb 1992 22:09:58 +0000 (22:09 +0000)]
Various window-manager events, such as focus selection and closing of
X windows, are passed back from KEYBOARD-READ as special events to be
executed by the caller. Previously, these were handled by the X
terminal abstraction. This allows the caller to recognize that the
user is doing something unusual, and to behave accordingly. For
example, incremental search treats such events exactly like other
complicated editor commands: the search is terminated before the
command is executed.
Chris Hanson [Mon, 17 Feb 1992 22:01:47 +0000 (22:01 +0000)]
Define new variable EDITOR-THREAD-ROOT-CONTINUATION, which is the
continuation for use when spawning threads in the editor. Also change
the environment and syntax-table that the initial *repl* uses to be
inherited from the REPL that Edwin is invoked from.
Guillermo J. Rozas [Mon, 17 Feb 1992 21:41:52 +0000 (21:41 +0000)]
Define add-pre-cse-rewriting-rule! so that machines/??/rulrew.scm can
use it.
Guillermo J. Rozas [Mon, 17 Feb 1992 21:20:57 +0000 (21:20 +0000)]
pattern-lookup was not taking care of repeated pattern variables
correctly. It was looking for the pattern in the list of values!
Patched for now to assume that sharing is rare, and thus extra
work is done then.
To do handle this Correctly, pattern-variables should be modified to
replace each occurrence of a pattern variable with a pattern-variable
+ position, where position is false if this is the first occurrence of
the pattern variable or the index for list-ref of the previous value
if not. This avoids the runtime memq, etc.