/******************************** -*- C -*- ****************************
 *
 *	Byte Code definitions.
 *
 *
 ***********************************************************************/

/***********************************************************************
 *
 * Copyright 2003, 2006 Free Software Foundation, Inc.
 * Written by Paolo Bonzini.
 *
 * This file is part of GNU Smalltalk.
 *
 * GNU Smalltalk 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 2, or (at your option) any later 
 * version.
 * 
 * Linking GNU Smalltalk statically or dynamically with other modules is
 * making a combined work based on GNU Smalltalk.  Thus, the terms and
 * conditions of the GNU General Public License cover the whole
 * combination.
 *
 * In addition, as a special exception, the Free Software Foundation
 * give you permission to combine GNU Smalltalk with free software
 * programs or libraries that are released under the GNU LGPL and with
 * independent programs running under the GNU Smalltalk virtual machine.
 *
 * You may copy and distribute such a system following the terms of the
 * GNU GPL for GNU Smalltalk and the licenses of the other code
 * concerned, provided that you include the source code of that other
 * code when and as the GNU GPL requires distribution of source code.
 *
 * Note that people who make modified versions of GNU Smalltalk are not
 * obligated to grant this special exception for their modified
 * versions; it is their choice whether to do so.  The GNU General
 * Public License gives permission to release a modified version without
 * this exception; this exception also makes it possible to release a
 * modified version which carries forward this exception.
 *
 * GNU Smalltalk is distributed in the hope that it will be useful, 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.
 * 
 * You should have received a copy of the GNU General Public License along with
 * GNU Smalltalk; see the file COPYING.  If not, write to the Free Software
 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  
 *
 ***********************************************************************/

/* This is C code which is wrapped within patterns; the patterns can
   be BEGIN/END a la awk, numbers, or ranges of numbers separated by
   ``..''.  Patterns don't fall through, unlike C's switch statements.

   There are special keywords: extract advances the instruction
   pointer and reads bits from it; dispatch goes to the named section
   of the MATCH_BYTECODES occurrence; break gets out of the
   MATCH_BYTECODES block; continue matches the next bytecode without
   executing anything in the MATCH_BYTECODES occurrence.

   In awk tradition, we also have a couple of predefined variables
   whose name is in uppercase... :-) these are IP which is the current
   instruction pointer (including the bytecodes that were dissected
   with extract), and IP0 which is the value of the instruction
   pointer on entrance to MATCH_BYTECODES (it is never changed, not
   even by continue statements).  You can see them used in the
   jump patterns below (40..43) */
   
/* Define the bytecodes and their arguments */
SEND_ARITH (n);
SEND_SPECIAL (n);
SEND (n, super, num_args);
SEND_IMMEDIATE (n, super);
PUSH_TEMPORARY_VARIABLE (n);
PUSH_OUTER_TEMP (n, scopes);
PUSH_LIT_VARIABLE (n);
PUSH_RECEIVER_VARIABLE (n);
STORE_TEMPORARY_VARIABLE (n);
STORE_OUTER_TEMP (n, scopes);
STORE_LIT_VARIABLE (n);
STORE_RECEIVER_VARIABLE (n);
JUMP (ofs);
POP_JUMP_TRUE (ofs);
POP_JUMP_FALSE (ofs);
PUSH_INTEGER (n);
PUSH_SELF;
PUSH_SPECIAL (n);
PUSH_LIT_CONSTANT (n);
POP_INTO_NEW_STACKTOP (n);
POP_STACK_TOP;
MAKE_DIRTY_BLOCK;
RETURN_METHOD_STACK_TOP;
RETURN_CONTEXT_STACK_TOP;
DUP_STACK_TOP;
EXIT_INTERPRETER;
LINE_NUMBER_BYTECODE (n);
INVALID (opcode, arg);

/* Automatically generated by superops.  Do not modify past this line!  */
/* PLUS_SPECIAL(*) */
0 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (0);
}

/* MINUS_SPECIAL(*) */
1 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (1);
}

/* LESS_THAN_SPECIAL(*) */
2 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (2);
}

