annotate src/bytecode-ops.h @ 5169:6c6d78781d59

cleanup of code related to xfree(), better KKCC backtrace capabilities, document XD_INLINE_LISP_OBJECT_BLOCK_PTR, fix some memory leaks, other code cleanup -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-03-24 Ben Wing <ben@xemacs.org> * array.h: * array.h (XD_LISP_DYNARR_DESC): * dumper.c (pdump_register_sub): * dumper.c (pdump_store_new_pointer_offsets): * dumper.c (pdump_reloc_one_mc): * elhash.c: * gc.c (lispdesc_one_description_line_size): * gc.c (kkcc_marking): * lrecord.h: * lrecord.h (IF_NEW_GC): * lrecord.h (enum memory_description_type): * lrecord.h (enum data_description_entry_flags): * lrecord.h (struct opaque_convert_functions): Rename XD_LISP_OBJECT_BLOCK_PTR to XD_INLINE_LISP_OBJECT_BLOCK_PTR and document it in lrecord.h. * data.c: * data.c (finish_marking_weak_lists): * data.c (continue_marking_ephemerons): * data.c (finish_marking_ephemerons): * elhash.c (MARK_OBJ): * gc.c: * gc.c (lispdesc_indirect_count_1): * gc.c (struct): * gc.c (kkcc_bt_push): * gc.c (kkcc_gc_stack_push): * gc.c (kkcc_gc_stack_push_lisp_object): * gc.c (kkcc_gc_stack_repush_dirty_object): * gc.c (KKCC_DO_CHECK_FREE): * gc.c (mark_object_maybe_checking_free): * gc.c (mark_struct_contents): * gc.c (mark_lisp_object_block_contents): * gc.c (register_for_finalization): * gc.c (mark_object): * gc.h: * lisp.h: * profile.c: * profile.c (mark_profiling_info_maphash): Clean up KKCC code related to DEBUG_XEMACS. Rename kkcc_backtrace() to kkcc_backtrace_1() and add two params: a `size' arg to control how many stack elements to print and a `detailed' arg to control whether Lisp objects are printed using `debug_print()'. Create front-ends to kkcc_backtrace_1() -- kkcc_detailed_backtrace(), kkcc_short_backtrace(), kkcc_detailed_backtrace_full(), kkcc_short_backtrace_full(), as well as shortened versions kbt(), kbts(), kbtf(), kbtsf() -- to call it with various parameter values. Add an `is_lisp' field to the stack and backtrace structures and use it to keep track of whether an object pushed onto the stack is a Lisp object or a non-Lisp structure; in kkcc_backtrace_1(), don't try to print a non-Lisp structure as a Lisp object. * elhash.c: * extents.c: * file-coding.c: * lrecord.h: * lrecord.h (IF_NEW_GC): * marker.c: * marker.c (Fmarker_buffer): * mule-coding.c: * number.c: * rangetab.c: * specifier.c: New macros IF_OLD_GC(), IF_NEW_GC() to simplify declaration of Lisp objects when a finalizer may exist in one but not the other. Use them appropriately. * extents.c (finalize_extent_info): Don't zero out data->soe and data->extents before trying to free, else we get memory leaks. * lrecord.h (enum lrecord_type): Make the first lrecord type have value 1 not 0 so that 0 remains without implementation and attempts to interpret zeroed memory as a Lisp object will be more obvious. * array.c (Dynarr_free): * device-msw.c (msprinter_delete_device): * device-tty.c (free_tty_device_struct): * device-tty.c (tty_delete_device): * dialog-msw.c (handle_directory_dialog_box): * dialog-x.c: * emacs.c (free_argc_argv): * emodules.c (attempt_module_delete): * file-coding.c (chain_finalize_coding_stream_1): * file-coding.c (chain_finalize_coding_stream): * glyphs-eimage.c: * glyphs-eimage.c (jpeg_instantiate_unwind): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (png_instantiate_unwind): * glyphs-eimage.c (tiff_instantiate_unwind): * imgproc.c: * imgproc.c (build_EImage_quantable): * insdel.c (uninit_buffer_text): * mule-coding.c (iso2022_finalize_detection_state): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (tty_font_list): * process.c: * process.c (finalize_process): * redisplay.c (add_propagation_runes): * scrollbar-gtk.c: * scrollbar-gtk.c (gtk_free_scrollbar_instance): * scrollbar-gtk.c (gtk_release_scrollbar_instance): * scrollbar-msw.c: * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (unshow_that_mofo): * scrollbar-x.c (x_free_scrollbar_instance): * scrollbar-x.c (x_release_scrollbar_instance): * select-x.c: * select-x.c (x_handle_selection_request): * syntax.c: * syntax.c (uninit_buffer_syntax_cache): * text.h (eifree): If possible, whenever we call xfree() on a field in a structure, set the field to 0 afterwards. A lot of code is written so that it checks the value being freed to see if it is non-zero before freeing it -- doing this and setting the value to 0 afterwards ensures (a) we won't try to free twice if the cleanup code is called twice; (b) if the object itself stays around, KKCC won't crash when attempting to mark the freed field. * rangetab.c: Add a finalization method when not NEW_GC to avoid memory leaks. (#### We still get memory leaks when NEW_GC; need to convert gap array to Lisp object).
author Ben Wing <ben@xemacs.org>
date Wed, 24 Mar 2010 01:22:51 -0500
parents 99f8ebc082d9
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4921
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
1 /* Execution of byte code produced by bytecomp.el.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
2 Implementation of compiled-function objects.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
3 Copyright (C) 1992, 1993 Free Software Foundation, Inc.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
4 Copyright (C) 1995, 2002, 2010 Ben Wing.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
5
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
6 This file is part of XEmacs.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
7
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
8 XEmacs is free software; you can redistribute it and/or modify it
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
10 Free Software Foundation; either version 2, or (at your option) any
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
11 later version.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
12
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
16 for more details.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
17
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
19 along with XEmacs; see the file COPYING. If not, write to
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
21 Boston, MA 02111-1307, USA. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
22
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
23 /* Synched up with: Mule 2.0, FSF 19.30. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
24
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
25 /* There is more than one place in bytecode.c that may want to do something
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
26 with the list of all the opcodes. To handle this, we extract them into
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
27 a separate file that can get included after defining OPCODE(sym, val)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
28 appropriately. No need to undefine OPCODE; that happens automatically.
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
29 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
30
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
31 OPCODE (varref, 010)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
32 OPCODE (varset, 020)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
33 OPCODE (varbind, 030)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
34 OPCODE (call, 040)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
35 OPCODE (unbind, 050)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
36
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
37 OPCODE (nth, 070)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
38 OPCODE (symbolp, 071)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
39 OPCODE (consp, 072)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
40 OPCODE (stringp, 073)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
41 OPCODE (listp, 074)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
42 OPCODE (old_eq, 075)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
43 OPCODE (old_memq, 076)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
44 OPCODE (not, 077)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
45 OPCODE (car, 0100)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
46 OPCODE (cdr, 0101)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
47 OPCODE (cons, 0102)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
48 OPCODE (list1, 0103)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
49 OPCODE (list2, 0104)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
50 OPCODE (list3, 0105)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
51 OPCODE (list4, 0106)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
52 OPCODE (length, 0107)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
53 OPCODE (aref, 0110)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
54 OPCODE (aset, 0111)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
55 OPCODE (symbol_value, 0112)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
56 OPCODE (symbol_function, 0113)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
57 OPCODE (set, 0114)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
58 OPCODE (fset, 0115)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
59 OPCODE (get, 0116)
5089
99f8ebc082d9 Make #'substring an alias of #'subseq; give the latter the byte code.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4921
diff changeset
60 OPCODE (subseq, 0117)
4921
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
61 OPCODE (concat2, 0120)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
62 OPCODE (concat3, 0121)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
63 OPCODE (concat4, 0122)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
64 OPCODE (sub1, 0123)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
65 OPCODE (add1, 0124)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
66 OPCODE (eqlsign, 0125)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
67 OPCODE (gtr, 0126)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
68 OPCODE (lss, 0127)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
69 OPCODE (leq, 0130)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
70 OPCODE (geq, 0131)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
71 OPCODE (diff, 0132)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
72 OPCODE (negate, 0133)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
73 OPCODE (plus, 0134)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
74 OPCODE (max, 0135)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
75 OPCODE (min, 0136)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
76 OPCODE (mult, 0137)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
77
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
78 OPCODE (point, 0140)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
79 OPCODE (eq, 0141) /* was Bmark, but no longer
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
80 generated as of v18 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
81 OPCODE (goto_char, 0142)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
82 OPCODE (insert, 0143)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
83 OPCODE (point_max, 0144)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
84 OPCODE (point_min, 0145)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
85 OPCODE (char_after, 0146)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
86 OPCODE (following_char, 0147)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
87 OPCODE (preceding_char, 0150)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
88 OPCODE (current_column, 0151)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
89 OPCODE (indent_to, 0152)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
90 OPCODE (equal, 0153) /* was Bscan_buffer, but no
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
91 longer generated as of
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
92 v18 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
93 OPCODE (eolp, 0154)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
94 OPCODE (eobp, 0155)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
95 OPCODE (bolp, 0156)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
96 OPCODE (bobp, 0157)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
97 OPCODE (current_buffer, 0160)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
98 OPCODE (set_buffer, 0161)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
99 OPCODE (save_current_buffer, 0162) /* was Bread_char, but no
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
100 longer generated as of
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
101 v19 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
102 OPCODE (memq, 0163) /* was Bset_mark, but no
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
103 longer generated as of
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
104 v18 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
105 OPCODE (interactive_p, 0164) /* Needed since interactive-p
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
106 takes unevalled args */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
107 OPCODE (forward_char, 0165)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
108 OPCODE (forward_word, 0166)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
109 OPCODE (skip_chars_forward, 0167)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
110 OPCODE (skip_chars_backward, 0170)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
111 OPCODE (forward_line, 0171)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
112 OPCODE (char_syntax, 0172)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
113 OPCODE (buffer_substring, 0173)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
114 OPCODE (delete_region, 0174)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
115 OPCODE (narrow_to_region, 0175)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
116 OPCODE (widen, 0176)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
117 OPCODE (end_of_line, 0177)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
118
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
119 OPCODE (constant2, 0201)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
120 OPCODE (goto, 0202)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
121 OPCODE (gotoifnil, 0203)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
122 OPCODE (gotoifnonnil, 0204)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
123 OPCODE (gotoifnilelsepop, 0205)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
124 OPCODE (gotoifnonnilelsepop, 0206)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
125 OPCODE (return, 0207)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
126 OPCODE (discard, 0210)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
127 OPCODE (dup, 0211)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
128
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
129 OPCODE (save_excursion, 0212)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
130 OPCODE (save_window_excursion, 0213)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
131 OPCODE (save_restriction, 0214)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
132 OPCODE (catch, 0215)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
133
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
134 OPCODE (unwind_protect, 0216)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
135 OPCODE (condition_case, 0217)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
136 OPCODE (temp_output_buffer_setup, 0220)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
137 OPCODE (temp_output_buffer_show, 0221)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
138
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
139 OPCODE (unbind_all, 0222)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
140
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
141 OPCODE (set_marker, 0223)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
142 OPCODE (match_beginning, 0224)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
143 OPCODE (match_end, 0225)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
144 OPCODE (upcase, 0226)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
145 OPCODE (downcase, 0227)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
146
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
147 OPCODE (string_equal, 0230)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
148 OPCODE (string_lessp, 0231)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
149 OPCODE (old_equal, 0232)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
150 OPCODE (nthcdr, 0233)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
151 OPCODE (elt, 0234)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
152 OPCODE (old_member, 0235)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
153 OPCODE (old_assq, 0236)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
154 OPCODE (nreverse, 0237)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
155 OPCODE (setcar, 0240)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
156 OPCODE (setcdr, 0241)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
157 OPCODE (car_safe, 0242)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
158 OPCODE (cdr_safe, 0243)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
159 OPCODE (nconc, 0244)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
160 OPCODE (quo, 0245)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
161 OPCODE (rem, 0246)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
162 OPCODE (numberp, 0247)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
163 OPCODE (fixnump, 0250) /* Was Bintegerp. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
164
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
165 OPCODE (Rgoto, 0252)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
166 OPCODE (Rgotoifnil, 0253)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
167 OPCODE (Rgotoifnonnil, 0254)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
168 OPCODE (Rgotoifnilelsepop, 0255)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
169 OPCODE (Rgotoifnonnilelsepop, 0256)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
170
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
171 OPCODE (listN, 0257)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
172 OPCODE (concatN, 0260)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
173 OPCODE (insertN, 0261)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
174
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
175 OPCODE (bind_multiple_value_limits, 0262) /* New in 21.5. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
176 OPCODE (multiple_value_list_internal, 0263) /* New in 21.5. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
177 OPCODE (multiple_value_call, 0264) /* New in 21.5. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
178 OPCODE (throw, 0265) /* New in 21.5. */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
179
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
180 OPCODE (member, 0266) /* new in v20 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
181 OPCODE (assq, 0267) /* new in v20 */
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
182
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
183 OPCODE (constant, 0300)
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
184
17362f371cc2 add more byte-code assertions and better failure output
Ben Wing <ben@xemacs.org>
parents:
diff changeset
185 #undef OPCODE