Mercurial > emacs
changeset 767:02bfc9709961
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 14 Jul 1992 02:11:50 +0000 |
parents | b9e81bfc7ad9 |
children | 4abf65b235d9 |
files | lisp/emacs-lisp/byte-opt.el lisp/loadup.el lisp/mail/rmailsort.el |
diffstat | 3 files changed, 29 insertions(+), 38 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/byte-opt.el Mon Jul 13 20:56:17 1992 +0000 +++ b/lisp/emacs-lisp/byte-opt.el Tue Jul 14 02:11:50 1992 +0000 @@ -1,8 +1,6 @@ -;;; -*- Mode:Emacs-Lisp -*- ;;; The optimization passes of the emacs-lisp byte compiler. - +;;; Copyright (c) 1991 Free Software Foundation, Inc. ;; By Jamie Zawinski <jwz@lucid.com> and Hallvard Furuseth <hbf@ulrik.uio.no>. -;; last modified 29-oct-91. ;; This file is part of GNU Emacs. @@ -131,11 +129,6 @@ ;;; the code that relies on dynamic scope of non-defvarred variables. -(require 'byte-compile "bytecomp") - -(or (fboundp 'byte-compile-lapcode) - (error "loading bytecomp got the wrong version of the compiler.")) - (defun byte-compile-log-lap-1 (format &rest args) (if (aref byte-code-vector 0) (error "The old version of the disassembler is loaded. Reload new-bytecomp as well.")) @@ -196,11 +189,11 @@ (cdr form)))) +;; Splice the given lap code into the current instruction stream. +;; If it has any labels in it, you're responsible for making sure there +;; are no collisions, and that byte-compile-tag-number is reasonable +;; after this is spliced in. The provided list is destroyed. (defun byte-inline-lapcode (lap) - "splice the given lap code into the current instruction stream. -If it has any labels in it, you're responsible for making sure there -are no collisions, and that byte-compile-tag-number is reasonable -after this is spliced in. the provided list is destroyed." (setq byte-compile-output (nconc (nreverse lap) byte-compile-output))) @@ -528,10 +521,10 @@ ((not (symbolp (, form)))) ((eq (, form) t))))) +;; If the function is being called with constant numeric args, +;; evaluate as much as possible at compile-time. This optimizer +;; assumes that the function is associative, like + or *. (defun byte-optimize-associative-math (form) - "If the function is being called with constant numeric args, -evaluate as much as possible at compile-time. This optimizer -assumes that the function is associative, like + or *." (let ((args nil) (constants nil) (rest (cdr form))) @@ -550,10 +543,10 @@ (apply (car form) constants)) form))) +;; If the function is being called with constant numeric args, +;; evaluate as much as possible at compile-time. This optimizer +;; assumes that the function is nonassociative, like - or /. (defun byte-optimize-nonassociative-math (form) - "If the function is being called with constant numeric args, -evaluate as much as possible at compile-time. This optimizer -assumes that the function is nonassociative, like - or /." (if (or (not (numberp (car (cdr form)))) (not (numberp (car (cdr (cdr form)))))) form @@ -1052,11 +1045,11 @@ (byte-compile-tag-number 0)) (byte-decompile-bytecode-1 bytes constvec))) +;; As byte-decompile-bytecode, but updates +;; byte-compile-{constants, variables, tag-number}. +;; If the optional 3rd arg is true, then `return' opcodes are replaced +;; with `goto's destined for the end of the code. (defun byte-decompile-bytecode-1 (bytes constvec &optional make-splicable) - "As byte-decompile-bytecode, but updates -byte-compile-{constants, variables, tag-number}. -If the optional 3rd arg is true, then `return' opcodes are replaced -with `goto's destined for the end of the code." (let ((length (length bytes)) (ptr 0) optr tag tags op offset lap tmp
--- a/lisp/loadup.el Mon Jul 13 20:56:17 1992 +0000 +++ b/lisp/loadup.el Tue Jul 14 02:11:50 1992 +0000 @@ -24,7 +24,7 @@ (load "subr") (garbage-collect) -(load "bytecomp-runtime") +(load "byte-run") (garbage-collect) (load "map-ynp") (garbage-collect)
--- a/lisp/mail/rmailsort.el Mon Jul 13 20:56:17 1992 +0000 +++ b/lisp/mail/rmailsort.el Tue Jul 14 02:11:50 1992 +0000 @@ -1,24 +1,22 @@ ;;; rmailsort.el --- Rmail: sort messages. -;; Copyright (C) 1990 Masanobu UMEDA -;; umerin@tc.Nagasaki.GO.JP? +;; Copyright (C) 1990 Free Software Foundation, Inc. +;; This file is part of GNU Emacs. -;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 1, or (at your option) +;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + (require 'rmail) (require 'sort)