/* GREATER_THAN_SPECIAL(*) */
3 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (3);
}

/* LESS_EQUAL_SPECIAL(*) */
4 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (4);
}

/* GREATER_EQUAL_SPECIAL(*) */
5 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (5);
}

/* EQUAL_SPECIAL(*) */
6 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (6);
}

/* NOT_EQUAL_SPECIAL(*) */
7 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (7);
}

/* TIMES_SPECIAL(*) */
8 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (8);
}

/* DIVIDE_SPECIAL(*) */
9 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (9);
}

/* REMAINDER_SPECIAL(*) */
10 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (10);
}

/* BIT_XOR_SPECIAL(*) */
11 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (11);
}

/* BIT_SHIFT_SPECIAL(*) */
12 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (12);
}

/* INTEGER_DIVIDE_SPECIAL(*) */
13 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (13);
}

/* BIT_AND_SPECIAL(*) */
14 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (14);
}

/* BIT_OR_SPECIAL(*) */
15 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_ARITH (15);
}

/* AT_SPECIAL(*) */
16 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (0);
}

/* AT_PUT_SPECIAL(*) */
17 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (1);
}

/* SIZE_SPECIAL(*) */
18 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (2);
}

/* CLASS_SPECIAL(*) */
19 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (3);
}

/* IS_NIL_SPECIAL(*) */
20 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (4);
}

/* NOT_NIL_SPECIAL(*) */
21 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (5);
}

/* VALUE_SPECIAL(*) */
22 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (6);
}

/* VALUE_COLON_SPECIAL(*) */
23 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (7);
}

/* SAME_OBJECT_SPECIAL(*) */
24 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (8);
}

/* JAVA_AS_INT_SPECIAL(*) */
25 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (9);
}

/* JAVA_AS_LONG_SPECIAL(*) */
26 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (10);
}

/* invalid bytecode */
27 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (27, arg | arg_lsb);
}

/* SEND(*) */
28 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg >> 8, 0, arg_lsb);
}

/* SEND_SUPER(*) */
29 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg >> 8, 1, arg_lsb);
}

/* SEND_IMMEDIATE(*) */
30 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* SEND_SUPER_IMMEDIATE(*) */
31 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 1);
}

/* PUSH_TEMPORARY_VARIABLE(*) */
32 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* PUSH_OUTER_TEMP(*) */
33 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_OUTER_TEMP (arg >> 8, arg_lsb);
}

/* PUSH_LIT_VARIABLE(*) */
34 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_VARIABLE (arg | arg_lsb);
}

/* PUSH_RECEIVER_VARIABLE(*) */
35 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (arg | arg_lsb);
}

/* STORE_TEMPORARY_VARIABLE(*) */
36 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* STORE_OUTER_TEMP(*) */
37 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_OUTER_TEMP (arg >> 8, arg_lsb);
}

/* STORE_LIT_VARIABLE(*) */
38 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_LIT_VARIABLE (arg | arg_lsb);
}

/* STORE_RECEIVER_VARIABLE(*) */
39 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_RECEIVER_VARIABLE (arg | arg_lsb);
}

/* JUMP_BACK(*) */
40 {
  extract opcode (8), arg_lsb (8);
  dispatch JUMP (IP - IP0 - (arg | arg_lsb));
}

/* JUMP(*) */
41 {
  extract opcode (8), arg_lsb (8);
  dispatch JUMP (IP - IP0 + (arg | arg_lsb));
}

/* POP_JUMP_TRUE(*) */
42 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_JUMP_TRUE (IP - IP0 + (arg | arg_lsb));
}

/* POP_JUMP_FALSE(*) */
43 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_INTEGER(*) */
44 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
}

/* PUSH_SPECIAL(*) */
45 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SPECIAL (arg | arg_lsb);
}

/* PUSH_LIT_CONSTANT(*) */
46 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
}

/* POP_INTO_NEW_STACKTOP(*) */
47 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_INTO_NEW_STACKTOP (arg | arg_lsb);
}

/* POP_STACK_TOP(*) */
48 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
}

