aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1992-07-14 02:11:50 +0000
committerRichard M. Stallman1992-07-14 02:11:50 +0000
commit70e1dad880ddabb7e32447526d555fd05d4aed14 (patch)
tree02fae4c9754cc7bb387a55852aa6dd15bbb3149e
parent0137dbf747e9fcbfe6f37c7fb0bbb29012a27179 (diff)
downloademacs-70e1dad880ddabb7e32447526d555fd05d4aed14.tar.gz
emacs-70e1dad880ddabb7e32447526d555fd05d4aed14.zip
*** empty log message ***
-rw-r--r--lisp/emacs-lisp/byte-opt.el37
-rw-r--r--lisp/loadup.el2
-rw-r--r--lisp/mail/rmailsort.el30
3 files changed, 30 insertions, 39 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index b595d6699d9..8ed85ff805c 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -1,8 +1,6 @@
1;;; -*- Mode:Emacs-Lisp -*-
2;;; The optimization passes of the emacs-lisp byte compiler. 1;;; The optimization passes of the emacs-lisp byte compiler.
3 2;;; Copyright (c) 1991 Free Software Foundation, Inc.
4;; By Jamie Zawinski <jwz@lucid.com> and Hallvard Furuseth <hbf@ulrik.uio.no>. 3;; By Jamie Zawinski <jwz@lucid.com> and Hallvard Furuseth <hbf@ulrik.uio.no>.
5;; last modified 29-oct-91.
6 4
7;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
8 6
@@ -131,11 +129,6 @@
131;;; the code that relies on dynamic scope of non-defvarred variables. 129;;; the code that relies on dynamic scope of non-defvarred variables.
132 130
133 131
134(require 'byte-compile "bytecomp")
135
136(or (fboundp 'byte-compile-lapcode)
137 (error "loading bytecomp got the wrong version of the compiler."))
138
139(defun byte-compile-log-lap-1 (format &rest args) 132(defun byte-compile-log-lap-1 (format &rest args)
140 (if (aref byte-code-vector 0) 133 (if (aref byte-code-vector 0)
141 (error "The old version of the disassembler is loaded. Reload new-bytecomp as well.")) 134 (error "The old version of the disassembler is loaded. Reload new-bytecomp as well."))
@@ -196,11 +189,11 @@
196 (cdr form)))) 189 (cdr form))))
197 190
198 191
192;; Splice the given lap code into the current instruction stream.
193;; If it has any labels in it, you're responsible for making sure there
194;; are no collisions, and that byte-compile-tag-number is reasonable
195;; after this is spliced in. The provided list is destroyed.
199(defun byte-inline-lapcode (lap) 196(defun byte-inline-lapcode (lap)
200 "splice the given lap code into the current instruction stream.
201If it has any labels in it, you're responsible for making sure there
202are no collisions, and that byte-compile-tag-number is reasonable
203after this is spliced in. the provided list is destroyed."
204 (setq byte-compile-output (nconc (nreverse lap) byte-compile-output))) 197 (setq byte-compile-output (nconc (nreverse lap) byte-compile-output)))
205 198
206 199
@@ -528,10 +521,10 @@ after this is spliced in. the provided list is destroyed."
528 ((not (symbolp (, form)))) 521 ((not (symbolp (, form))))
529 ((eq (, form) t))))) 522 ((eq (, form) t)))))
530 523
524;; If the function is being called with constant numeric args,
525;; evaluate as much as possible at compile-time. This optimizer
526;; assumes that the function is associative, like + or *.
531(defun byte-optimize-associative-math (form) 527(defun byte-optimize-associative-math (form)
532 "If the function is being called with constant numeric args,
533evaluate as much as possible at compile-time. This optimizer
534assumes that the function is associative, like + or *."
535 (let ((args nil) 528 (let ((args nil)
536 (constants nil) 529 (constants nil)
537 (rest (cdr form))) 530 (rest (cdr form)))
@@ -550,10 +543,10 @@ assumes that the function is associative, like + or *."
550 (apply (car form) constants)) 543 (apply (car form) constants))
551 form))) 544 form)))
552 545
546;; If the function is being called with constant numeric args,
547;; evaluate as much as possible at compile-time. This optimizer
548;; assumes that the function is nonassociative, like - or /.
553(defun byte-optimize-nonassociative-math (form) 549(defun byte-optimize-nonassociative-math (form)
554 "If the function is being called with constant numeric args,
555evaluate as much as possible at compile-time. This optimizer
556assumes that the function is nonassociative, like - or /."
557 (if (or (not (numberp (car (cdr form)))) 550 (if (or (not (numberp (car (cdr form))))
558 (not (numberp (car (cdr (cdr form)))))) 551 (not (numberp (car (cdr (cdr form))))))
559 form 552 form
@@ -1052,11 +1045,11 @@ assumes that the function is nonassociative, like - or /."
1052 (byte-compile-tag-number 0)) 1045 (byte-compile-tag-number 0))
1053 (byte-decompile-bytecode-1 bytes constvec))) 1046 (byte-decompile-bytecode-1 bytes constvec)))
1054 1047
1048;; As byte-decompile-bytecode, but updates
1049;; byte-compile-{constants, variables, tag-number}.
1050;; If the optional 3rd arg is true, then `return' opcodes are replaced
1051;; with `goto's destined for the end of the code.
1055(defun byte-decompile-bytecode-1 (bytes constvec &optional make-splicable) 1052(defun byte-decompile-bytecode-1 (bytes constvec &optional make-splicable)
1056 "As byte-decompile-bytecode, but updates
1057byte-compile-{constants, variables, tag-number}.
1058If the optional 3rd arg is true, then `return' opcodes are replaced
1059with `goto's destined for the end of the code."
1060 (let ((length (length bytes)) 1053 (let ((length (length bytes))
1061 (ptr 0) optr tag tags op offset 1054 (ptr 0) optr tag tags op offset
1062 lap tmp 1055 lap tmp
diff --git a/lisp/loadup.el b/lisp/loadup.el
index ba89a76f157..b502f457899 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -24,7 +24,7 @@
24 24
25(load "subr") 25(load "subr")
26(garbage-collect) 26(garbage-collect)
27(load "bytecomp-runtime") 27(load "byte-run")
28(garbage-collect) 28(garbage-collect)
29(load "map-ynp") 29(load "map-ynp")
30(garbage-collect) 30(garbage-collect)
diff --git a/lisp/mail/rmailsort.el b/lisp/mail/rmailsort.el
index d17c5fa6b42..32f459c0d4d 100644
--- a/lisp/mail/rmailsort.el
+++ b/lisp/mail/rmailsort.el
@@ -1,24 +1,22 @@
1;;; rmailsort.el --- Rmail: sort messages. 1;;; rmailsort.el --- Rmail: sort messages.
2 2
3;; Copyright (C) 1990 Masanobu UMEDA 3;; Copyright (C) 1990 Free Software Foundation, Inc.
4;; umerin@tc.Nagasaki.GO.JP?
5
6;; This file is part of GNU Emacs. 4;; This file is part of GNU Emacs.
7 5
6;; GNU Emacs is free software; you can redistribute it and/or modify
7;; it under the terms of the GNU General Public License as published by
8;; the Free Software Foundation; either version 1, or (at your option)
9;; any later version.
10
8;; GNU Emacs is distributed in the hope that it will be useful, 11;; GNU Emacs is distributed in the hope that it will be useful,
9;; but WITHOUT ANY WARRANTY. No author or distributor 12;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10;; accepts responsibility to anyone for the consequences of using it 13;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11;; or for whether it serves any particular purpose or works at all, 14;; GNU General Public License for more details.
12;; unless he says so in writing. Refer to the GNU Emacs General Public 15
13;; License for full details. 16;; You should have received a copy of the GNU General Public License
14 17;; along with GNU Emacs; see the file COPYING. If not, write to
15;; Everyone is granted permission to copy, modify and redistribute 18;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
16;; GNU Emacs, but only under the conditions described in the 19
17;; GNU Emacs General Public License. A copy of this license is
18;; supposed to have been given to you along with GNU Emacs so you
19;; can know your rights and responsibilities. It should be in a
20;; file named COPYING. Among other things, the copyright notice
21;; and this notice must be preserved on all copies.
22 20
23(require 'rmail) 21(require 'rmail)
24(require 'sort) 22(require 'sort)