Mercurial > emacs
view src/s/sunos4shr.h @ 5415:95882472f2da
(rotate_right, rotate_left): Simplify
total_length calculation. Minimize pointer dereferencing.
(balance_an_interval): Remove recursive rebalancing.
Rebalance precisely when imbalanced. If a rotation is done,
rebalance only the node which may have become unbalanced.
Iterate until the current node is balanced.
(balance_possible_root_interval): New function.
(balance_intervals): Move the interation into rebalance_an_interval.
(balance_intervals_internal): New subroutine of balance_intervals.
(split_interval_right, split_interval_left): Speed up by
not checking LEAF_INTERVAL_P.
(split_interval_right, split_interval_left, find_interval,
adjust_intervals_for_insertion, graft_intervals_into_buffer):
Add dynamic rebalancing anywhere a node may become unbalanced.
(graft_intervals_into_buffer, copy_intervals): No longer
any need to do a full rebalance as the tree stays balanced.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 02 Jan 1994 19:01:15 +0000 |
parents | 8755e1e3faf1 |
children | 4c404df24ed1 |
line wrap: on
line source
/* This file permits building Emacs with a shared libc on Sunos 4. To make this work, you must completely replace your C shared library using one of the SunOS 4.1.x jumbo replacement patches from Sun. */ #include "sunos4-1.h" /* Say that the text segment of a.out includes the header; the header actually occupies the first few bytes of the text segment and is counted in hdr.a_text. */ /* Misleading! Actually gets loaded after crt0.o */ #define START_FILES pre-crt0.o /* * Kludge! can't get at symbol "start" in std crt0.o * Who the #$%&* decided to remove the __ characters! * Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in * sysdep.c. We do not use this address so any value should do really. Still * may need it in the future? */ #define BROKEN_START #define TEXT_START 0x2020 #define UNEXEC unexsunos4.o #define RUN_TIME_REMAP #define LINKER cc #undef LD_SWITCH_SYSTEM #undef SYSTEM_MALLOC #ifndef GNU_MALLOC #define GNU_MALLOC #endif #ifndef REL_ALLOC #define REL_ALLOC #endif /* khera@cs.duke.edu says this is needed. */ #define memmove(to, from, size) bcopy (from, to, size)