/* MAKE_DIRTY_BLOCK(*) */
49 {
  extract opcode (8), arg_lsb (8);
  dispatch MAKE_DIRTY_BLOCK;
}

/* RETURN_METHOD_STACK_TOP(*) */
50 {
  extract opcode (8), arg_lsb (8);
  dispatch RETURN_METHOD_STACK_TOP;
}

/* RETURN_CONTEXT_STACK_TOP(*) */
51 {
  extract opcode (8), arg_lsb (8);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* DUP_STACK_TOP(*) */
52 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
}

/* EXIT_INTERPRETER(*) */
53 {
  extract opcode (8), arg_lsb (8);
  dispatch EXIT_INTERPRETER;
}

/* LINE_NUMBER_BYTECODE(*) */
54 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* EXT_BYTE(*) */
55 {
  extract opcode (8), arg_lsb (8);
  arg = (arg | arg_lsb) << 8;
  continue;
}

/* PUSH_SELF(*) */
56 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
}

/* invalid bytecode */
57 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (57, arg | arg_lsb);
}

/* invalid bytecode */
58 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (58, arg | arg_lsb);
}

/* invalid bytecode */
59 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (59, arg | arg_lsb);
}

/* invalid bytecode */
60 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (60, arg | arg_lsb);
}

/* invalid bytecode */
61 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (61, arg | arg_lsb);
}

/* invalid bytecode */
62 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (62, arg | arg_lsb);
}

/* invalid bytecode */
63 {
  extract opcode (8), arg_lsb (8);
  dispatch INVALID (63, arg | arg_lsb);
}

/* EXT_BYTE(*)
   SEND(1) */
64 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* EXT_BYTE(*)
   SEND(0) */
65 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* PUSH_SELF(0)
   RETURN_CONTEXT_STACK_TOP(*) */
66 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0) */
67 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0) */
68 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(0) */
69 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0) */
70 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
}

/* EXT_BYTE(*)
   SEND(2) */
71 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 0, 2);
}

/* POP_STACK_TOP(0)
   DUP_STACK_TOP(*) */
72 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch DUP_STACK_TOP;
}

/* PUSH_TEMPORARY_VARIABLE(0)
   SEND_IMMEDIATE(*) */
73 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_SELF(0)
   EXT_BYTE(*)
   SEND(0) */
74 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* PUSH_SPECIAL(*)
   RETURN_CONTEXT_STACK_TOP(0) */
75 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SPECIAL (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_SELF(0)
   SEND_IMMEDIATE(*) */
76 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* EXT_BYTE(*)
   PUSH_OUTER_TEMP(1) */
77 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_OUTER_TEMP (arg | arg_lsb, 1);
}

/* STORE_TEMPORARY_VARIABLE(*)
   POP_STACK_TOP(0) */
78 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(*) */
79 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* STORE_RECEIVER_VARIABLE(*)
   PUSH_SELF(0)
   RETURN_CONTEXT_STACK_TOP(0) */
80 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_INTEGER(*)
   PLUS_SPECIAL(0) */
81 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_VARIABLE(0) */
82 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_VARIABLE (0);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   PUSH_TEMPORARY_VARIABLE(*) */
83 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   SEND(*) */
84 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (arg >> 8, 0, arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(1) */
85 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
}

/* IS_NIL_SPECIAL(0)
   POP_JUMP_FALSE(*) */
86 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (4);
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_INTEGER(*)
   EQUAL_SPECIAL(0) */
87 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (6);
}

/* EXT_BYTE(*)
   SEND(3) */
88 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 0, 3);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   EXT_BYTE(*)
   SEND(1) */
89 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   SEND(0) */
90 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND (0, 0, 0);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   RETURN_CONTEXT_STACK_TOP(0) */
91 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_LIT_CONSTANT(*)
   SEND_IMMEDIATE(36) */
92 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (36, 0);
}

/* SAME_OBJECT_SPECIAL(0)
   POP_JUMP_FALSE(*) */
93 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (8);
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_LIT_CONSTANT(*)
   EXT_BYTE(1)
   SEND(1) */
94 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND (1, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_SELF(0) */
95 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_SELF;
}

