Mercurial > emacs
view src/pre-crt0.c @ 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 | 3165b2697c78 |
children | 695cf19ef79e |
line wrap: on
line source
/* This file is loaded before crt0.o on machines where we do not remap part of the data space into text space in unexec. On these machines, there is no problem with standard crt0.o's that make environ an initialized variable. However, we do need to make sure the label data_start exists anyway. */ /* Create a label to appear at the beginning of data space. */ int data_start = 0;