/* POP_STACK_TOP(0)
   DUP_STACK_TOP(0)
   LINE_NUMBER_BYTECODE(*) */
96 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch DUP_STACK_TOP;
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   EXT_BYTE(*)
   SEND(0) */
97 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* PUSH_TEMPORARY_VARIABLE(1)
   SEND_IMMEDIATE(*) */
98 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_LIT_CONSTANT(*)
   EQUAL_SPECIAL(0) */
99 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_ARITH (6);
}

/* PUSH_INTEGER(*)
   MINUS_SPECIAL(0) */
100 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (1);
}

/* DUP_STACK_TOP(0)
   POP_JUMP_FALSE(*) */
101 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* POP_STACK_TOP(0)
   LINE_NUMBER_BYTECODE(*) */
102 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* PUSH_INTEGER(*)
   SEND_IMMEDIATE(32) */
103 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (32, 0);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   SIZE_SPECIAL(0) */
104 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (2);
}

/* PUSH_SELF(0)
   SEND(*) */
105 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND (arg >> 8, 0, arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(2) */
106 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (2);
}

/* POP_STACK_TOP(0)
   SEND_IMMEDIATE(*) */
107 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   PUSH_INTEGER(1)
   PLUS_SPECIAL(0) */
108 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_INTEGER (1);
  dispatch SEND_ARITH (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(0) */
109 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (0);
}

/* PUSH_LIT_CONSTANT(*)
   SEND_IMMEDIATE(38) */
110 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (38, 0);
}

/* PUSH_INTEGER(*)
   AT_SPECIAL(0) */
111 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_SPECIAL (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(1) */
112 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (1);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   PUSH_LIT_CONSTANT(*) */
113 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
}

/* DUP_STACK_TOP(0)
   POP_JUMP_TRUE(*) */
114 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch POP_JUMP_TRUE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_TEMPORARY_VARIABLE(*)
   AT_SPECIAL(0) */
115 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (0);
}

/* PUSH_TEMPORARY_VARIABLE(2)
   SEND_IMMEDIATE(*) */
116 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (2);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_LIT_CONSTANT(*)
   SEND_IMMEDIATE(49) */
117 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (49, 0);
}

/* STORE_TEMPORARY_VARIABLE(1)
   LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0) */
118 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (1);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* PUSH_TEMPORARY_VARIABLE(1)
   EXT_BYTE(*)
   SEND(1) */
119 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* STORE_RECEIVER_VARIABLE(*)
   POP_STACK_TOP(0) */
120 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* EXT_BYTE(*)
   STORE_OUTER_TEMP(1) */
121 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_OUTER_TEMP (arg | arg_lsb, 1);
}

/* PUSH_INTEGER(*)
   SEND_IMMEDIATE(96) */
122 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (96, 0);
}

/* POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(*) */
123 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* PUSH_RECEIVER_VARIABLE(*)
   RETURN_CONTEXT_STACK_TOP(0) */
124 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(1) */
125 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (1);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(0) */
126 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   PUSH_LIT_CONSTANT(0) */
127 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch PUSH_LIT_CONSTANT (0);
}

/* PUSH_LIT_CONSTANT(*)
   RETURN_CONTEXT_STACK_TOP(0) */
128 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_SELF(0)
   SIZE_SPECIAL(*) */
129 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND_SPECIAL (2);
}

/* IS_NIL_SPECIAL(0)
   POP_JUMP_TRUE(*) */
130 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (4);
  dispatch POP_JUMP_TRUE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_TEMPORARY_VARIABLE(*)
   AT_PUT_SPECIAL(0) */
131 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_VARIABLE(1) */
132 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_VARIABLE (1);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   PLUS_SPECIAL(0) */
133 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_ARITH (0);
}

/* POP_STACK_TOP(0)
   JUMP_BACK(*) */
134 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch JUMP (IP - IP0 - (arg | arg_lsb));
}

/* POP_STACK_TOP(0)
   PUSH_LIT_VARIABLE(*) */
135 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch PUSH_LIT_VARIABLE (arg | arg_lsb);
}

/* PUSH_INTEGER(1)
   STORE_TEMPORARY_VARIABLE(*) */
136 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (1);
  dispatch STORE_TEMPORARY_VARIABLE (arg | arg_lsb);
}

/* PUSH_LIT_CONSTANT(*)
   EXT_BYTE(2)
   SEND(1) */
137 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND (2, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(3) */
138 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (3);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_OUTER_TEMP(1) */
139 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_OUTER_TEMP (0, 1);
}

/* PUSH_RECEIVER_VARIABLE(*)
   SEND(0) */
140 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch SEND (0, 0, 0);
}

/* PUSH_INTEGER(*)
   GREATER_THAN_SPECIAL(0) */
141 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (3);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   VALUE_SPECIAL(0) */
142 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (6);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   MINUS_SPECIAL(0) */
143 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_ARITH (1);
}

/* PUSH_LIT_CONSTANT(*)
   EXT_BYTE(3)
   SEND(1) */
144 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND (3, 0, 1);
}

/* PUSH_SPECIAL(0)
   SAME_OBJECT_SPECIAL(0)
   POP_JUMP_FALSE(*) */
145 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SPECIAL (0);
  dispatch SEND_SPECIAL (8);
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* STORE_TEMPORARY_VARIABLE(2)
   LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0) */
146 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (2);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* SAME_OBJECT_SPECIAL(0)
   POP_JUMP_TRUE(*) */
147 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (8);
  dispatch POP_JUMP_TRUE (IP - IP0 + (arg | arg_lsb));
}

/* PUSH_INTEGER(*)
   TIMES_SPECIAL(0) */
148 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (8);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(2) */
149 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (2);
}

/* PUSH_INTEGER(*)
   LESS_THAN_SPECIAL(0) */
150 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (2);
}

/* PUSH_LIT_CONSTANT(*)
   AT_PUT_SPECIAL(0) */
151 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_SPECIAL (1);
}

/* EXT_BYTE(*)
   PUSH_OUTER_TEMP(2) */
152 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_OUTER_TEMP (arg | arg_lsb, 2);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(0)
   SEND(1) */
153 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (0, 0, 1);
}

/* PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(0)
   EXT_BYTE(*)
   SEND(1) */
154 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   SEND_IMMEDIATE(40) */
155 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND_IMMEDIATE (40, 0);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   PUSH_TEMPORARY_VARIABLE(3) */
156 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (3);
}

/* STORE_TEMPORARY_VARIABLE(1)
   LINE_NUMBER_BYTECODE(*) */
157 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (1);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(0)
   SEND(0) */
158 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (0, 0, 0);
}

/* PUSH_INTEGER(*)
   BIT_AND_SPECIAL(0) */
159 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (14);
}

/* PUSH_TEMPORARY_VARIABLE(2)
   EXT_BYTE(*)
   SEND(0) */
160 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (2);
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   PUSH_TEMPORARY_VARIABLE(1)
   SEND(*) */
161 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg >> 8, 0, arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(0) */
162 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(3) */
163 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (3);
}

/* PUSH_TEMPORARY_VARIABLE(2)
   EXT_BYTE(*)
   SEND(1) */
164 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (2);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* NOT_NIL_SPECIAL(0)
   POP_JUMP_FALSE(*) */
165 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (5);
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* STORE_TEMPORARY_VARIABLE(2)
   LINE_NUMBER_BYTECODE(*) */
166 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (2);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* STORE_TEMPORARY_VARIABLE(3)
   LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0) */
167 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (3);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* PUSH_LIT_CONSTANT(1)
   SEND_IMMEDIATE(*) */
168 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (1);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   EQUAL_SPECIAL(0) */
169 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_ARITH (6);
}

/* POP_STACK_TOP(0)
   DUP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(*)
   PUSH_INTEGER(1)
   PLUS_SPECIAL(0) */
170 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch DUP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_INTEGER (1);
  dispatch SEND_ARITH (0);
}

/* PUSH_SELF(0)
   EXT_BYTE(*)
   SEND(1) */
171 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* STORE_TEMPORARY_VARIABLE(0)
   LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0) */
172 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (0);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
}

/* DUP_STACK_TOP(0)
   LINE_NUMBER_BYTECODE(*) */
173 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* PUSH_SELF(0)
   PUSH_LIT_CONSTANT(*)
   SEND_IMMEDIATE(49) */
174 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (49, 0);
}

/* POP_STACK_TOP(0)
   PUSH_RECEIVER_VARIABLE(*) */
175 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch PUSH_RECEIVER_VARIABLE (arg | arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   SEND_IMMEDIATE(84) */
176 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND_IMMEDIATE (84, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_VARIABLE(2) */
177 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_VARIABLE (2);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(3)
   SEND(1) */
178 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (3, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_CONSTANT(0) */
179 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_CONSTANT (0);
}

/* DUP_STACK_TOP(0)
   PUSH_LIT_CONSTANT(*)
   SEND_IMMEDIATE(36) */
180 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (36, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   EXT_BYTE(1)
   PUSH_OUTER_TEMP(1) */
181 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_OUTER_TEMP (1, 1);
}

/* PUSH_INTEGER(*)
   INTEGER_DIVIDE_SPECIAL(0) */
182 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (13);
}

/* PUSH_LIT_CONSTANT(1)
   MAKE_DIRTY_BLOCK(0)
   SEND_IMMEDIATE(*) */
183 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (1);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_TEMPORARY_VARIABLE(3)
   SEND_IMMEDIATE(*) */
184 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (3);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SPECIAL(0)
   RETURN_CONTEXT_STACK_TOP(0) */
185 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SPECIAL (0);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(5) */
186 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (5);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(2)
   SEND(1) */
187 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (2, 0, 1);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   VALUE_COLON_SPECIAL(0) */
188 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (7);
}

/* PUSH_INTEGER(*)
   RETURN_CONTEXT_STACK_TOP(0) */
189 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_TEMPORARY_VARIABLE(0)
   EXT_BYTE(*)
   SEND(2) */
190 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND (arg | arg_lsb, 0, 2);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   PUSH_INTEGER(1)
   MINUS_SPECIAL(0) */
191 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_INTEGER (1);
  dispatch SEND_ARITH (1);
}

/* PUSH_SELF(0)
   PUSH_LIT_CONSTANT(*) */
192 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_RECEIVER_VARIABLE(4) */
193 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_RECEIVER_VARIABLE (4);
}

/* PUSH_OUTER_TEMP(1)
   SEND_IMMEDIATE(*) */
194 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_OUTER_TEMP (0, 1);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   EXT_BYTE(1)
   SEND(0) */
195 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND (1, 0, 0);
}

/* PUSH_OUTER_TEMP(1)
   EXT_BYTE(*)
   SEND(1) */
196 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_OUTER_TEMP (0, 1);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* PUSH_TEMPORARY_VARIABLE(4)
   SEND_IMMEDIATE(*) */
197 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (4);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_INTEGER(*)
   SEND_IMMEDIATE(41) */
198 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (41, 0);
}

/* EXT_BYTE(*)
   SEND(4) */
199 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 0, 4);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   PUSH_TEMPORARY_VARIABLE(2) */
200 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (2);
}

/* PUSH_SELF(0)
   CLASS_SPECIAL(*) */
201 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch SEND_SPECIAL (3);
}

/* PUSH_TEMPORARY_VARIABLE(1)
   SEND(*) */
202 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg >> 8, 0, arg_lsb);
}

/* PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(1)
   EXT_BYTE(*)
   SEND(1) */
203 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* PUSH_LIT_CONSTANT(*)
   EXT_BYTE(4)
   SEND(1) */
204 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND (4, 0, 1);
}

/* PUSH_INTEGER(*)
   SEND(1) */
205 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND (0, 0, 1);
}

/* PUSH_RECEIVER_VARIABLE(*)
   SIZE_SPECIAL(0) */
206 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (2);
}

/* PUSH_TEMPORARY_VARIABLE(1)
   EXT_BYTE(*)
   SEND(2) */
207 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg | arg_lsb, 0, 2);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   PUSH_TEMPORARY_VARIABLE(1)
   EXT_BYTE(*)
   SEND(2) */
208 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg | arg_lsb, 0, 2);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   POP_INTO_NEW_STACKTOP(0) */
209 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch POP_INTO_NEW_STACKTOP (0);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(5)
   SEND(1) */
210 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (5, 0, 1);
}

/* EXT_BYTE(*)
   SEND_SUPER(1) */
211 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 1, 1);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(4)
   SEND(1) */
212 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (4, 0, 1);
}

/* PUSH_RECEIVER_VARIABLE(1)
   SEND_IMMEDIATE(*) */
213 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (1);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* EXT_BYTE(*)
   STORE_OUTER_TEMP(1)
   RETURN_CONTEXT_STACK_TOP(0) */
214 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_OUTER_TEMP (arg | arg_lsb, 1);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* POP_STACK_TOP(0)
   LINE_NUMBER_BYTECODE(*)
   SEND_IMMEDIATE(37) */
215 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch SEND_IMMEDIATE (37, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   CLASS_SPECIAL(0) */
216 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND_SPECIAL (3);
}

/* PUSH_TEMPORARY_VARIABLE(1)
   EXT_BYTE(*)
   SEND(0) */
217 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   SEND_IMMEDIATE(130) */
218 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND_IMMEDIATE (130, 0);
}

/* PUSH_RECEIVER_VARIABLE(0)
   SEND_IMMEDIATE(*) */
219 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (0);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_TEMPORARY_VARIABLE(0)
   PUSH_LIT_VARIABLE(*) */
220 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch PUSH_LIT_VARIABLE (arg | arg_lsb);
}

/* STORE_TEMPORARY_VARIABLE(0)
   LINE_NUMBER_BYTECODE(*) */
221 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (0);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* PUSH_RECEIVER_VARIABLE(2)
   SEND_IMMEDIATE(*) */
222 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_RECEIVER_VARIABLE (2);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   EXT_BYTE(2)
   SEND(0) */
223 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND (2, 0, 0);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(2) */
224 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (2);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(6)
   SEND(1) */
225 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (6, 0, 1);
}

/* PUSH_SPECIAL(*)
   RETURN_METHOD_STACK_TOP(0) */
226 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SPECIAL (arg | arg_lsb);
  dispatch RETURN_METHOD_STACK_TOP;
}

/* PUSH_INTEGER(*)
   GREATER_EQUAL_SPECIAL(0) */
227 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_ARITH (5);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_RECEIVER_VARIABLE(1) */
228 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_RECEIVER_VARIABLE (1);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_VARIABLE(3) */
229 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_VARIABLE (3);
}

/* PUSH_LIT_CONSTANT(2)
   SEND_IMMEDIATE(*) */
230 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (2);
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* EXT_BYTE(*)
   SEND_SUPER(0) */
231 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND (arg | arg_lsb, 1, 0);
}

/* PUSH_SPECIAL(0)
   STORE_RECEIVER_VARIABLE(*) */
232 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SPECIAL (0);
  dispatch STORE_RECEIVER_VARIABLE (arg | arg_lsb);
}

/* PUSH_SELF(0)
   PUSH_TEMPORARY_VARIABLE(*)
   SEND(1) */
233 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_SELF;
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND (0, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(0)
   RETURN_CONTEXT_STACK_TOP(0) */
234 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_LIT_CONSTANT(*)
   SAME_OBJECT_SPECIAL(0) */
235 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND_SPECIAL (8);
}

/* PUSH_LIT_CONSTANT(*)
   MAKE_DIRTY_BLOCK(0)
   EXT_BYTE(1)
   SEND(1) */
236 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch MAKE_DIRTY_BLOCK;
  dispatch SEND (1, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(3) */
237 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (3);
}

/* POP_STACK_TOP(0)
   DUP_STACK_TOP(0)
   SEND_IMMEDIATE(*) */
238 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch DUP_STACK_TOP;
  dispatch SEND_IMMEDIATE (arg | arg_lsb, 0);
}

/* PUSH_LIT_CONSTANT(*)
   PUSH_TEMPORARY_VARIABLE(0)
   AT_PUT_SPECIAL(0) */
239 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch SEND_SPECIAL (1);
}

/* DUP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(*)
   PUSH_INTEGER(1)
   PLUS_SPECIAL(0) */
240 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch PUSH_INTEGER (1);
  dispatch SEND_ARITH (0);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(4) */
241 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (4);
}

/* POP_STACK_TOP(0)
   LINE_NUMBER_BYTECODE(*)
   PUSH_LIT_VARIABLE(1) */
242 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_STACK_TOP;
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_LIT_VARIABLE (1);
}

/* DUP_STACK_TOP(0)
   PUSH_LIT_CONSTANT(*)
   EXT_BYTE(1)
   SEND(1) */
243 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
  dispatch SEND (1, 0, 1);
}

/* POP_INTO_NEW_STACKTOP(1)
   EXT_BYTE(*)
   SEND(1) */
244 {
  extract opcode (8), arg_lsb (8);
  dispatch POP_INTO_NEW_STACKTOP (1);
  dispatch SEND (arg | arg_lsb, 0, 1);
}

/* LINE_NUMBER_BYTECODE(*)
   POP_STACK_TOP(0)
   PUSH_TEMPORARY_VARIABLE(1)
   RETURN_CONTEXT_STACK_TOP(0) */
245 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch POP_STACK_TOP;
  dispatch PUSH_TEMPORARY_VARIABLE (1);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* STORE_TEMPORARY_VARIABLE(3)
   LINE_NUMBER_BYTECODE(*) */
246 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_TEMPORARY_VARIABLE (3);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
}

/* DUP_STACK_TOP(0)
   EXT_BYTE(*)
   SEND(0) */
247 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch SEND (arg | arg_lsb, 0, 0);
}

/* STORE_RECEIVER_VARIABLE(*)
   RETURN_CONTEXT_STACK_TOP(0) */
248 {
  extract opcode (8), arg_lsb (8);
  dispatch STORE_RECEIVER_VARIABLE (arg | arg_lsb);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_SELF(0)
   EXT_BYTE(3)
   SEND(0) */
249 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_SELF;
  dispatch SEND (3, 0, 0);
}

/* NOT_NIL_SPECIAL(0)
   DUP_STACK_TOP(0)
   POP_JUMP_FALSE(*) */
250 {
  extract opcode (8), arg_lsb (8);
  dispatch SEND_SPECIAL (5);
  dispatch DUP_STACK_TOP;
  dispatch POP_JUMP_FALSE (IP - IP0 + (arg | arg_lsb));
}

/* DUP_STACK_TOP(0)
   PUSH_LIT_CONSTANT(*) */
251 {
  extract opcode (8), arg_lsb (8);
  dispatch DUP_STACK_TOP;
  dispatch PUSH_LIT_CONSTANT (arg | arg_lsb);
}

/* LINE_NUMBER_BYTECODE(*)
   PUSH_TEMPORARY_VARIABLE(0)
   RETURN_CONTEXT_STACK_TOP(0) */
252 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_TEMPORARY_VARIABLE (0);
  dispatch RETURN_CONTEXT_STACK_TOP;
}

/* PUSH_INTEGER(*)
   AT_PUT_SPECIAL(0) */
253 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_INTEGER (arg | arg_lsb);
  dispatch SEND_SPECIAL (1);
}

/* PUSH_TEMPORARY_VARIABLE(*)
   CLASS_SPECIAL(0) */
254 {
  extract opcode (8), arg_lsb (8);
  dispatch PUSH_TEMPORARY_VARIABLE (arg | arg_lsb);
  dispatch SEND_SPECIAL (3);
}

/* LINE_NUMBER_BYTECODE(*)
   EXT_BYTE(2)
   PUSH_OUTER_TEMP(1) */
255 {
  extract opcode (8), arg_lsb (8);
  dispatch LINE_NUMBER_BYTECODE (arg | arg_lsb);
  dispatch PUSH_OUTER_TEMP (2, 1);
}

