1 /* This code is machine-generated.  See its source for license
2    information. This software is derived from software
3    distributed under the GNU GPL version 3 or later. */
4 
5 /* User-specified code, initial vm1 part: beginning. */
6 
7 /* User-specified code, initial vm1 part: end */
8 
9 /* VM library: main VM C file template.
10 
11    Copyright (C) 2016, 2017, 2018, 2019, 2020 Luca Saiu
12    Written by Luca Saiu
13 
14    This file is part of Jitter.
15 
16    Jitter is free software: you can redistribute it and/or modify
17    it under the terms of the GNU General Public License as published by
18    the Free Software Foundation, either version 3 of the License, or
19    (at your option) any later version.
20 
21    Jitter is distributed in the hope that it will be useful,
22    but WITHOUT ANY WARRANTY; without even the implied warranty of
23    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24    GNU General Public License for more details.
25 
26    You should have received a copy of the GNU General Public License
27    along with Jitter.  If not, see <http://www.gnu.org/licenses/>. */
28 
29 
30 /* Generated file warning.
31  * ************************************************************************** */
32 
33 /* Unless this file is named exactly "vm1.c" , without any prefix, you are
34    looking at a machine-generated derived file.  The original source is the vm.c
35    template from Jitter, with added code implementing the jitterlispvm VM. */
36 
37 
38 
39 
40 #include <assert.h>
41 #include <string.h>
42 
43 #include <jitter/jitter.h>
44 
45 #if defined (JITTER_PROFILE_SAMPLE)
46 #include <sys/time.h>
47 #endif // #if defined (JITTER_PROFILE_SAMPLE)
48 
49 #include <jitter/jitter-hash.h>
50 #include <jitter/jitter-instruction.h>
51 #include <jitter/jitter-mmap.h>
52 #include <jitter/jitter-mutable-routine.h>
53 #include <jitter/jitter-print.h>
54 #include <jitter/jitter-rewrite.h>
55 #include <jitter/jitter-routine.h>
56 #include <jitter/jitter-routine-parser.h>
57 #include <jitter/jitter-specialize.h>
58 #include <jitter/jitter-defect.h>
59 #include <jitter/jitter-patch-in.h>
60 
61 /* I don't need to include <jitter/jitter-executor.h> here, nor to define
62    JITTER_THIS_CAN_INCLUDE_JITTER_EXECUTOR_H ; doing so carelessly might
63    lead to subtle bugs, that it is better to prevent.
64    Of course I can reconsider this decision in the future. */
65 
66 #include <jitter/jitter-data-locations.h>
67 
68 #include "jitterlispvm-vm.h"
69 //#include "jitterlispvm-specialized-instructions.h"
70 //#include "jitterlispvm-meta-instructions.h"
71 #include <jitter/jitter-fatal.h>
72 
73 
74 
75 
76 /* Check requirements for particular features.
77  * ************************************************************************** */
78 
79 /* VM sample-profiling is only supported with GCC.  Do not bother activating it
80    with other compilers, if the numbers are unreliable in the end. */
81 #if  defined (JITTER_PROFILE_SAMPLE)        \
82      && ! defined (JITTER_HAVE_ACTUAL_GCC)
83 # error "Sample-profiling is only reliable with GCC: it requires (machine-independent)"
84 # error "GNU C extended asm, and it is not worth supporting other compilers if"
85 # error "the numbers turn out to be unreliable in the end."
86 #endif
87 
88 
89 
90 
91 /* Machine-generated data structures.
92  * ************************************************************************** */
93 
94 /* Machine-generated data structures defining this VM.  Initializing a static
95    struct is problematic, as it requires constant expressions for each field --
96    and const pointers don't qualify.  This is why we initialize the struct
97    fields below in jitterlispvm_initialize. */
98 static struct jitter_vm
99 the_jitterlispvm_vm;
100 
101 struct jitter_vm * const
102 jitterlispvm_vm = & the_jitterlispvm_vm;
103 
104 struct jitter_list_header * const
105 jitterlispvm_states = & the_jitterlispvm_vm.states;
106 
107 /* It is convenient to have this initialised at start up, even before calling
108    any initialisation function.  This makes it reliable to read this when, for
109    example, handling --version . */
110 static const struct jitter_vm_configuration
111 jitterlispvm_vm_the_configuration
112   = {
113       JITTERLISPVM_LOWER_CASE_PREFIX /* lower_case_prefix */,
114       JITTERLISPVM_UPPER_CASE_PREFIX /* upper_case_prefix */,
115       JITTERLISPVM_MAX_FAST_REGISTER_NO_PER_CLASS
116         /* max_fast_register_no_per_class */,
117       JITTERLISPVM_MAX_NONRESIDUAL_LITERAL_NO /* max_nonresidual_literal_no */,
118       JITTERLISPVM_DISPATCH_HUMAN_READABLE /* dispatch_human_readable */,
119       /* The instrumentation field can be seen as a bit map.  See the comment
120          in jitter/jitter-vm.h . */
121       (jitter_vm_instrumentation_none
122 #if defined (JITTER_PROFILE_COUNT)
123        | jitter_vm_instrumentation_count
124 #endif
125 #if defined (JITTER_PROFILE_SAMPLE)
126        | jitter_vm_instrumentation_sample
127 #endif
128        ) /* instrumentation */
129     };
130 
131 const struct jitter_vm_configuration * const
132 jitterlispvm_vm_configuration
133   = & jitterlispvm_vm_the_configuration;
134 
135 
136 
137 
138 /* Initialization and finalization: internal functions, not for the user.
139  * ************************************************************************** */
140 
141 /* Initialize threads.  This only needs to be called once at initialization, and
142    the user doesn't need to bother with it.  Defined along with the executor. */
143 void
144 jitterlispvm_initialize_threads (void);
145 
146 /* Check that the encodings in enum jitter_specialized_instruction_opcode (as
147    used in the specializer) are coherent with machine-generated code.  Making a
148    mistake here would introduce subtle bugs, so it's better to be defensive. */
149 static void
jitterlispvm_check_specialized_instruction_opcode_once(void)150 jitterlispvm_check_specialized_instruction_opcode_once (void)
151 {
152   static bool already_checked = false;
153   if (already_checked)
154     return;
155 
156   assert (((enum jitter_specialized_instruction_opcode)
157            jitterlispvm_specialized_instruction_opcode__eINVALID)
158           == jitter_specialized_instruction_opcode_INVALID);
159   assert (((enum jitter_specialized_instruction_opcode)
160            jitterlispvm_specialized_instruction_opcode__eBEGINBASICBLOCK)
161           == jitter_specialized_instruction_opcode_BEGINBASICBLOCK);
162   assert (((enum jitter_specialized_instruction_opcode)
163            jitterlispvm_specialized_instruction_opcode__eEXITVM)
164           == jitter_specialized_instruction_opcode_EXITVM);
165   assert (((enum jitter_specialized_instruction_opcode)
166            jitterlispvm_specialized_instruction_opcode__eDATALOCATIONS)
167           == jitter_specialized_instruction_opcode_DATALOCATIONS);
168   assert (((enum jitter_specialized_instruction_opcode)
169            jitterlispvm_specialized_instruction_opcode__eNOP)
170           == jitter_specialized_instruction_opcode_NOP);
171   assert (((enum jitter_specialized_instruction_opcode)
172            jitterlispvm_specialized_instruction_opcode__eUNREACHABLE0)
173           == jitter_specialized_instruction_opcode_UNREACHABLE0);
174   assert (((enum jitter_specialized_instruction_opcode)
175            jitterlispvm_specialized_instruction_opcode__eUNREACHABLE1)
176           == jitter_specialized_instruction_opcode_UNREACHABLE1);
177   assert (((enum jitter_specialized_instruction_opcode)
178            jitterlispvm_specialized_instruction_opcode__eUNREACHABLE2)
179           == jitter_specialized_instruction_opcode_UNREACHABLE2);
180 
181   already_checked = true;
182 }
183 
184 /* A prototype for a machine-generated function not needing a public
185    declaration, only called thru a pointer within struct jitter_vm . */
186 int
187 jitterlispvm_specialize_instruction (struct jitter_mutable_routine *p,
188                                  const struct jitter_instruction *ins);
189 
190 /* Initialize the pointed special-purpose data structure. */
191 static void
jitterlispvm_initialize_special_purpose_data(volatile struct jitter_special_purpose_state_data * d)192 jitterlispvm_initialize_special_purpose_data
193    (volatile struct jitter_special_purpose_state_data *d)
194 {
195   d->pending_notifications = 0;
196   jitter_initialize_pending_signal_notifications
197      (& d->pending_signal_notifications);
198 
199   /* Initialise profiling fields. */
200   jitter_profile_runtime_initialize (jitterlispvm_vm,
201                                      (struct jitter_profile_runtime *)
202                                      & d->profile_runtime);
203 }
204 
205 /* Finalize the pointed special-purpose data structure. */
206 static void
jitterlispvm_finalize_special_purpose_data(volatile struct jitter_special_purpose_state_data * d)207 jitterlispvm_finalize_special_purpose_data
208    (volatile struct jitter_special_purpose_state_data *d)
209 {
210   jitter_finalize_pending_signal_notifications
211      (d->pending_signal_notifications);
212 
213   jitter_profile_runtime_finalize (jitterlispvm_vm,
214                                    (struct jitter_profile_runtime *)
215                                    & d->profile_runtime);
216 }
217 
218 
219 
220 
221 /* Check that we link with the correct Jitter library.
222  * ************************************************************************** */
223 
224 /* It is possible to make a mistake at link time, and link a VM compiled with
225    some threading model with the Jitter runtime for a different model.  That
226    would cause crashes, that is better to prevent.  This is a way to detect such
227    mistakes very early, by causing a link-time failure in case of mismatch. */
228 extern volatile const bool
229 JITTER_DISPATCH_DEPENDENT_GLOBAL_NAME;
230 
231 
232 
233 
234 /* Low-level debugging features relying on assembly: data locations.
235  * ************************************************************************** */
236 
237 #if defined (JITTER_HAVE_KNOWN_BINARY_FORMAT) && ! defined (JITTER_DISPATCH_SWITCH)
238 /* A declaration for data locations, as visible from C.  The global is defined in
239    assembly in its own separate section thru the machinery in
240    jitter/jitter-sections.h . */
241 extern const char
242 JITTER_DATA_LOCATION_NAME(jitterlispvm) [];
243 #endif // #if ...
244 
245 void
jitterlispvm_dump_data_locations(jitter_print_context output)246 jitterlispvm_dump_data_locations (jitter_print_context output)
247 {
248 #ifndef JITTER_DISPATCH_SWITCH
249   jitter_dump_data_locations (output, & the_jitterlispvm_vm);
250 #else
251   jitter_print_char_star (output,
252                           "VM data location information unavailable\n");
253 #endif // #ifndef JITTER_DISPATCH_SWITCH
254 }
255 
256 
257 
258 
259 /* Initialization and finalization.
260  * ************************************************************************** */
261 
262 #ifdef JITTER_HAVE_PATCH_IN
263 JITTER_DEFECT_DESCRIPTOR_DECLARATIONS_(jitterlispvm)
264 JITTER_PATCH_IN_DESCRIPTOR_DECLARATIONS_(jitterlispvm)
265 #endif // #ifdef JITTER_HAVE_PATCH_IN
266 
267 #ifndef JITTER_DISPATCH_SWITCH
268 /* True iff thread sizes are all non-negative and non-huge.  We refuse to
269    disassemble otherwise, and when replication is enabled we refuse to run
270    altogether.  See the comment right below. */
271 static bool
272 jitterlispvm_threads_validated = false;
273 #endif // #ifndef JITTER_DISPATCH_SWITCH
274 
275 /* Omit jitterlispvm_validate_thread_sizes_once for switch-dispatching, as threads
276    don't exist at all in that case.*/
277 #ifndef JITTER_DISPATCH_SWITCH
278 /* Check that VM instruction sizes are all non-negative, and that no thread
279    starts before the end of the previous one.  Even one violation of such
280    conditions is a symptom that the code has not been compiled with
281    -fno-reorder-blocks , which would have disastrous effects with replication.
282    It's better to validate threads at startup and fail immediately than to crash
283    at run time.
284 
285    If even one thread appears to be wrong then refuse to disassemble when
286    replication is disabled, and refuse to run altogether if replication is
287    enabled. */
288 static void
jitterlispvm_validate_threads_once(void)289 jitterlispvm_validate_threads_once (void)
290 {
291   /* Return if this is not the first time we got here. */
292   static bool already_validated = false;
293   if (already_validated)
294     return;
295 
296 #ifdef JITTER_REPLICATE
297 # define JITTER_FAIL(error_text)                                             \
298     do                                                                       \
299       {                                                                      \
300         fprintf (stderr,                                                     \
301                  "About specialized instruction %i (%s) at %p, size %liB\n", \
302                  i, jitterlispvm_specialized_instruction_names [i],              \
303                  jitterlispvm_threads [i],                                       \
304                  jitterlispvm_thread_sizes [i]);                                 \
305         jitter_fatal ("%s: you are not compiling with -fno-reorder-blocks",  \
306                       error_text);                                           \
307       }                                                                      \
308     while (false)
309 #else
310 # define JITTER_FAIL(ignored_error_text)  \
311     do                                    \
312       {                                   \
313         everything_valid = false;         \
314         goto out;                         \
315       }                                   \
316     while (false)
317 #endif // #ifdef JITTER_REPLICATE
318 
319   /* The minimum address the next instruction code has to start at.
320 
321      This relies on NULL being zero, or in general lower in magnitude than any
322      valid pointer.  It is not worth the trouble to be pedantic, as this will be
323      true on every architecture where I can afford low-level tricks. */
324   jitter_thread lower_bound = NULL;
325 
326   /* Check every thread.  We rely on the order here, following specialized
327      instruction opcodes. */
328   int i;
329   bool everything_valid = true;
330   for (i = 0; i < JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO; i ++)
331     {
332       jitter_thread thread = jitterlispvm_threads [i];
333       long size = jitterlispvm_thread_sizes [i];
334 
335       /* Check that the current thread has non-negative non-huge size and
336          doesn't start before the end of the previous one.  If this is true for
337          all threads we can conclude that they are non-overlapping as well. */
338       if (__builtin_expect (size < 0, false))
339         JITTER_FAIL("a specialized instruction has negative code size");
340       if (__builtin_expect (size > (1 << 24), false))
341         JITTER_FAIL("a specialized instruction has huge code size");
342       if (__builtin_expect (lower_bound > thread, false))
343         JITTER_FAIL("non-sequential thread");
344 
345       /* The next thread cannot start before the end of the current one. */
346       lower_bound = ((char*) thread) + size;
347     }
348 
349 #undef JITTER_FAIL
350 
351 #ifndef JITTER_REPLICATE
352  out:
353 #endif // #ifndef JITTER_REPLICATE
354 
355   /* If we have validated every thread size then disassembling appears safe. */
356   if (everything_valid)
357     jitterlispvm_threads_validated = true;
358 
359   /* We have checked the thread sizes, once and for all.  If this function gets
360      called again, thru a second jitterlispvm initialization, it will immediately
361      return. */
362   already_validated = true;
363 }
364 #endif // #ifndef JITTER_DISPATCH_SWITCH
365 
366 #ifdef JITTER_HAVE_PATCH_IN
367 /* The actual defect table.  We only need it when patch-ins are in use. */
368 jitter_uint
369 jitterlispvm_defect_table [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO];
370 #endif // #ifdef JITTER_HAVE_PATCH_IN
371 
372 void
jitterlispvm_initialize(void)373 jitterlispvm_initialize (void)
374 {
375   /* Check that the Jitter library we linked is the right one.  This check
376      actually only useful to force the global to be used.  I prefer not to use
377      an assert, because assertions can be disabled. */
378   if (! JITTER_DISPATCH_DEPENDENT_GLOBAL_NAME)
379     jitter_fatal ("impossible to reach: the thing should fail at link time");
380 
381 #ifdef JITTER_REPLICATE
382   /* Initialize the executable-memory subsystem. */
383   jitter_initialize_executable ();
384 #endif // #ifdef JITTER_REPLICATE
385 
386   /* Initialise the print-context machinery. */
387   jitter_print_initialize ();
388 
389   /* Perform some sanity checks which only need to be run once. */
390   jitterlispvm_check_specialized_instruction_opcode_once ();
391 
392   /* We have to initialize threads before jitterlispvm_threads , since the struct
393      needs threads. */
394   jitterlispvm_initialize_threads ();
395 
396 #ifndef JITTER_DISPATCH_SWITCH
397   /* Validate threads, to make sure the generated code was not compiled with
398      incorrect options.  This only needs to be done once. */
399   jitterlispvm_validate_threads_once ();
400 #endif // ifndef JITTER_DISPATCH_SWITCH
401 
402   /* Initialize the object pointed by jitterlispvm_vm (see the comment above as to
403      why we do it here).  Before actually setting the fields to valid data, fill
404      the whole struct with a -- hopefully -- invalid pattern, just to catch
405      bugs. */
406   static bool vm_struct_initialized = false;
407   if (! vm_struct_initialized)
408     {
409       memset (& the_jitterlispvm_vm, 0xff, sizeof (struct jitter_vm));
410 
411       /* Make the configuration struct reachable from the VM struct. */
412       the_jitterlispvm_vm.configuration = jitterlispvm_vm_configuration;
413       //jitterlispvm_print_vm_configuration (stdout, & the_jitterlispvm_vm.configuration);
414 
415       /* Initialize meta-instruction pointers for implicit instructions.
416          VM-independent program specialization relies on those, so they have to
417          be accessible to the Jitter library, out of generated code.  Since
418          meta-instructions are sorted alphabetically in the array, the index
419          is not fixed. */
420       the_jitterlispvm_vm.exitvm_meta_instruction
421         = (jitterlispvm_meta_instructions + jitterlispvm_meta_instruction_id_exitvm);
422       the_jitterlispvm_vm.unreachable_meta_instruction
423         = (jitterlispvm_meta_instructions
424            + jitterlispvm_meta_instruction_id_unreachable);
425 
426       /* Threads or pointers to native code blocks of course don't exist with
427    switch-dispatching. */
428 #ifndef JITTER_DISPATCH_SWITCH
429       the_jitterlispvm_vm.threads = (jitter_thread *)jitterlispvm_threads;
430       the_jitterlispvm_vm.thread_sizes = (long *) jitterlispvm_thread_sizes;
431       the_jitterlispvm_vm.threads_validated = jitterlispvm_threads_validated;
432 #if defined (JITTER_HAVE_KNOWN_BINARY_FORMAT)
433       the_jitterlispvm_vm.data_locations = JITTER_DATA_LOCATION_NAME(jitterlispvm);
434 #else
435       the_jitterlispvm_vm.data_locations = NULL;
436 #endif // #if defined (JITTER_HAVE_KNOWN_BINARY_FORMAT)
437 #endif // #ifndef JITTER_DISPATCH_SWITCH
438 
439       the_jitterlispvm_vm.specialized_instruction_residual_arities
440         = jitterlispvm_specialized_instruction_residual_arities;
441       the_jitterlispvm_vm.specialized_instruction_label_bitmasks
442         = jitterlispvm_specialized_instruction_label_bitmasks;
443 #ifdef JITTER_HAVE_PATCH_IN
444       the_jitterlispvm_vm.specialized_instruction_fast_label_bitmasks
445         = jitterlispvm_specialized_instruction_fast_label_bitmasks;
446       the_jitterlispvm_vm.patch_in_descriptors =
447         JITTER_PATCH_IN_DESCRIPTORS_NAME(jitterlispvm);
448       const size_t patch_in_descriptor_size
449         = sizeof (struct jitter_patch_in_descriptor);
450       the_jitterlispvm_vm.patch_in_descriptor_no
451         = (JITTER_PATCH_IN_DESCRIPTORS_SIZE_IN_BYTES_NAME(jitterlispvm)
452            / patch_in_descriptor_size);
453       /* Cheap sanity check: if the size in bytes is not a multiple of
454          the element size, we're doing something very wrong. */
455       if (JITTER_PATCH_IN_DESCRIPTORS_SIZE_IN_BYTES_NAME(jitterlispvm)
456           % patch_in_descriptor_size != 0)
457         jitter_fatal ("patch-in descriptors total size not a multiple "
458                       "of the element size");
459       /* Initialize the patch-in table for this VM. */
460       the_jitterlispvm_vm.patch_in_table
461         = jitter_make_patch_in_table (the_jitterlispvm_vm.patch_in_descriptors,
462                                       the_jitterlispvm_vm.patch_in_descriptor_no,
463                                       JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO);
464 #else
465       the_jitterlispvm_vm.specialized_instruction_fast_label_bitmasks = NULL;
466 #endif // #ifdef JITTER_HAVE_PATCH_IN
467 
468       /* FIXME: I might want to conditionalize this. */
469       the_jitterlispvm_vm.specialized_instruction_relocatables
470         = jitterlispvm_specialized_instruction_relocatables;
471 
472       the_jitterlispvm_vm.specialized_instruction_callers
473         = jitterlispvm_specialized_instruction_callers;
474       the_jitterlispvm_vm.specialized_instruction_callees
475         = jitterlispvm_specialized_instruction_callees;
476 
477       the_jitterlispvm_vm.specialized_instruction_names
478         = jitterlispvm_specialized_instruction_names;
479       the_jitterlispvm_vm.specialized_instruction_no
480         = JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO;
481 
482       the_jitterlispvm_vm.meta_instruction_string_hash
483         = & jitterlispvm_meta_instruction_hash;
484       the_jitterlispvm_vm.meta_instructions
485         = (struct jitter_meta_instruction *) jitterlispvm_meta_instructions;
486       the_jitterlispvm_vm.meta_instruction_no = JITTERLISPVM_META_INSTRUCTION_NO;
487       the_jitterlispvm_vm.max_meta_instruction_name_length
488         = JITTERLISPVM_MAX_META_INSTRUCTION_NAME_LENGTH;
489       the_jitterlispvm_vm.specialized_instruction_to_unspecialized_instruction
490         = jitterlispvm_specialized_instruction_to_unspecialized_instruction;
491       the_jitterlispvm_vm.register_class_character_to_register_class
492         = jitterlispvm_register_class_character_to_register_class;
493       the_jitterlispvm_vm.specialize_instruction = jitterlispvm_specialize_instruction;
494       the_jitterlispvm_vm.rewrite = jitterlispvm_rewrite;
495 
496 #ifdef JITTER_HAVE_PATCH_IN
497       /* Fill the defect table.  Since the array in question is a global with a
498          fixed size, this needs to be done only once. */
499       jitter_fill_defect_table (jitterlispvm_defect_table,
500                                 & the_jitterlispvm_vm,
501                                 jitterlispvm_worst_case_defect_table,
502                                 JITTER_DEFECT_DESCRIPTORS_NAME (jitterlispvm),
503                                 (JITTER_DEFECT_DESCRIPTORS_SIZE_IN_BYTES_NAME
504                                     (jitterlispvm)
505                                  / sizeof (struct jitter_defect_descriptor)));
506 #endif // #ifdef JITTER_HAVE_PATCH_IN
507 
508       /* Initialize the empty list of states. */
509       JITTER_LIST_INITIALIZE_HEADER (& the_jitterlispvm_vm.states);
510 
511       vm_struct_initialized = true;
512     }
513 
514   jitter_initialize_meta_instructions (& jitterlispvm_meta_instruction_hash,
515                                          jitterlispvm_meta_instructions,
516                                          JITTERLISPVM_META_INSTRUCTION_NO);
517 
518 #ifdef JITTER_HAVE_PATCH_IN
519   jitter_dump_defect_table (stderr, jitterlispvm_defect_table, & the_jitterlispvm_vm);
520 #endif // #ifdef JITTER_HAVE_PATCH_IN
521 }
522 
523 void
jitterlispvm_finalize(void)524 jitterlispvm_finalize (void)
525 {
526   /* There's no need to touch the_jitterlispvm_vm ; we can keep it as it is, as it
527      contains no dynamically-allocated fields. */
528   /* Threads need no finalization. */
529   jitter_finalize_meta_instructions (& jitterlispvm_meta_instruction_hash);
530 
531 #ifdef JITTER_HAVE_PATCH_IN
532   /* Destroy the patch-in table for this VM. */
533   jitter_destroy_patch_in_table (the_jitterlispvm_vm.patch_in_table,
534                                  JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO);
535 #endif // #ifdef JITTER_HAVE_PATCH_IN
536 
537 #ifdef JITTER_REPLICATE
538   /* Finalize the executable-memory subsystem. */
539   jitter_finalize_executable ();
540 #endif // #ifdef JITTER_REPLICATE
541 
542   /* Finalize the state list.  If it is not empty then something has gone
543      wrong earlier. */
544   if (the_jitterlispvm_vm.states.first != NULL
545       || the_jitterlispvm_vm.states.last != NULL)
546     jitter_fatal ("not every state structure was destroyed before JITTERLISPVM "
547                   "finalisation.");
548 }
549 
550 
551 
552 
553 /* VM-dependant mutable routine initialization.
554  * ************************************************************************** */
555 
556 struct jitter_mutable_routine*
jitterlispvm_make_mutable_routine(void)557 jitterlispvm_make_mutable_routine (void)
558 {
559   return jitter_make_mutable_routine (jitterlispvm_vm);
560 }
561 
562 
563 
564 
565 /* Sample profiling: internal API.
566  * ************************************************************************** */
567 
568 #if defined (JITTER_PROFILE_SAMPLE)
569 
570 /* Sample profiling depends on some system features: fail immediately if they
571    are not available */
572 #if ! defined (JITTER_HAVE_SIGACTION) || ! defined (JITTER_HAVE_SETITIMER)
573 # jitter_fatal "sample-profiling depends on sigaction and setitimer"
574 #endif
575 
576 static struct itimerval
577 jitterlispvm_timer_interval;
578 
579 static struct itimerval
580 jitterlispvm_timer_disabled_interval;
581 
582 /* The sampling data, currently global.  The current implementation does not
583    play well with threads, but it can be changed later keeping the same user
584    API. */
585 struct jitterlispvm_sample_profile_state
586 {
587   /* The state currently sample-profiling.  Since such a state can be only one
588      right now this field is useful for printing error messages in case the user
589      sets up sample-profiling from two states at the same time by mistake.
590      This field is also useful for temporarily suspending and then reenabling
591      sampling, when The Array is being resized: if the signal handler sees that
592      this field is NULL it will not touch the fields. */
593   struct jitterlispvm_state *state_p;
594 
595   /* A pointer to the counts field within the sample_profile_runtime struct. */
596   uint32_t *counts;
597 
598   /* A pointer to the current specialised instruction opcode within the
599      sample_profile_runtime struct. */
600   volatile jitter_int * specialized_opcode_p;
601 
602   /* A pointer to the field counting the number of samples, again within the
603      sample_profile_runtime struct. */
604   unsigned int *sample_no_p;
605 };
606 
607 /* The (currently) one and only global state for sample-profiling. */
608 static struct jitterlispvm_sample_profile_state
609 jitterlispvm_sample_profile_state;
610 
611 static void
jitterlispvm_sigprof_handler(int signal)612 jitterlispvm_sigprof_handler (int signal)
613 {
614 #if 0
615   assert (jitterlispvm_sample_profile_state.state_p != NULL);
616 #endif
617 
618   jitter_int specialized_opcode
619     = * jitterlispvm_sample_profile_state.specialized_opcode_p;
620   if (__builtin_expect ((specialized_opcode >= 0
621                          && (specialized_opcode
622                              < JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO)),
623                         true))
624     jitterlispvm_sample_profile_state.counts [specialized_opcode] ++;
625 
626   (* jitterlispvm_sample_profile_state.sample_no_p) ++;
627 }
628 
629 void
jitterlispvm_profile_sample_initialize(void)630 jitterlispvm_profile_sample_initialize (void)
631 {
632   /* Perform a sanity check over the sampling period. */
633   if (JITTER_PROFILE_SAMPLE_PERIOD_IN_MILLISECONDS <= 0 ||
634       JITTER_PROFILE_SAMPLE_PERIOD_IN_MILLISECONDS >= 1000)
635     jitter_fatal ("invalid JITTER_PROFILE_SAMPLE_PERIOD_IN_MILLISECONDS: %f",
636                   (double) JITTER_PROFILE_SAMPLE_PERIOD_IN_MILLISECONDS);
637   struct sigaction action;
638   sigaction (SIGPROF, NULL, & action);
639   action.sa_handler = jitterlispvm_sigprof_handler;
640   sigaction (SIGPROF, & action, NULL);
641 
642   long microseconds
643     = (long) (JITTER_PROFILE_SAMPLE_PERIOD_IN_MILLISECONDS * 1000);
644   jitterlispvm_timer_interval.it_interval.tv_sec = 0;
645   jitterlispvm_timer_interval.it_interval.tv_usec = microseconds;
646   jitterlispvm_timer_interval.it_value = jitterlispvm_timer_interval.it_interval;
647 
648   jitterlispvm_sample_profile_state.state_p = NULL;
649   jitterlispvm_timer_disabled_interval.it_interval.tv_sec = 0;
650   jitterlispvm_timer_disabled_interval.it_interval.tv_usec = 0;
651   jitterlispvm_timer_disabled_interval.it_value
652     = jitterlispvm_timer_disabled_interval.it_interval;
653 }
654 
655 void
jitterlispvm_profile_sample_start(struct jitterlispvm_state * state_p)656 jitterlispvm_profile_sample_start (struct jitterlispvm_state *state_p)
657 {
658   struct jitter_sample_profile_runtime *spr
659     = ((struct jitter_sample_profile_runtime *)
660        & JITTERLISPVM_STATE_TO_SPECIAL_PURPOSE_STATE_DATA (state_p)
661            ->profile_runtime.sample_profile_runtime);
662 
663   if (jitterlispvm_sample_profile_state.state_p != NULL)
664     {
665       if (state_p != jitterlispvm_sample_profile_state.state_p)
666         jitter_fatal ("currently it is only possible to sample-profile from "
667                       "one state at the time: trying to sample-profile from "
668                       "the state %p when already sample-profiling from the "
669                       "state %p",
670                       state_p, jitterlispvm_sample_profile_state.state_p);
671       else
672         {
673           /* This situation is a symptom of a bug, but does not need to lead
674              to a fatal error. */
675           printf ("WARNING: starting profile on the state %p when profiling "
676                   "was already active in the same state.\n"
677                   "Did you call longjmp from VM code?", state_p);
678           fflush (stdout);
679         }
680     }
681   jitterlispvm_sample_profile_state.state_p = state_p;
682   jitterlispvm_sample_profile_state.sample_no_p = & spr->sample_no;
683   jitterlispvm_sample_profile_state.counts = spr->counts;
684   jitterlispvm_sample_profile_state.specialized_opcode_p
685     = & spr->current_specialized_instruction_opcode;
686   //fprintf (stderr, "SAMPLE START\n"); fflush (NULL);
687   if (setitimer (ITIMER_PROF, & jitterlispvm_timer_interval, NULL) != 0)
688     jitter_fatal ("setitimer failed when establishing a timer");
689 }
690 
691 void
jitterlispvm_profile_sample_stop(void)692 jitterlispvm_profile_sample_stop (void)
693 {
694   if (setitimer (ITIMER_PROF, & jitterlispvm_timer_disabled_interval, NULL) != 0)
695     jitter_fatal ("setitimer failed when disabling a timer");
696 
697   jitterlispvm_sample_profile_state.state_p = NULL;
698 
699   /* The rest is just for defenisveness' sake. */
700   * jitterlispvm_sample_profile_state.specialized_opcode_p = -1;
701   jitterlispvm_sample_profile_state.sample_no_p = NULL;
702   jitterlispvm_sample_profile_state.counts = NULL;
703   jitterlispvm_sample_profile_state.specialized_opcode_p = NULL;
704 }
705 #endif // #if defined (JITTER_PROFILE_SAMPLE)
706 
707 
708 
709 
710 /* Array re-allocation.
711  * ************************************************************************** */
712 
713 char *
jitterlispvm_make_place_for_slow_registers(struct jitterlispvm_state * s,jitter_int new_slow_register_no_per_class)714 jitterlispvm_make_place_for_slow_registers (struct jitterlispvm_state *s,
715                                         jitter_int new_slow_register_no_per_class)
716 {
717   if (new_slow_register_no_per_class < 0)
718     jitter_fatal ("jitterlispvm_make_place_for_slow_registers: negative slow "
719                   "register number");
720   jitter_int old_slow_register_no_per_class
721     = s->jitterlispvm_state_backing.jitter_slow_register_no_per_class;
722   /* Change nothing if we already have enough space for the required number of
723      slow registers.  The no-change case will be the most common one, and
724      this function might be worth optimizing. */
725   if (__builtin_expect (new_slow_register_no_per_class
726                         > old_slow_register_no_per_class,
727                         false))
728     {
729 #if defined (JITTER_PROFILE_SAMPLE)
730       /* If sample-profiling is currently in progress on this state suspend it
731          temporarily. */
732       bool suspending_sample_profiling
733         = (jitterlispvm_sample_profile_state.state_p == s);
734       if (suspending_sample_profiling)
735         jitterlispvm_profile_sample_stop ();
736 #endif // #if defined (JITTER_PROFILE_SAMPLE)
737 
738 #if 0
739       printf ("Increasing slow register-no (per class) from %li to %li\n", (long) old_slow_register_no_per_class, (long)new_slow_register_no_per_class);
740       printf ("Array size %li -> %li\n", (long) JITTERLISPVM_ARRAY_SIZE(old_slow_register_no_per_class), (long) JITTERLISPVM_ARRAY_SIZE(new_slow_register_no_per_class));
741 #endif
742       /* Save the new value for new_slow_register_no_per_class in the state
743          structure; reallocate the Array. */
744       s->jitterlispvm_state_backing.jitter_slow_register_no_per_class
745         = new_slow_register_no_per_class;
746       s->jitterlispvm_state_backing.jitter_array
747         = jitter_xrealloc ((void *) s->jitterlispvm_state_backing.jitter_array,
748                            JITTERLISPVM_ARRAY_SIZE(new_slow_register_no_per_class));
749 
750       /* Initialise the slow registers we have just added, for every class. */
751       union jitterlispvm_any_register *first_slow_register
752         = ((union jitterlispvm_any_register *)
753            ((char *) s->jitterlispvm_state_backing.jitter_array
754             + JITTERLISPVM_FIRST_SLOW_REGISTER_UNBIASED_OFFSET));
755       jitter_int i;
756       for (i = old_slow_register_no_per_class;
757            i < new_slow_register_no_per_class;
758            i ++)
759         {
760           /* A pointer to the i-th rank of slow registers.  Every register
761              in the rank is new and in general (according to its class) may
762              need initialisation. */
763           union jitterlispvm_any_register *rank
764             = first_slow_register + (i * JITTERLISPVM_REGISTER_CLASS_NO);
765           JITTERLISPVM_INITIALIZE_SLOW_REGISTER_RANK (rank);
766         }
767 #if defined (JITTER_PROFILE_SAMPLE)
768       /* Now we can resume sample-profiling on this state if we suspended it. */
769       if (suspending_sample_profiling)
770         jitterlispvm_profile_sample_start (s);
771 #endif // #if defined (JITTER_PROFILE_SAMPLE)
772 #if 0
773       printf ("Done resizing The Array\n");
774 #endif
775     }
776 
777   /* Return the new (or unchanged) base, by simply adding the bias to the
778      Array as it is now. */
779   return s->jitterlispvm_state_backing.jitter_array + JITTER_ARRAY_BIAS;
780 }
781 
782 void
jitterlispvm_ensure_enough_slow_registers_for_executable_routine(const struct jitter_executable_routine * er,struct jitterlispvm_state * s)783 jitterlispvm_ensure_enough_slow_registers_for_executable_routine
784    (const struct jitter_executable_routine *er, struct jitterlispvm_state *s)
785 {
786   jitterlispvm_make_place_for_slow_registers (s, er->slow_register_per_class_no);
787 }
788 
789 
790 
791 
792 /* Program text frontend.
793  * ************************************************************************** */
794 
795 void
jitterlispvm_parse_mutable_routine_from_file_star(FILE * input_file,struct jitter_mutable_routine * p)796 jitterlispvm_parse_mutable_routine_from_file_star (FILE *input_file,
797                                                struct jitter_mutable_routine *p)
798 {
799   jitter_parse_mutable_routine_from_file_star (input_file, p, jitterlispvm_vm);
800 }
801 
802 void
jitterlispvm_parse_mutable_routine_from_file(const char * input_file_name,struct jitter_mutable_routine * p)803 jitterlispvm_parse_mutable_routine_from_file (const char *input_file_name,
804                                           struct jitter_mutable_routine *p)
805 {
806   jitter_parse_mutable_routine_from_file (input_file_name, p, jitterlispvm_vm);
807 }
808 
809 void
jitterlispvm_parse_mutable_routine_from_string(const char * string,struct jitter_mutable_routine * p)810 jitterlispvm_parse_mutable_routine_from_string (const char *string,
811                                             struct jitter_mutable_routine *p)
812 {
813   jitter_parse_mutable_routine_from_string (string, p, jitterlispvm_vm);
814 }
815 
816 
817 
818 
819 /* Executing code: unified routine API.
820  * ************************************************************************** */
821 
822 void
jitterlispvm_ensure_enough_slow_registers_for_routine(jitter_routine r,struct jitterlispvm_state * s)823 jitterlispvm_ensure_enough_slow_registers_for_routine
824    (jitter_routine r, struct jitterlispvm_state *s)
825 {
826   struct jitter_executable_routine *e
827     = jitter_routine_make_executable_if_needed (r);
828   jitterlispvm_ensure_enough_slow_registers_for_executable_routine (e, s);
829 }
830 
831 void
jitterlispvm_execute_routine(jitter_routine r,struct jitterlispvm_state * s)832 jitterlispvm_execute_routine (jitter_routine r,
833                           struct jitterlispvm_state *s)
834 {
835   struct jitter_executable_routine *e
836     = jitter_routine_make_executable_if_needed (r);
837   jitterlispvm_execute_executable_routine (e, s);
838 }
839 
840 
841 
842 
843 /* Profiling: user API.
844  * ************************************************************************** */
845 
846 /* These functions are all trivial wrappers around the functionality declared
847    in jitter/jitter-profile.h, hiding the VM pointer. */
848 
849 struct jitterlispvm_profile_runtime *
jitterlispvm_state_profile_runtime(struct jitterlispvm_state * s)850 jitterlispvm_state_profile_runtime (struct jitterlispvm_state *s)
851 {
852   volatile struct jitter_special_purpose_state_data *spd
853     = JITTERLISPVM_ARRAY_TO_SPECIAL_PURPOSE_STATE_DATA
854         (s->jitterlispvm_state_backing.jitter_array);
855   return (struct jitterlispvm_profile_runtime *) & spd->profile_runtime;
856 }
857 
858 struct jitterlispvm_profile_runtime *
jitterlispvm_profile_runtime_make(void)859 jitterlispvm_profile_runtime_make (void)
860 {
861   return jitter_profile_runtime_make (jitterlispvm_vm);
862 }
863 
864 void
jitterlispvm_profile_runtime_clear(struct jitterlispvm_profile_runtime * p)865 jitterlispvm_profile_runtime_clear (struct jitterlispvm_profile_runtime * p)
866 {
867   jitter_profile_runtime_clear (jitterlispvm_vm, p);
868 }
869 
870 void
jitterlispvm_profile_runtime_merge_from(struct jitterlispvm_profile_runtime * to,const struct jitterlispvm_profile_runtime * from)871 jitterlispvm_profile_runtime_merge_from (struct jitterlispvm_profile_runtime *to,
872                                      const struct jitterlispvm_profile_runtime *from)
873 {
874   jitter_profile_runtime_merge_from (jitterlispvm_vm, to, from);
875 }
876 
877 void
jitterlispvm_profile_runtime_merge_from_state(struct jitterlispvm_profile_runtime * to,const struct jitterlispvm_state * from_state)878 jitterlispvm_profile_runtime_merge_from_state (struct jitterlispvm_profile_runtime *to,
879                                            const struct jitterlispvm_state *from_state)
880 {
881   const struct jitterlispvm_profile_runtime* from
882     = jitterlispvm_state_profile_runtime ((struct jitterlispvm_state *) from_state);
883   jitter_profile_runtime_merge_from (jitterlispvm_vm, to, from);
884 }
885 
886 void
jitterlispvm_profile_runtime_print_unspecialized(jitter_print_context ct,const struct jitterlispvm_profile_runtime * p)887 jitterlispvm_profile_runtime_print_unspecialized
888    (jitter_print_context ct,
889     const struct jitterlispvm_profile_runtime *p)
890 {
891   jitter_profile_runtime_print_unspecialized (ct, jitterlispvm_vm, p);
892 }
893 
894 void
jitterlispvm_profile_runtime_print_specialized(jitter_print_context ct,const struct jitterlispvm_profile_runtime * p)895 jitterlispvm_profile_runtime_print_specialized (jitter_print_context ct,
896                                             const struct jitterlispvm_profile_runtime
897                                             *p)
898 {
899   jitter_profile_runtime_print_specialized (ct, jitterlispvm_vm, p);
900 }
901 
902 struct jitterlispvm_profile *
jitterlispvm_profile_unspecialized_from_runtime(const struct jitterlispvm_profile_runtime * p)903 jitterlispvm_profile_unspecialized_from_runtime
904    (const struct jitterlispvm_profile_runtime *p)
905 {
906   return jitter_profile_unspecialized_from_runtime (jitterlispvm_vm, p);
907 }
908 
909 struct jitterlispvm_profile *
jitterlispvm_profile_specialized_from_runtime(const struct jitterlispvm_profile_runtime * p)910 jitterlispvm_profile_specialized_from_runtime (const struct jitterlispvm_profile_runtime
911                                            *p)
912 {
913   return jitter_profile_specialized_from_runtime (jitterlispvm_vm, p);
914 }
915 
916 
917 
918 
919 /* Evrything following this point is machine-generated.
920  * ************************************************************************** */
921 
922 /* What follows could be conceptually split into several generated C files, but
923    having too many of them would be inconvenient for the user to compile and
924    link.  For this reason we currently generate just three files: one is this,
925    which also contains the specializer, another is for the executor, and then a
926    header -- a main module is optional.  The executor will be potentially very
927    large, so it is best compiled separately.  The specializer might be large as
928    well at this stage, even if its compilation is usually much less
929    expensive. */
930 /* These two macros are convenient for making VM-specific identifiers
931    using VM-independent macros from a public header, without polluting
932    the global namespace. */
933 #define JITTER_VM_PREFIX_LOWER_CASE jitterlispvm
934 #define JITTER_VM_PREFIX_UPPER_CASE JITTERLISPVM
935 
936 /* User-specified code, printer part: beginning. */
937 
938     /* Not really needed.  The printer is jitterlisp_print. */
939 
940 /* User-specified code, printer part: end */
941 
942 //#include <stdbool.h>
943 
944 //#include <jitter/jitter.h>
945 //#include <jitter/jitter-instruction.h>
946 
947 //#include "jitterlispvm-meta-instructions.h"
948 
949 // FIXME: comment.
950 struct jitter_hash_table
951 jitterlispvm_meta_instruction_hash;
952 
953 
954 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_at_mdepth_mto_mregister_meta_instruction_parameter_types [2] =
955   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
956 
957 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_meta_instruction_parameter_types [1] =
958   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
959 
960 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mfalse_meta_instruction_parameter_types [1] =
961   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
962 
963 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mnot_mless_meta_instruction_parameter_types [2] =
964   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
965 
966 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mnot_mnull_meta_instruction_parameter_types [1] =
967   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
968 
969 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mnull_meta_instruction_parameter_types [1] =
970   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
971 
972 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mregister_mnon_mzero_meta_instruction_parameter_types [3] =
973   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
974 
975 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_branch_mif_mtrue_meta_instruction_parameter_types [1] =
976   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
977 
978 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_call_meta_instruction_parameter_types [1] =
979   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
980 
981 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_call_mcompiled_meta_instruction_parameter_types [1] =
982   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
983 
984 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_check_mclosure_meta_instruction_parameter_types [1] =
985   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
986 
987 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_check_mglobal_mdefined_meta_instruction_parameter_types [2] =
988   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
989 
990 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_check_min_marity_meta_instruction_parameter_types [2] =
991   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
992 
993 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_check_min_marity_m_malt_meta_instruction_parameter_types [2] =
994   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
995 
996 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_copy_mfrom_mliteral_meta_instruction_parameter_types [1] =
997   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print } };
998 
999 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_copy_mfrom_mregister_meta_instruction_parameter_types [1] =
1000   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1001 
1002 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_copy_mto_mregister_meta_instruction_parameter_types [1] =
1003   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1004 
1005 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_gc_mif_mneeded_meta_instruction_parameter_types [1] =
1006   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1007 
1008 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_heap_mallocate_meta_instruction_parameter_types [1] =
1009   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
1010 
1011 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_literal_mto_mregister_meta_instruction_parameter_types [2] =
1012   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print }, { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1013 
1014 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_nip_mpush_mliteral_meta_instruction_parameter_types [1] =
1015   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
1016 
1017 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_nip_mpush_mregister_meta_instruction_parameter_types [1] =
1018   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1019 
1020 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_pop_mto_mglobal_meta_instruction_parameter_types [2] =
1021   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1022 
1023 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_pop_mto_mglobal_mdefined_meta_instruction_parameter_types [2] =
1024   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1025 
1026 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_pop_mto_mregister_meta_instruction_parameter_types [1] =
1027   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1028 
1029 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_meta_instruction_parameter_types [3] =
1030   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1031 
1032 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mbox_mget_meta_instruction_parameter_types [1] =
1033   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1034 
1035 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mbox_msetb_mspecial_meta_instruction_parameter_types [1] =
1036   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1037 
1038 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mcar_meta_instruction_parameter_types [1] =
1039   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1040 
1041 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mcdr_meta_instruction_parameter_types [1] =
1042   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1043 
1044 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mfixnum_meqp_meta_instruction_parameter_types [1] =
1045   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1046 
1047 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mfixnum_mnot_meqp_meta_instruction_parameter_types [1] =
1048   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1049 
1050 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mgreaterp_meta_instruction_parameter_types [1] =
1051   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1052 
1053 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mlessp_meta_instruction_parameter_types [1] =
1054   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1055 
1056 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnegate_meta_instruction_parameter_types [1] =
1057   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1058 
1059 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnegativep_meta_instruction_parameter_types [1] =
1060   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1061 
1062 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnon_mnegativep_meta_instruction_parameter_types [1] =
1063   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1064 
1065 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnon_mpositivep_meta_instruction_parameter_types [1] =
1066   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1067 
1068 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnon_mzerop_meta_instruction_parameter_types [1] =
1069   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1070 
1071 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnot_mgreaterp_meta_instruction_parameter_types [1] =
1072   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1073 
1074 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mnot_mlessp_meta_instruction_parameter_types [1] =
1075   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1076 
1077 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mone_mminus_meta_instruction_parameter_types [1] =
1078   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1079 
1080 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mone_mplus_meta_instruction_parameter_types [1] =
1081   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1082 
1083 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mpositivep_meta_instruction_parameter_types [1] =
1084   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1085 
1086 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mprimordial_mdivided_meta_instruction_parameter_types [1] =
1087   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1088 
1089 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mprimordial_mdivided_munsafe_meta_instruction_parameter_types [1] =
1090   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1091 
1092 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mprimordial_mminus_meta_instruction_parameter_types [1] =
1093   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1094 
1095 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mprimordial_mplus_meta_instruction_parameter_types [1] =
1096   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1097 
1098 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mprimordial_mtimes_meta_instruction_parameter_types [1] =
1099   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1100 
1101 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mquotient_meta_instruction_parameter_types [1] =
1102   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1103 
1104 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mquotient_munsafe_meta_instruction_parameter_types [1] =
1105   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1106 
1107 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mremainder_meta_instruction_parameter_types [1] =
1108   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1109 
1110 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mremainder_munsafe_meta_instruction_parameter_types [1] =
1111   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1112 
1113 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mset_mcarb_mspecial_meta_instruction_parameter_types [1] =
1114   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1115 
1116 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mset_mcdrb_mspecial_meta_instruction_parameter_types [1] =
1117   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1118 
1119 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mtwo_mdivided_meta_instruction_parameter_types [1] =
1120   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1121 
1122 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mtwo_mquotient_meta_instruction_parameter_types [1] =
1123   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1124 
1125 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mtwo_mremainder_meta_instruction_parameter_types [1] =
1126   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1127 
1128 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mtwo_mtimes_meta_instruction_parameter_types [1] =
1129   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1130 
1131 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_primitive_mzerop_meta_instruction_parameter_types [1] =
1132   { { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1133 
1134 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_push_mglobal_meta_instruction_parameter_types [2] =
1135   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print }, { jitter_meta_instruction_parameter_kind_literal_label, NULL, jitter_default_literal_parameter_printer } };
1136 
1137 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_push_mliteral_meta_instruction_parameter_types [1] =
1138   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitterlisp_print } };
1139 
1140 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_push_mregister_meta_instruction_parameter_types [1] =
1141   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1142 
1143 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_register_mto_mregister_meta_instruction_parameter_types [2] =
1144   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer }, { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1145 
1146 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_restore_mregister_meta_instruction_parameter_types [1] =
1147   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1148 
1149 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_save_mregister_meta_instruction_parameter_types [1] =
1150   { { jitter_meta_instruction_parameter_kind_register, & jitterlispvm_register_class_r, jitter_default_literal_parameter_printer } };
1151 
1152 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_tail_mcall_meta_instruction_parameter_types [1] =
1153   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
1154 
1155 static const /*FIXME: use enum jitterc_instruction_argument_kind instead*/struct jitter_meta_instruction_parameter_type jitterlispvm_tail_mcall_mcompiled_meta_instruction_parameter_types [1] =
1156   { { jitter_meta_instruction_parameter_kind_literal_fixnum, NULL, jitter_default_literal_parameter_printer } };
1157 
1158 
1159 const struct jitter_meta_instruction
1160 jitterlispvm_meta_instructions [JITTERLISPVM_META_INSTRUCTION_NO]
1161   = {
1162       { 0, "at-depth-to-register", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_at_mdepth_mto_mregister_meta_instruction_parameter_types },
1163       { 1, "branch", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_meta_instruction_parameter_types },
1164       { 2, "branch-if-false", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mfalse_meta_instruction_parameter_types },
1165       { 3, "branch-if-not-less", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mnot_mless_meta_instruction_parameter_types },
1166       { 4, "branch-if-not-null", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mnot_mnull_meta_instruction_parameter_types },
1167       { 5, "branch-if-null", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mnull_meta_instruction_parameter_types },
1168       { 6, "branch-if-register-non-zero", 3, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mregister_mnon_mzero_meta_instruction_parameter_types },
1169       { 7, "branch-if-true", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_branch_mif_mtrue_meta_instruction_parameter_types },
1170       { 8, "call", 1, true, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_call_meta_instruction_parameter_types },
1171       { 9, "call-compiled", 1, true, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_call_mcompiled_meta_instruction_parameter_types },
1172       { 10, "call-from-c", 0, true, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1173       { 11, "canonicalize-boolean", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1174       { 12, "check-closure", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_check_mclosure_meta_instruction_parameter_types },
1175       { 13, "check-global-defined", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_check_mglobal_mdefined_meta_instruction_parameter_types },
1176       { 14, "check-in-arity", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_check_min_marity_meta_instruction_parameter_types },
1177       { 15, "check-in-arity--alt", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_check_min_marity_m_malt_meta_instruction_parameter_types },
1178       { 16, "copy-from-literal", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_copy_mfrom_mliteral_meta_instruction_parameter_types },
1179       { 17, "copy-from-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_copy_mfrom_mregister_meta_instruction_parameter_types },
1180       { 18, "copy-to-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_copy_mto_mregister_meta_instruction_parameter_types },
1181       { 19, "drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1182       { 20, "drop-nip", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1183       { 21, "dup", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1184       { 22, "exitvm", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1185       { 23, "fail", 0, false, false, false  /* FIXME: this may be wrong with replacements. */, NULL },
1186       { 24, "gc-if-needed", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_gc_mif_mneeded_meta_instruction_parameter_types },
1187       { 25, "heap-allocate", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_heap_mallocate_meta_instruction_parameter_types },
1188       { 26, "literal-to-register", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_literal_mto_mregister_meta_instruction_parameter_types },
1189       { 27, "nip", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1190       { 28, "nip-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1191       { 29, "nip-five", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1192       { 30, "nip-five-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1193       { 31, "nip-four", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1194       { 32, "nip-four-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1195       { 33, "nip-push-literal", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_nip_mpush_mliteral_meta_instruction_parameter_types },
1196       { 34, "nip-push-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_nip_mpush_mregister_meta_instruction_parameter_types },
1197       { 35, "nip-six", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1198       { 36, "nip-six-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1199       { 37, "nip-three", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1200       { 38, "nip-three-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1201       { 39, "nip-two", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1202       { 40, "nip-two-drop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1203       { 41, "nop", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1204       { 42, "pop-to-global", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_pop_mto_mglobal_meta_instruction_parameter_types },
1205       { 43, "pop-to-global-defined", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_pop_mto_mglobal_mdefined_meta_instruction_parameter_types },
1206       { 44, "pop-to-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_pop_mto_mregister_meta_instruction_parameter_types },
1207       { 45, "primitive", 3, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_meta_instruction_parameter_types },
1208       { 46, "primitive-boolean-canonicalize", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1209       { 47, "primitive-box", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1210       { 48, "primitive-box-get", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mbox_mget_meta_instruction_parameter_types },
1211       { 49, "primitive-box-setb-special", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mbox_msetb_mspecial_meta_instruction_parameter_types },
1212       { 50, "primitive-car", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mcar_meta_instruction_parameter_types },
1213       { 51, "primitive-cdr", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mcdr_meta_instruction_parameter_types },
1214       { 52, "primitive-characterp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1215       { 53, "primitive-cons-special", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1216       { 54, "primitive-consp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1217       { 55, "primitive-eqp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1218       { 56, "primitive-fixnum-eqp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mfixnum_meqp_meta_instruction_parameter_types },
1219       { 57, "primitive-fixnum-not-eqp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mfixnum_mnot_meqp_meta_instruction_parameter_types },
1220       { 58, "primitive-fixnump", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1221       { 59, "primitive-greaterp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mgreaterp_meta_instruction_parameter_types },
1222       { 60, "primitive-lessp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mlessp_meta_instruction_parameter_types },
1223       { 61, "primitive-negate", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnegate_meta_instruction_parameter_types },
1224       { 62, "primitive-negativep", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnegativep_meta_instruction_parameter_types },
1225       { 63, "primitive-non-consp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1226       { 64, "primitive-non-negativep", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnon_mnegativep_meta_instruction_parameter_types },
1227       { 65, "primitive-non-nullp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1228       { 66, "primitive-non-positivep", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnon_mpositivep_meta_instruction_parameter_types },
1229       { 67, "primitive-non-symbolp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1230       { 68, "primitive-non-zerop", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnon_mzerop_meta_instruction_parameter_types },
1231       { 69, "primitive-not", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1232       { 70, "primitive-not-eqp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1233       { 71, "primitive-not-greaterp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnot_mgreaterp_meta_instruction_parameter_types },
1234       { 72, "primitive-not-lessp", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mnot_mlessp_meta_instruction_parameter_types },
1235       { 73, "primitive-nothingp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1236       { 74, "primitive-nullp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1237       { 75, "primitive-one-minus", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mone_mminus_meta_instruction_parameter_types },
1238       { 76, "primitive-one-plus", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mone_mplus_meta_instruction_parameter_types },
1239       { 77, "primitive-positivep", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mpositivep_meta_instruction_parameter_types },
1240       { 78, "primitive-primordial-divided", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mprimordial_mdivided_meta_instruction_parameter_types },
1241       { 79, "primitive-primordial-divided-unsafe", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mprimordial_mdivided_munsafe_meta_instruction_parameter_types },
1242       { 80, "primitive-primordial-minus", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mprimordial_mminus_meta_instruction_parameter_types },
1243       { 81, "primitive-primordial-plus", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mprimordial_mplus_meta_instruction_parameter_types },
1244       { 82, "primitive-primordial-times", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mprimordial_mtimes_meta_instruction_parameter_types },
1245       { 83, "primitive-quotient", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mquotient_meta_instruction_parameter_types },
1246       { 84, "primitive-quotient-unsafe", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mquotient_munsafe_meta_instruction_parameter_types },
1247       { 85, "primitive-remainder", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mremainder_meta_instruction_parameter_types },
1248       { 86, "primitive-remainder-unsafe", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mremainder_munsafe_meta_instruction_parameter_types },
1249       { 87, "primitive-set-carb-special", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mset_mcarb_mspecial_meta_instruction_parameter_types },
1250       { 88, "primitive-set-cdrb-special", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mset_mcdrb_mspecial_meta_instruction_parameter_types },
1251       { 89, "primitive-symbolp", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1252       { 90, "primitive-two-divided", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mtwo_mdivided_meta_instruction_parameter_types },
1253       { 91, "primitive-two-quotient", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mtwo_mquotient_meta_instruction_parameter_types },
1254       { 92, "primitive-two-remainder", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mtwo_mremainder_meta_instruction_parameter_types },
1255       { 93, "primitive-two-times", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mtwo_mtimes_meta_instruction_parameter_types },
1256       { 94, "primitive-uniquep", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1257       { 95, "primitive-zerop", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_primitive_mzerop_meta_instruction_parameter_types },
1258       { 96, "procedure-prolog", 0, false, true, true /* FIXME: this may be wrong with replacements. */, NULL },
1259       { 97, "push-false", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1260       { 98, "push-global", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_push_mglobal_meta_instruction_parameter_types },
1261       { 99, "push-literal", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_push_mliteral_meta_instruction_parameter_types },
1262       { 100, "push-nil", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1263       { 101, "push-nothing", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1264       { 102, "push-one", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1265       { 103, "push-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_push_mregister_meta_instruction_parameter_types },
1266       { 104, "push-unspecified", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1267       { 105, "push-zero", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1268       { 106, "register-to-register", 2, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_register_mto_mregister_meta_instruction_parameter_types },
1269       { 107, "restore-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_restore_mregister_meta_instruction_parameter_types },
1270       { 108, "return", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL },
1271       { 109, "save-register", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_save_mregister_meta_instruction_parameter_types },
1272       { 110, "tail-call", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_tail_mcall_meta_instruction_parameter_types },
1273       { 111, "tail-call-compiled", 1, false, false, true /* FIXME: this may be wrong with replacements. */, jitterlispvm_tail_mcall_mcompiled_meta_instruction_parameter_types },
1274       { 112, "unreachable", 0, false, false, true /* FIXME: this may be wrong with replacements. */, NULL }
1275     };
1276 
1277 /* The register class descriptor for r registers. */
1278 const struct jitter_register_class
1279 jitterlispvm_register_class_r
1280   = {
1281       jitterlispvm_register_class_id_r,
1282       'r',
1283       "register_class_r",
1284       "REGISTER_CLASS_R",
1285       JITTERLISPVM_REGISTER_r_FAST_REGISTER_NO,
1286       1 /* Use slow registers */
1287     };
1288 
1289 
1290 /* A pointer to every existing register class descriptor. */
1291 const struct jitter_register_class * const
1292 jitterlispvm_regiter_classes []
1293   = {
1294       & jitterlispvm_register_class_r
1295     };
1296 
1297 const struct jitter_register_class *
jitterlispvm_register_class_character_to_register_class(char c)1298 jitterlispvm_register_class_character_to_register_class (char c)
1299 {
1300   switch (c)
1301     {
1302     case 'r': return & jitterlispvm_register_class_r;
1303     default:  return NULL;
1304     }
1305 }
1306 
1307 //#include "jitterlispvm-specialized-instructions.h"
1308 
1309 const char * const
1310 jitterlispvm_specialized_instruction_names [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
1311   = {
1312       "!INVALID",
1313       "!BEGINBASICBLOCK",
1314       "!EXITVM",
1315       "!DATALOCATIONS",
1316       "!NOP",
1317       "!UNREACHABLE0",
1318       "!UNREACHABLE1",
1319       "!UNREACHABLE2",
1320       "at-depth-to-register/n1/%rR",
1321       "at-depth-to-register/n2/%rR",
1322       "at-depth-to-register/n3/%rR",
1323       "at-depth-to-register/n4/%rR",
1324       "at-depth-to-register/n5/%rR",
1325       "at-depth-to-register/n6/%rR",
1326       "at-depth-to-register/n7/%rR",
1327       "at-depth-to-register/n8/%rR",
1328       "at-depth-to-register/n9/%rR",
1329       "at-depth-to-register/n10/%rR",
1330       "at-depth-to-register/nR/%rR",
1331       "branch/fR",
1332       "branch-if-false/fR",
1333       "branch-if-not-less/fR/fR",
1334       "branch-if-not-null/fR",
1335       "branch-if-null/fR",
1336       "branch-if-register-non-zero/%rR/fR/fR",
1337       "branch-if-true/fR",
1338       "call/n0/retR",
1339       "call/n1/retR",
1340       "call/n2/retR",
1341       "call/n3/retR",
1342       "call/n4/retR",
1343       "call/n5/retR",
1344       "call/n6/retR",
1345       "call/n7/retR",
1346       "call/n8/retR",
1347       "call/n9/retR",
1348       "call/n10/retR",
1349       "call/nR/retR",
1350       "call-compiled/n0/retR",
1351       "call-compiled/n1/retR",
1352       "call-compiled/n2/retR",
1353       "call-compiled/n3/retR",
1354       "call-compiled/n4/retR",
1355       "call-compiled/n5/retR",
1356       "call-compiled/n6/retR",
1357       "call-compiled/n7/retR",
1358       "call-compiled/n8/retR",
1359       "call-compiled/n9/retR",
1360       "call-compiled/n10/retR",
1361       "call-compiled/nR/retR",
1362       "call-from-c/retR",
1363       "canonicalize-boolean",
1364       "check-closure/fR",
1365       "check-global-defined/nR/fR",
1366       "check-in-arity/n0/fR",
1367       "check-in-arity/n1/fR",
1368       "check-in-arity/n2/fR",
1369       "check-in-arity/n3/fR",
1370       "check-in-arity/n4/fR",
1371       "check-in-arity/n5/fR",
1372       "check-in-arity/n6/fR",
1373       "check-in-arity/n7/fR",
1374       "check-in-arity/n8/fR",
1375       "check-in-arity/n9/fR",
1376       "check-in-arity/n10/fR",
1377       "check-in-arity/nR/fR",
1378       "check-in-arity--alt/n0/fR",
1379       "check-in-arity--alt/n1/fR",
1380       "check-in-arity--alt/n2/fR",
1381       "check-in-arity--alt/n3/fR",
1382       "check-in-arity--alt/n4/fR",
1383       "check-in-arity--alt/n5/fR",
1384       "check-in-arity--alt/n6/fR",
1385       "check-in-arity--alt/n7/fR",
1386       "check-in-arity--alt/n8/fR",
1387       "check-in-arity--alt/n9/fR",
1388       "check-in-arity--alt/n10/fR",
1389       "check-in-arity--alt/nR/fR",
1390       "copy-from-literal/nR",
1391       "copy-from-register/%rR",
1392       "copy-to-register/%rR",
1393       "drop",
1394       "drop-nip",
1395       "dup",
1396       "exitvm",
1397       "fail/retR",
1398       "gc-if-needed/fR",
1399       "heap-allocate/n4",
1400       "heap-allocate/n8",
1401       "heap-allocate/n12",
1402       "heap-allocate/n16",
1403       "heap-allocate/n24",
1404       "heap-allocate/n32",
1405       "heap-allocate/n36",
1406       "heap-allocate/n48",
1407       "heap-allocate/n52",
1408       "heap-allocate/n64",
1409       "heap-allocate/nR",
1410       "literal-to-register/nR/%rR",
1411       "nip",
1412       "nip-drop",
1413       "nip-five",
1414       "nip-five-drop",
1415       "nip-four",
1416       "nip-four-drop",
1417       "nip-push-literal/nR",
1418       "nip-push-register/%rR",
1419       "nip-six",
1420       "nip-six-drop",
1421       "nip-three",
1422       "nip-three-drop",
1423       "nip-two",
1424       "nip-two-drop",
1425       "nop",
1426       "pop-to-global/nR/fR",
1427       "pop-to-global-defined/nR/fR",
1428       "pop-to-register/%rR",
1429       "primitive/nR/n0/fR",
1430       "primitive/nR/n1/fR",
1431       "primitive/nR/n2/fR",
1432       "primitive/nR/n3/fR",
1433       "primitive/nR/n4/fR",
1434       "primitive/nR/nR/fR",
1435       "primitive-boolean-canonicalize",
1436       "primitive-box",
1437       "primitive-box-get/fR",
1438       "primitive-box-setb-special/fR",
1439       "primitive-car/fR",
1440       "primitive-cdr/fR",
1441       "primitive-characterp",
1442       "primitive-cons-special",
1443       "primitive-consp",
1444       "primitive-eqp",
1445       "primitive-fixnum-eqp/fR",
1446       "primitive-fixnum-not-eqp/fR",
1447       "primitive-fixnump",
1448       "primitive-greaterp/fR",
1449       "primitive-lessp/fR",
1450       "primitive-negate/fR",
1451       "primitive-negativep/fR",
1452       "primitive-non-consp",
1453       "primitive-non-negativep/fR",
1454       "primitive-non-nullp",
1455       "primitive-non-positivep/fR",
1456       "primitive-non-symbolp",
1457       "primitive-non-zerop/fR",
1458       "primitive-not",
1459       "primitive-not-eqp",
1460       "primitive-not-greaterp/fR",
1461       "primitive-not-lessp/fR",
1462       "primitive-nothingp",
1463       "primitive-nullp",
1464       "primitive-one-minus/fR",
1465       "primitive-one-plus/fR",
1466       "primitive-positivep/fR",
1467       "primitive-primordial-divided/fR",
1468       "primitive-primordial-divided-unsafe/fR",
1469       "primitive-primordial-minus/fR",
1470       "primitive-primordial-plus/fR",
1471       "primitive-primordial-times/fR",
1472       "primitive-quotient/fR",
1473       "primitive-quotient-unsafe/fR",
1474       "primitive-remainder/fR",
1475       "primitive-remainder-unsafe/fR",
1476       "primitive-set-carb-special/fR",
1477       "primitive-set-cdrb-special/fR",
1478       "primitive-symbolp",
1479       "primitive-two-divided/fR",
1480       "primitive-two-quotient/fR",
1481       "primitive-two-remainder/fR",
1482       "primitive-two-times/fR",
1483       "primitive-uniquep",
1484       "primitive-zerop/fR",
1485       "procedure-prolog",
1486       "push-false",
1487       "push-global/nR/fR",
1488       "push-literal/nR",
1489       "push-nil",
1490       "push-nothing",
1491       "push-one",
1492       "push-register/%rR",
1493       "push-unspecified",
1494       "push-zero",
1495       "register-to-register/%rR/%rR",
1496       "restore-register/%rR",
1497       "return",
1498       "save-register/%rR",
1499       "tail-call/n0",
1500       "tail-call/n1",
1501       "tail-call/n2",
1502       "tail-call/n3",
1503       "tail-call/n4",
1504       "tail-call/n5",
1505       "tail-call/n6",
1506       "tail-call/n7",
1507       "tail-call/n8",
1508       "tail-call/n9",
1509       "tail-call/n10",
1510       "tail-call/nR",
1511       "tail-call-compiled/n0",
1512       "tail-call-compiled/n1",
1513       "tail-call-compiled/n2",
1514       "tail-call-compiled/n3",
1515       "tail-call-compiled/n4",
1516       "tail-call-compiled/n5",
1517       "tail-call-compiled/n6",
1518       "tail-call-compiled/n7",
1519       "tail-call-compiled/n8",
1520       "tail-call-compiled/n9",
1521       "tail-call-compiled/n10",
1522       "tail-call-compiled/nR",
1523       "unreachable",
1524       "*branch/fR*-no-fast-branches",
1525       "*branch-if-false/fR*-no-fast-branches",
1526       "*branch-if-not-less/fR/fR*-no-fast-branches",
1527       "*branch-if-not-null/fR*-no-fast-branches",
1528       "*branch-if-null/fR*-no-fast-branches",
1529       "*branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches",
1530       "*branch-if-true/fR*-no-fast-branches",
1531       "*check-closure/fR*-no-fast-branches",
1532       "*check-global-defined/nR/fR*-no-fast-branches",
1533       "*check-in-arity/n0/fR*-no-fast-branches",
1534       "*check-in-arity/n1/fR*-no-fast-branches",
1535       "*check-in-arity/n2/fR*-no-fast-branches",
1536       "*check-in-arity/n3/fR*-no-fast-branches",
1537       "*check-in-arity/n4/fR*-no-fast-branches",
1538       "*check-in-arity/n5/fR*-no-fast-branches",
1539       "*check-in-arity/n6/fR*-no-fast-branches",
1540       "*check-in-arity/n7/fR*-no-fast-branches",
1541       "*check-in-arity/n8/fR*-no-fast-branches",
1542       "*check-in-arity/n9/fR*-no-fast-branches",
1543       "*check-in-arity/n10/fR*-no-fast-branches",
1544       "*check-in-arity/nR/fR*-no-fast-branches",
1545       "*check-in-arity--alt/n0/fR*-no-fast-branches",
1546       "*check-in-arity--alt/n1/fR*-no-fast-branches",
1547       "*check-in-arity--alt/n2/fR*-no-fast-branches",
1548       "*check-in-arity--alt/n3/fR*-no-fast-branches",
1549       "*check-in-arity--alt/n4/fR*-no-fast-branches",
1550       "*check-in-arity--alt/n5/fR*-no-fast-branches",
1551       "*check-in-arity--alt/n6/fR*-no-fast-branches",
1552       "*check-in-arity--alt/n7/fR*-no-fast-branches",
1553       "*check-in-arity--alt/n8/fR*-no-fast-branches",
1554       "*check-in-arity--alt/n9/fR*-no-fast-branches",
1555       "*check-in-arity--alt/n10/fR*-no-fast-branches",
1556       "*check-in-arity--alt/nR/fR*-no-fast-branches",
1557       "*gc-if-needed/fR*-no-fast-branches",
1558       "*pop-to-global/nR/fR*-no-fast-branches",
1559       "*pop-to-global-defined/nR/fR*-no-fast-branches",
1560       "*primitive/nR/n0/fR*-no-fast-branches",
1561       "*primitive/nR/n1/fR*-no-fast-branches",
1562       "*primitive/nR/n2/fR*-no-fast-branches",
1563       "*primitive/nR/n3/fR*-no-fast-branches",
1564       "*primitive/nR/n4/fR*-no-fast-branches",
1565       "*primitive/nR/nR/fR*-no-fast-branches",
1566       "*primitive-box-get/fR*-no-fast-branches",
1567       "*primitive-box-setb-special/fR*-no-fast-branches",
1568       "*primitive-car/fR*-no-fast-branches",
1569       "*primitive-cdr/fR*-no-fast-branches",
1570       "*primitive-fixnum-eqp/fR*-no-fast-branches",
1571       "*primitive-fixnum-not-eqp/fR*-no-fast-branches",
1572       "*primitive-greaterp/fR*-no-fast-branches",
1573       "*primitive-lessp/fR*-no-fast-branches",
1574       "*primitive-negate/fR*-no-fast-branches",
1575       "*primitive-negativep/fR*-no-fast-branches",
1576       "*primitive-non-negativep/fR*-no-fast-branches",
1577       "*primitive-non-positivep/fR*-no-fast-branches",
1578       "*primitive-non-zerop/fR*-no-fast-branches",
1579       "*primitive-not-greaterp/fR*-no-fast-branches",
1580       "*primitive-not-lessp/fR*-no-fast-branches",
1581       "*primitive-one-minus/fR*-no-fast-branches",
1582       "*primitive-one-plus/fR*-no-fast-branches",
1583       "*primitive-positivep/fR*-no-fast-branches",
1584       "*primitive-primordial-divided/fR*-no-fast-branches",
1585       "*primitive-primordial-divided-unsafe/fR*-no-fast-branches",
1586       "*primitive-primordial-minus/fR*-no-fast-branches",
1587       "*primitive-primordial-plus/fR*-no-fast-branches",
1588       "*primitive-primordial-times/fR*-no-fast-branches",
1589       "*primitive-quotient/fR*-no-fast-branches",
1590       "*primitive-quotient-unsafe/fR*-no-fast-branches",
1591       "*primitive-remainder/fR*-no-fast-branches",
1592       "*primitive-remainder-unsafe/fR*-no-fast-branches",
1593       "*primitive-set-carb-special/fR*-no-fast-branches",
1594       "*primitive-set-cdrb-special/fR*-no-fast-branches",
1595       "*primitive-two-divided/fR*-no-fast-branches",
1596       "*primitive-two-quotient/fR*-no-fast-branches",
1597       "*primitive-two-remainder/fR*-no-fast-branches",
1598       "*primitive-two-times/fR*-no-fast-branches",
1599       "*primitive-zerop/fR*-no-fast-branches",
1600       "*push-global/nR/fR*-no-fast-branches"
1601     };
1602 // #include <stdlib.h>
1603 
1604 // #include "jitterlispvm-specialized-instructions.h"
1605 const size_t
1606 jitterlispvm_specialized_instruction_residual_arities [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
1607   = {
1608       0, /* !INVALID */
1609       1, /* !BEGINBASICBLOCK */
1610       0, /* !EXITVM */
1611       0, /* !DATALOCATIONS */
1612       0, /* !NOP */
1613       0, /* !UNREACHABLE0 */
1614       0, /* !UNREACHABLE1 */
1615       0, /* !UNREACHABLE2 */
1616       1, /* at-depth-to-register/n1/%rR */
1617       1, /* at-depth-to-register/n2/%rR */
1618       1, /* at-depth-to-register/n3/%rR */
1619       1, /* at-depth-to-register/n4/%rR */
1620       1, /* at-depth-to-register/n5/%rR */
1621       1, /* at-depth-to-register/n6/%rR */
1622       1, /* at-depth-to-register/n7/%rR */
1623       1, /* at-depth-to-register/n8/%rR */
1624       1, /* at-depth-to-register/n9/%rR */
1625       1, /* at-depth-to-register/n10/%rR */
1626       2, /* at-depth-to-register/nR/%rR */
1627       1, /* branch/fR */
1628       1, /* branch-if-false/fR */
1629       2, /* branch-if-not-less/fR/fR */
1630       1, /* branch-if-not-null/fR */
1631       1, /* branch-if-null/fR */
1632       3, /* branch-if-register-non-zero/%rR/fR/fR */
1633       1, /* branch-if-true/fR */
1634       1, /* call/n0/retR */
1635       1, /* call/n1/retR */
1636       1, /* call/n2/retR */
1637       1, /* call/n3/retR */
1638       1, /* call/n4/retR */
1639       1, /* call/n5/retR */
1640       1, /* call/n6/retR */
1641       1, /* call/n7/retR */
1642       1, /* call/n8/retR */
1643       1, /* call/n9/retR */
1644       1, /* call/n10/retR */
1645       2, /* call/nR/retR */
1646       1, /* call-compiled/n0/retR */
1647       1, /* call-compiled/n1/retR */
1648       1, /* call-compiled/n2/retR */
1649       1, /* call-compiled/n3/retR */
1650       1, /* call-compiled/n4/retR */
1651       1, /* call-compiled/n5/retR */
1652       1, /* call-compiled/n6/retR */
1653       1, /* call-compiled/n7/retR */
1654       1, /* call-compiled/n8/retR */
1655       1, /* call-compiled/n9/retR */
1656       1, /* call-compiled/n10/retR */
1657       2, /* call-compiled/nR/retR */
1658       1, /* call-from-c/retR */
1659       0, /* canonicalize-boolean */
1660       1, /* check-closure/fR */
1661       2, /* check-global-defined/nR/fR */
1662       1, /* check-in-arity/n0/fR */
1663       1, /* check-in-arity/n1/fR */
1664       1, /* check-in-arity/n2/fR */
1665       1, /* check-in-arity/n3/fR */
1666       1, /* check-in-arity/n4/fR */
1667       1, /* check-in-arity/n5/fR */
1668       1, /* check-in-arity/n6/fR */
1669       1, /* check-in-arity/n7/fR */
1670       1, /* check-in-arity/n8/fR */
1671       1, /* check-in-arity/n9/fR */
1672       1, /* check-in-arity/n10/fR */
1673       2, /* check-in-arity/nR/fR */
1674       1, /* check-in-arity--alt/n0/fR */
1675       1, /* check-in-arity--alt/n1/fR */
1676       1, /* check-in-arity--alt/n2/fR */
1677       1, /* check-in-arity--alt/n3/fR */
1678       1, /* check-in-arity--alt/n4/fR */
1679       1, /* check-in-arity--alt/n5/fR */
1680       1, /* check-in-arity--alt/n6/fR */
1681       1, /* check-in-arity--alt/n7/fR */
1682       1, /* check-in-arity--alt/n8/fR */
1683       1, /* check-in-arity--alt/n9/fR */
1684       1, /* check-in-arity--alt/n10/fR */
1685       2, /* check-in-arity--alt/nR/fR */
1686       1, /* copy-from-literal/nR */
1687       1, /* copy-from-register/%rR */
1688       1, /* copy-to-register/%rR */
1689       0, /* drop */
1690       0, /* drop-nip */
1691       0, /* dup */
1692       0, /* exitvm */
1693       1, /* fail/retR */
1694       1, /* gc-if-needed/fR */
1695       0, /* heap-allocate/n4 */
1696       0, /* heap-allocate/n8 */
1697       0, /* heap-allocate/n12 */
1698       0, /* heap-allocate/n16 */
1699       0, /* heap-allocate/n24 */
1700       0, /* heap-allocate/n32 */
1701       0, /* heap-allocate/n36 */
1702       0, /* heap-allocate/n48 */
1703       0, /* heap-allocate/n52 */
1704       0, /* heap-allocate/n64 */
1705       1, /* heap-allocate/nR */
1706       2, /* literal-to-register/nR/%rR */
1707       0, /* nip */
1708       0, /* nip-drop */
1709       0, /* nip-five */
1710       0, /* nip-five-drop */
1711       0, /* nip-four */
1712       0, /* nip-four-drop */
1713       1, /* nip-push-literal/nR */
1714       1, /* nip-push-register/%rR */
1715       0, /* nip-six */
1716       0, /* nip-six-drop */
1717       0, /* nip-three */
1718       0, /* nip-three-drop */
1719       0, /* nip-two */
1720       0, /* nip-two-drop */
1721       0, /* nop */
1722       2, /* pop-to-global/nR/fR */
1723       2, /* pop-to-global-defined/nR/fR */
1724       1, /* pop-to-register/%rR */
1725       2, /* primitive/nR/n0/fR */
1726       2, /* primitive/nR/n1/fR */
1727       2, /* primitive/nR/n2/fR */
1728       2, /* primitive/nR/n3/fR */
1729       2, /* primitive/nR/n4/fR */
1730       3, /* primitive/nR/nR/fR */
1731       0, /* primitive-boolean-canonicalize */
1732       0, /* primitive-box */
1733       1, /* primitive-box-get/fR */
1734       1, /* primitive-box-setb-special/fR */
1735       1, /* primitive-car/fR */
1736       1, /* primitive-cdr/fR */
1737       0, /* primitive-characterp */
1738       0, /* primitive-cons-special */
1739       0, /* primitive-consp */
1740       0, /* primitive-eqp */
1741       1, /* primitive-fixnum-eqp/fR */
1742       1, /* primitive-fixnum-not-eqp/fR */
1743       0, /* primitive-fixnump */
1744       1, /* primitive-greaterp/fR */
1745       1, /* primitive-lessp/fR */
1746       1, /* primitive-negate/fR */
1747       1, /* primitive-negativep/fR */
1748       0, /* primitive-non-consp */
1749       1, /* primitive-non-negativep/fR */
1750       0, /* primitive-non-nullp */
1751       1, /* primitive-non-positivep/fR */
1752       0, /* primitive-non-symbolp */
1753       1, /* primitive-non-zerop/fR */
1754       0, /* primitive-not */
1755       0, /* primitive-not-eqp */
1756       1, /* primitive-not-greaterp/fR */
1757       1, /* primitive-not-lessp/fR */
1758       0, /* primitive-nothingp */
1759       0, /* primitive-nullp */
1760       1, /* primitive-one-minus/fR */
1761       1, /* primitive-one-plus/fR */
1762       1, /* primitive-positivep/fR */
1763       1, /* primitive-primordial-divided/fR */
1764       1, /* primitive-primordial-divided-unsafe/fR */
1765       1, /* primitive-primordial-minus/fR */
1766       1, /* primitive-primordial-plus/fR */
1767       1, /* primitive-primordial-times/fR */
1768       1, /* primitive-quotient/fR */
1769       1, /* primitive-quotient-unsafe/fR */
1770       1, /* primitive-remainder/fR */
1771       1, /* primitive-remainder-unsafe/fR */
1772       1, /* primitive-set-carb-special/fR */
1773       1, /* primitive-set-cdrb-special/fR */
1774       0, /* primitive-symbolp */
1775       1, /* primitive-two-divided/fR */
1776       1, /* primitive-two-quotient/fR */
1777       1, /* primitive-two-remainder/fR */
1778       1, /* primitive-two-times/fR */
1779       0, /* primitive-uniquep */
1780       1, /* primitive-zerop/fR */
1781       0, /* procedure-prolog */
1782       0, /* push-false */
1783       2, /* push-global/nR/fR */
1784       1, /* push-literal/nR */
1785       0, /* push-nil */
1786       0, /* push-nothing */
1787       0, /* push-one */
1788       1, /* push-register/%rR */
1789       0, /* push-unspecified */
1790       0, /* push-zero */
1791       2, /* register-to-register/%rR/%rR */
1792       1, /* restore-register/%rR */
1793       0, /* return */
1794       1, /* save-register/%rR */
1795       0, /* tail-call/n0 */
1796       0, /* tail-call/n1 */
1797       0, /* tail-call/n2 */
1798       0, /* tail-call/n3 */
1799       0, /* tail-call/n4 */
1800       0, /* tail-call/n5 */
1801       0, /* tail-call/n6 */
1802       0, /* tail-call/n7 */
1803       0, /* tail-call/n8 */
1804       0, /* tail-call/n9 */
1805       0, /* tail-call/n10 */
1806       1, /* tail-call/nR */
1807       0, /* tail-call-compiled/n0 */
1808       0, /* tail-call-compiled/n1 */
1809       0, /* tail-call-compiled/n2 */
1810       0, /* tail-call-compiled/n3 */
1811       0, /* tail-call-compiled/n4 */
1812       0, /* tail-call-compiled/n5 */
1813       0, /* tail-call-compiled/n6 */
1814       0, /* tail-call-compiled/n7 */
1815       0, /* tail-call-compiled/n8 */
1816       0, /* tail-call-compiled/n9 */
1817       0, /* tail-call-compiled/n10 */
1818       1, /* tail-call-compiled/nR */
1819       0, /* unreachable */
1820       1, /* *branch/fR*-no-fast-branches */
1821       1, /* *branch-if-false/fR*-no-fast-branches */
1822       2, /* *branch-if-not-less/fR/fR*-no-fast-branches */
1823       1, /* *branch-if-not-null/fR*-no-fast-branches */
1824       1, /* *branch-if-null/fR*-no-fast-branches */
1825       3, /* *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches */
1826       1, /* *branch-if-true/fR*-no-fast-branches */
1827       1, /* *check-closure/fR*-no-fast-branches */
1828       2, /* *check-global-defined/nR/fR*-no-fast-branches */
1829       1, /* *check-in-arity/n0/fR*-no-fast-branches */
1830       1, /* *check-in-arity/n1/fR*-no-fast-branches */
1831       1, /* *check-in-arity/n2/fR*-no-fast-branches */
1832       1, /* *check-in-arity/n3/fR*-no-fast-branches */
1833       1, /* *check-in-arity/n4/fR*-no-fast-branches */
1834       1, /* *check-in-arity/n5/fR*-no-fast-branches */
1835       1, /* *check-in-arity/n6/fR*-no-fast-branches */
1836       1, /* *check-in-arity/n7/fR*-no-fast-branches */
1837       1, /* *check-in-arity/n8/fR*-no-fast-branches */
1838       1, /* *check-in-arity/n9/fR*-no-fast-branches */
1839       1, /* *check-in-arity/n10/fR*-no-fast-branches */
1840       2, /* *check-in-arity/nR/fR*-no-fast-branches */
1841       1, /* *check-in-arity--alt/n0/fR*-no-fast-branches */
1842       1, /* *check-in-arity--alt/n1/fR*-no-fast-branches */
1843       1, /* *check-in-arity--alt/n2/fR*-no-fast-branches */
1844       1, /* *check-in-arity--alt/n3/fR*-no-fast-branches */
1845       1, /* *check-in-arity--alt/n4/fR*-no-fast-branches */
1846       1, /* *check-in-arity--alt/n5/fR*-no-fast-branches */
1847       1, /* *check-in-arity--alt/n6/fR*-no-fast-branches */
1848       1, /* *check-in-arity--alt/n7/fR*-no-fast-branches */
1849       1, /* *check-in-arity--alt/n8/fR*-no-fast-branches */
1850       1, /* *check-in-arity--alt/n9/fR*-no-fast-branches */
1851       1, /* *check-in-arity--alt/n10/fR*-no-fast-branches */
1852       2, /* *check-in-arity--alt/nR/fR*-no-fast-branches */
1853       1, /* *gc-if-needed/fR*-no-fast-branches */
1854       2, /* *pop-to-global/nR/fR*-no-fast-branches */
1855       2, /* *pop-to-global-defined/nR/fR*-no-fast-branches */
1856       2, /* *primitive/nR/n0/fR*-no-fast-branches */
1857       2, /* *primitive/nR/n1/fR*-no-fast-branches */
1858       2, /* *primitive/nR/n2/fR*-no-fast-branches */
1859       2, /* *primitive/nR/n3/fR*-no-fast-branches */
1860       2, /* *primitive/nR/n4/fR*-no-fast-branches */
1861       3, /* *primitive/nR/nR/fR*-no-fast-branches */
1862       1, /* *primitive-box-get/fR*-no-fast-branches */
1863       1, /* *primitive-box-setb-special/fR*-no-fast-branches */
1864       1, /* *primitive-car/fR*-no-fast-branches */
1865       1, /* *primitive-cdr/fR*-no-fast-branches */
1866       1, /* *primitive-fixnum-eqp/fR*-no-fast-branches */
1867       1, /* *primitive-fixnum-not-eqp/fR*-no-fast-branches */
1868       1, /* *primitive-greaterp/fR*-no-fast-branches */
1869       1, /* *primitive-lessp/fR*-no-fast-branches */
1870       1, /* *primitive-negate/fR*-no-fast-branches */
1871       1, /* *primitive-negativep/fR*-no-fast-branches */
1872       1, /* *primitive-non-negativep/fR*-no-fast-branches */
1873       1, /* *primitive-non-positivep/fR*-no-fast-branches */
1874       1, /* *primitive-non-zerop/fR*-no-fast-branches */
1875       1, /* *primitive-not-greaterp/fR*-no-fast-branches */
1876       1, /* *primitive-not-lessp/fR*-no-fast-branches */
1877       1, /* *primitive-one-minus/fR*-no-fast-branches */
1878       1, /* *primitive-one-plus/fR*-no-fast-branches */
1879       1, /* *primitive-positivep/fR*-no-fast-branches */
1880       1, /* *primitive-primordial-divided/fR*-no-fast-branches */
1881       1, /* *primitive-primordial-divided-unsafe/fR*-no-fast-branches */
1882       1, /* *primitive-primordial-minus/fR*-no-fast-branches */
1883       1, /* *primitive-primordial-plus/fR*-no-fast-branches */
1884       1, /* *primitive-primordial-times/fR*-no-fast-branches */
1885       1, /* *primitive-quotient/fR*-no-fast-branches */
1886       1, /* *primitive-quotient-unsafe/fR*-no-fast-branches */
1887       1, /* *primitive-remainder/fR*-no-fast-branches */
1888       1, /* *primitive-remainder-unsafe/fR*-no-fast-branches */
1889       1, /* *primitive-set-carb-special/fR*-no-fast-branches */
1890       1, /* *primitive-set-cdrb-special/fR*-no-fast-branches */
1891       1, /* *primitive-two-divided/fR*-no-fast-branches */
1892       1, /* *primitive-two-quotient/fR*-no-fast-branches */
1893       1, /* *primitive-two-remainder/fR*-no-fast-branches */
1894       1, /* *primitive-two-times/fR*-no-fast-branches */
1895       1, /* *primitive-zerop/fR*-no-fast-branches */
1896       2 /* *push-global/nR/fR*-no-fast-branches */
1897     };
1898 const unsigned long // FIXME: shall I use a shorter type when possible?
1899 jitterlispvm_specialized_instruction_label_bitmasks [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
1900   = {
1901       /* It's important that !BEGINBASICBLOCK has a zero here: it does not need residual patching. */
1902       0, /* !INVALID */
1903       0, /* !BEGINBASICBLOCK */
1904       0, /* !EXITVM */
1905       0, /* !DATALOCATIONS */
1906       0, /* !NOP */
1907       0, /* !UNREACHABLE0 */
1908       0, /* !UNREACHABLE1 */
1909       0, /* !UNREACHABLE2 */
1910       0, /* at-depth-to-register/n1/%rR */
1911       0, /* at-depth-to-register/n2/%rR */
1912       0, /* at-depth-to-register/n3/%rR */
1913       0, /* at-depth-to-register/n4/%rR */
1914       0, /* at-depth-to-register/n5/%rR */
1915       0, /* at-depth-to-register/n6/%rR */
1916       0, /* at-depth-to-register/n7/%rR */
1917       0, /* at-depth-to-register/n8/%rR */
1918       0, /* at-depth-to-register/n9/%rR */
1919       0, /* at-depth-to-register/n10/%rR */
1920       0, /* at-depth-to-register/nR/%rR */
1921       0 | (1UL << 0), /* branch/fR */
1922       0 | (1UL << 0), /* branch-if-false/fR */
1923       0 | (1UL << 0) | (1UL << 1), /* branch-if-not-less/fR/fR */
1924       0 | (1UL << 0), /* branch-if-not-null/fR */
1925       0 | (1UL << 0), /* branch-if-null/fR */
1926       0 | (1UL << 1) | (1UL << 2), /* branch-if-register-non-zero/%rR/fR/fR */
1927       0 | (1UL << 0), /* branch-if-true/fR */
1928       0, /* call/n0/retR */
1929       0, /* call/n1/retR */
1930       0, /* call/n2/retR */
1931       0, /* call/n3/retR */
1932       0, /* call/n4/retR */
1933       0, /* call/n5/retR */
1934       0, /* call/n6/retR */
1935       0, /* call/n7/retR */
1936       0, /* call/n8/retR */
1937       0, /* call/n9/retR */
1938       0, /* call/n10/retR */
1939       0, /* call/nR/retR */
1940       0, /* call-compiled/n0/retR */
1941       0, /* call-compiled/n1/retR */
1942       0, /* call-compiled/n2/retR */
1943       0, /* call-compiled/n3/retR */
1944       0, /* call-compiled/n4/retR */
1945       0, /* call-compiled/n5/retR */
1946       0, /* call-compiled/n6/retR */
1947       0, /* call-compiled/n7/retR */
1948       0, /* call-compiled/n8/retR */
1949       0, /* call-compiled/n9/retR */
1950       0, /* call-compiled/n10/retR */
1951       0, /* call-compiled/nR/retR */
1952       0, /* call-from-c/retR */
1953       0, /* canonicalize-boolean */
1954       0 | (1UL << 0), /* check-closure/fR */
1955       0 | (1UL << 1), /* check-global-defined/nR/fR */
1956       0 | (1UL << 0), /* check-in-arity/n0/fR */
1957       0 | (1UL << 0), /* check-in-arity/n1/fR */
1958       0 | (1UL << 0), /* check-in-arity/n2/fR */
1959       0 | (1UL << 0), /* check-in-arity/n3/fR */
1960       0 | (1UL << 0), /* check-in-arity/n4/fR */
1961       0 | (1UL << 0), /* check-in-arity/n5/fR */
1962       0 | (1UL << 0), /* check-in-arity/n6/fR */
1963       0 | (1UL << 0), /* check-in-arity/n7/fR */
1964       0 | (1UL << 0), /* check-in-arity/n8/fR */
1965       0 | (1UL << 0), /* check-in-arity/n9/fR */
1966       0 | (1UL << 0), /* check-in-arity/n10/fR */
1967       0 | (1UL << 1), /* check-in-arity/nR/fR */
1968       0 | (1UL << 0), /* check-in-arity--alt/n0/fR */
1969       0 | (1UL << 0), /* check-in-arity--alt/n1/fR */
1970       0 | (1UL << 0), /* check-in-arity--alt/n2/fR */
1971       0 | (1UL << 0), /* check-in-arity--alt/n3/fR */
1972       0 | (1UL << 0), /* check-in-arity--alt/n4/fR */
1973       0 | (1UL << 0), /* check-in-arity--alt/n5/fR */
1974       0 | (1UL << 0), /* check-in-arity--alt/n6/fR */
1975       0 | (1UL << 0), /* check-in-arity--alt/n7/fR */
1976       0 | (1UL << 0), /* check-in-arity--alt/n8/fR */
1977       0 | (1UL << 0), /* check-in-arity--alt/n9/fR */
1978       0 | (1UL << 0), /* check-in-arity--alt/n10/fR */
1979       0 | (1UL << 1), /* check-in-arity--alt/nR/fR */
1980       0, /* copy-from-literal/nR */
1981       0, /* copy-from-register/%rR */
1982       0, /* copy-to-register/%rR */
1983       0, /* drop */
1984       0, /* drop-nip */
1985       0, /* dup */
1986       0, /* exitvm */
1987       0, /* fail/retR */
1988       0 | (1UL << 0), /* gc-if-needed/fR */
1989       0, /* heap-allocate/n4 */
1990       0, /* heap-allocate/n8 */
1991       0, /* heap-allocate/n12 */
1992       0, /* heap-allocate/n16 */
1993       0, /* heap-allocate/n24 */
1994       0, /* heap-allocate/n32 */
1995       0, /* heap-allocate/n36 */
1996       0, /* heap-allocate/n48 */
1997       0, /* heap-allocate/n52 */
1998       0, /* heap-allocate/n64 */
1999       0, /* heap-allocate/nR */
2000       0, /* literal-to-register/nR/%rR */
2001       0, /* nip */
2002       0, /* nip-drop */
2003       0, /* nip-five */
2004       0, /* nip-five-drop */
2005       0, /* nip-four */
2006       0, /* nip-four-drop */
2007       0, /* nip-push-literal/nR */
2008       0, /* nip-push-register/%rR */
2009       0, /* nip-six */
2010       0, /* nip-six-drop */
2011       0, /* nip-three */
2012       0, /* nip-three-drop */
2013       0, /* nip-two */
2014       0, /* nip-two-drop */
2015       0, /* nop */
2016       0 | (1UL << 1), /* pop-to-global/nR/fR */
2017       0 | (1UL << 1), /* pop-to-global-defined/nR/fR */
2018       0, /* pop-to-register/%rR */
2019       0 | (1UL << 1), /* primitive/nR/n0/fR */
2020       0 | (1UL << 1), /* primitive/nR/n1/fR */
2021       0 | (1UL << 1), /* primitive/nR/n2/fR */
2022       0 | (1UL << 1), /* primitive/nR/n3/fR */
2023       0 | (1UL << 1), /* primitive/nR/n4/fR */
2024       0 | (1UL << 2), /* primitive/nR/nR/fR */
2025       0, /* primitive-boolean-canonicalize */
2026       0, /* primitive-box */
2027       0 | (1UL << 0), /* primitive-box-get/fR */
2028       0 | (1UL << 0), /* primitive-box-setb-special/fR */
2029       0 | (1UL << 0), /* primitive-car/fR */
2030       0 | (1UL << 0), /* primitive-cdr/fR */
2031       0, /* primitive-characterp */
2032       0, /* primitive-cons-special */
2033       0, /* primitive-consp */
2034       0, /* primitive-eqp */
2035       0 | (1UL << 0), /* primitive-fixnum-eqp/fR */
2036       0 | (1UL << 0), /* primitive-fixnum-not-eqp/fR */
2037       0, /* primitive-fixnump */
2038       0 | (1UL << 0), /* primitive-greaterp/fR */
2039       0 | (1UL << 0), /* primitive-lessp/fR */
2040       0 | (1UL << 0), /* primitive-negate/fR */
2041       0 | (1UL << 0), /* primitive-negativep/fR */
2042       0, /* primitive-non-consp */
2043       0 | (1UL << 0), /* primitive-non-negativep/fR */
2044       0, /* primitive-non-nullp */
2045       0 | (1UL << 0), /* primitive-non-positivep/fR */
2046       0, /* primitive-non-symbolp */
2047       0 | (1UL << 0), /* primitive-non-zerop/fR */
2048       0, /* primitive-not */
2049       0, /* primitive-not-eqp */
2050       0 | (1UL << 0), /* primitive-not-greaterp/fR */
2051       0 | (1UL << 0), /* primitive-not-lessp/fR */
2052       0, /* primitive-nothingp */
2053       0, /* primitive-nullp */
2054       0 | (1UL << 0), /* primitive-one-minus/fR */
2055       0 | (1UL << 0), /* primitive-one-plus/fR */
2056       0 | (1UL << 0), /* primitive-positivep/fR */
2057       0 | (1UL << 0), /* primitive-primordial-divided/fR */
2058       0 | (1UL << 0), /* primitive-primordial-divided-unsafe/fR */
2059       0 | (1UL << 0), /* primitive-primordial-minus/fR */
2060       0 | (1UL << 0), /* primitive-primordial-plus/fR */
2061       0 | (1UL << 0), /* primitive-primordial-times/fR */
2062       0 | (1UL << 0), /* primitive-quotient/fR */
2063       0 | (1UL << 0), /* primitive-quotient-unsafe/fR */
2064       0 | (1UL << 0), /* primitive-remainder/fR */
2065       0 | (1UL << 0), /* primitive-remainder-unsafe/fR */
2066       0 | (1UL << 0), /* primitive-set-carb-special/fR */
2067       0 | (1UL << 0), /* primitive-set-cdrb-special/fR */
2068       0, /* primitive-symbolp */
2069       0 | (1UL << 0), /* primitive-two-divided/fR */
2070       0 | (1UL << 0), /* primitive-two-quotient/fR */
2071       0 | (1UL << 0), /* primitive-two-remainder/fR */
2072       0 | (1UL << 0), /* primitive-two-times/fR */
2073       0, /* primitive-uniquep */
2074       0 | (1UL << 0), /* primitive-zerop/fR */
2075       0, /* procedure-prolog */
2076       0, /* push-false */
2077       0 | (1UL << 1), /* push-global/nR/fR */
2078       0, /* push-literal/nR */
2079       0, /* push-nil */
2080       0, /* push-nothing */
2081       0, /* push-one */
2082       0, /* push-register/%rR */
2083       0, /* push-unspecified */
2084       0, /* push-zero */
2085       0, /* register-to-register/%rR/%rR */
2086       0, /* restore-register/%rR */
2087       0, /* return */
2088       0, /* save-register/%rR */
2089       0, /* tail-call/n0 */
2090       0, /* tail-call/n1 */
2091       0, /* tail-call/n2 */
2092       0, /* tail-call/n3 */
2093       0, /* tail-call/n4 */
2094       0, /* tail-call/n5 */
2095       0, /* tail-call/n6 */
2096       0, /* tail-call/n7 */
2097       0, /* tail-call/n8 */
2098       0, /* tail-call/n9 */
2099       0, /* tail-call/n10 */
2100       0, /* tail-call/nR */
2101       0, /* tail-call-compiled/n0 */
2102       0, /* tail-call-compiled/n1 */
2103       0, /* tail-call-compiled/n2 */
2104       0, /* tail-call-compiled/n3 */
2105       0, /* tail-call-compiled/n4 */
2106       0, /* tail-call-compiled/n5 */
2107       0, /* tail-call-compiled/n6 */
2108       0, /* tail-call-compiled/n7 */
2109       0, /* tail-call-compiled/n8 */
2110       0, /* tail-call-compiled/n9 */
2111       0, /* tail-call-compiled/n10 */
2112       0, /* tail-call-compiled/nR */
2113       0, /* unreachable */
2114       0 | (1UL << 0), /* *branch/fR*-no-fast-branches */
2115       0 | (1UL << 0), /* *branch-if-false/fR*-no-fast-branches */
2116       0 | (1UL << 0) | (1UL << 1), /* *branch-if-not-less/fR/fR*-no-fast-branches */
2117       0 | (1UL << 0), /* *branch-if-not-null/fR*-no-fast-branches */
2118       0 | (1UL << 0), /* *branch-if-null/fR*-no-fast-branches */
2119       0 | (1UL << 1) | (1UL << 2), /* *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches */
2120       0 | (1UL << 0), /* *branch-if-true/fR*-no-fast-branches */
2121       0 | (1UL << 0), /* *check-closure/fR*-no-fast-branches */
2122       0 | (1UL << 1), /* *check-global-defined/nR/fR*-no-fast-branches */
2123       0 | (1UL << 0), /* *check-in-arity/n0/fR*-no-fast-branches */
2124       0 | (1UL << 0), /* *check-in-arity/n1/fR*-no-fast-branches */
2125       0 | (1UL << 0), /* *check-in-arity/n2/fR*-no-fast-branches */
2126       0 | (1UL << 0), /* *check-in-arity/n3/fR*-no-fast-branches */
2127       0 | (1UL << 0), /* *check-in-arity/n4/fR*-no-fast-branches */
2128       0 | (1UL << 0), /* *check-in-arity/n5/fR*-no-fast-branches */
2129       0 | (1UL << 0), /* *check-in-arity/n6/fR*-no-fast-branches */
2130       0 | (1UL << 0), /* *check-in-arity/n7/fR*-no-fast-branches */
2131       0 | (1UL << 0), /* *check-in-arity/n8/fR*-no-fast-branches */
2132       0 | (1UL << 0), /* *check-in-arity/n9/fR*-no-fast-branches */
2133       0 | (1UL << 0), /* *check-in-arity/n10/fR*-no-fast-branches */
2134       0 | (1UL << 1), /* *check-in-arity/nR/fR*-no-fast-branches */
2135       0 | (1UL << 0), /* *check-in-arity--alt/n0/fR*-no-fast-branches */
2136       0 | (1UL << 0), /* *check-in-arity--alt/n1/fR*-no-fast-branches */
2137       0 | (1UL << 0), /* *check-in-arity--alt/n2/fR*-no-fast-branches */
2138       0 | (1UL << 0), /* *check-in-arity--alt/n3/fR*-no-fast-branches */
2139       0 | (1UL << 0), /* *check-in-arity--alt/n4/fR*-no-fast-branches */
2140       0 | (1UL << 0), /* *check-in-arity--alt/n5/fR*-no-fast-branches */
2141       0 | (1UL << 0), /* *check-in-arity--alt/n6/fR*-no-fast-branches */
2142       0 | (1UL << 0), /* *check-in-arity--alt/n7/fR*-no-fast-branches */
2143       0 | (1UL << 0), /* *check-in-arity--alt/n8/fR*-no-fast-branches */
2144       0 | (1UL << 0), /* *check-in-arity--alt/n9/fR*-no-fast-branches */
2145       0 | (1UL << 0), /* *check-in-arity--alt/n10/fR*-no-fast-branches */
2146       0 | (1UL << 1), /* *check-in-arity--alt/nR/fR*-no-fast-branches */
2147       0 | (1UL << 0), /* *gc-if-needed/fR*-no-fast-branches */
2148       0 | (1UL << 1), /* *pop-to-global/nR/fR*-no-fast-branches */
2149       0 | (1UL << 1), /* *pop-to-global-defined/nR/fR*-no-fast-branches */
2150       0 | (1UL << 1), /* *primitive/nR/n0/fR*-no-fast-branches */
2151       0 | (1UL << 1), /* *primitive/nR/n1/fR*-no-fast-branches */
2152       0 | (1UL << 1), /* *primitive/nR/n2/fR*-no-fast-branches */
2153       0 | (1UL << 1), /* *primitive/nR/n3/fR*-no-fast-branches */
2154       0 | (1UL << 1), /* *primitive/nR/n4/fR*-no-fast-branches */
2155       0 | (1UL << 2), /* *primitive/nR/nR/fR*-no-fast-branches */
2156       0 | (1UL << 0), /* *primitive-box-get/fR*-no-fast-branches */
2157       0 | (1UL << 0), /* *primitive-box-setb-special/fR*-no-fast-branches */
2158       0 | (1UL << 0), /* *primitive-car/fR*-no-fast-branches */
2159       0 | (1UL << 0), /* *primitive-cdr/fR*-no-fast-branches */
2160       0 | (1UL << 0), /* *primitive-fixnum-eqp/fR*-no-fast-branches */
2161       0 | (1UL << 0), /* *primitive-fixnum-not-eqp/fR*-no-fast-branches */
2162       0 | (1UL << 0), /* *primitive-greaterp/fR*-no-fast-branches */
2163       0 | (1UL << 0), /* *primitive-lessp/fR*-no-fast-branches */
2164       0 | (1UL << 0), /* *primitive-negate/fR*-no-fast-branches */
2165       0 | (1UL << 0), /* *primitive-negativep/fR*-no-fast-branches */
2166       0 | (1UL << 0), /* *primitive-non-negativep/fR*-no-fast-branches */
2167       0 | (1UL << 0), /* *primitive-non-positivep/fR*-no-fast-branches */
2168       0 | (1UL << 0), /* *primitive-non-zerop/fR*-no-fast-branches */
2169       0 | (1UL << 0), /* *primitive-not-greaterp/fR*-no-fast-branches */
2170       0 | (1UL << 0), /* *primitive-not-lessp/fR*-no-fast-branches */
2171       0 | (1UL << 0), /* *primitive-one-minus/fR*-no-fast-branches */
2172       0 | (1UL << 0), /* *primitive-one-plus/fR*-no-fast-branches */
2173       0 | (1UL << 0), /* *primitive-positivep/fR*-no-fast-branches */
2174       0 | (1UL << 0), /* *primitive-primordial-divided/fR*-no-fast-branches */
2175       0 | (1UL << 0), /* *primitive-primordial-divided-unsafe/fR*-no-fast-branches */
2176       0 | (1UL << 0), /* *primitive-primordial-minus/fR*-no-fast-branches */
2177       0 | (1UL << 0), /* *primitive-primordial-plus/fR*-no-fast-branches */
2178       0 | (1UL << 0), /* *primitive-primordial-times/fR*-no-fast-branches */
2179       0 | (1UL << 0), /* *primitive-quotient/fR*-no-fast-branches */
2180       0 | (1UL << 0), /* *primitive-quotient-unsafe/fR*-no-fast-branches */
2181       0 | (1UL << 0), /* *primitive-remainder/fR*-no-fast-branches */
2182       0 | (1UL << 0), /* *primitive-remainder-unsafe/fR*-no-fast-branches */
2183       0 | (1UL << 0), /* *primitive-set-carb-special/fR*-no-fast-branches */
2184       0 | (1UL << 0), /* *primitive-set-cdrb-special/fR*-no-fast-branches */
2185       0 | (1UL << 0), /* *primitive-two-divided/fR*-no-fast-branches */
2186       0 | (1UL << 0), /* *primitive-two-quotient/fR*-no-fast-branches */
2187       0 | (1UL << 0), /* *primitive-two-remainder/fR*-no-fast-branches */
2188       0 | (1UL << 0), /* *primitive-two-times/fR*-no-fast-branches */
2189       0 | (1UL << 0), /* *primitive-zerop/fR*-no-fast-branches */
2190       0 | (1UL << 1) /* *push-global/nR/fR*-no-fast-branches */
2191     };
2192 #ifdef JITTER_HAVE_PATCH_IN
2193 const unsigned long // FIXME: shall I use a shorter type when possible?
2194 jitterlispvm_specialized_instruction_fast_label_bitmasks [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
2195   = {
2196       /* It's important that !BEGINBASICBLOCK has a zero here: it does not need residual patching. */
2197       0, /* !INVALID */
2198       0, /* !BEGINBASICBLOCK */
2199       0, /* !EXITVM */
2200       0, /* !DATALOCATIONS */
2201       0, /* !NOP */
2202       0, /* !UNREACHABLE0 */
2203       0, /* !UNREACHABLE1 */
2204       0, /* !UNREACHABLE2 */
2205       0, /* at-depth-to-register/n1/%rR */
2206       0, /* at-depth-to-register/n2/%rR */
2207       0, /* at-depth-to-register/n3/%rR */
2208       0, /* at-depth-to-register/n4/%rR */
2209       0, /* at-depth-to-register/n5/%rR */
2210       0, /* at-depth-to-register/n6/%rR */
2211       0, /* at-depth-to-register/n7/%rR */
2212       0, /* at-depth-to-register/n8/%rR */
2213       0, /* at-depth-to-register/n9/%rR */
2214       0, /* at-depth-to-register/n10/%rR */
2215       0, /* at-depth-to-register/nR/%rR */
2216       0 | (1UL << 0), /* branch/fR */
2217       0 | (1UL << 0), /* branch-if-false/fR */
2218       0 | (1UL << 0) | (1UL << 1), /* branch-if-not-less/fR/fR */
2219       0 | (1UL << 0), /* branch-if-not-null/fR */
2220       0 | (1UL << 0), /* branch-if-null/fR */
2221       0 | (1UL << 1) | (1UL << 2), /* branch-if-register-non-zero/%rR/fR/fR */
2222       0 | (1UL << 0), /* branch-if-true/fR */
2223       0, /* call/n0/retR */
2224       0, /* call/n1/retR */
2225       0, /* call/n2/retR */
2226       0, /* call/n3/retR */
2227       0, /* call/n4/retR */
2228       0, /* call/n5/retR */
2229       0, /* call/n6/retR */
2230       0, /* call/n7/retR */
2231       0, /* call/n8/retR */
2232       0, /* call/n9/retR */
2233       0, /* call/n10/retR */
2234       0, /* call/nR/retR */
2235       0, /* call-compiled/n0/retR */
2236       0, /* call-compiled/n1/retR */
2237       0, /* call-compiled/n2/retR */
2238       0, /* call-compiled/n3/retR */
2239       0, /* call-compiled/n4/retR */
2240       0, /* call-compiled/n5/retR */
2241       0, /* call-compiled/n6/retR */
2242       0, /* call-compiled/n7/retR */
2243       0, /* call-compiled/n8/retR */
2244       0, /* call-compiled/n9/retR */
2245       0, /* call-compiled/n10/retR */
2246       0, /* call-compiled/nR/retR */
2247       0, /* call-from-c/retR */
2248       0, /* canonicalize-boolean */
2249       0 | (1UL << 0), /* check-closure/fR */
2250       0 | (1UL << 1), /* check-global-defined/nR/fR */
2251       0 | (1UL << 0), /* check-in-arity/n0/fR */
2252       0 | (1UL << 0), /* check-in-arity/n1/fR */
2253       0 | (1UL << 0), /* check-in-arity/n2/fR */
2254       0 | (1UL << 0), /* check-in-arity/n3/fR */
2255       0 | (1UL << 0), /* check-in-arity/n4/fR */
2256       0 | (1UL << 0), /* check-in-arity/n5/fR */
2257       0 | (1UL << 0), /* check-in-arity/n6/fR */
2258       0 | (1UL << 0), /* check-in-arity/n7/fR */
2259       0 | (1UL << 0), /* check-in-arity/n8/fR */
2260       0 | (1UL << 0), /* check-in-arity/n9/fR */
2261       0 | (1UL << 0), /* check-in-arity/n10/fR */
2262       0 | (1UL << 1), /* check-in-arity/nR/fR */
2263       0 | (1UL << 0), /* check-in-arity--alt/n0/fR */
2264       0 | (1UL << 0), /* check-in-arity--alt/n1/fR */
2265       0 | (1UL << 0), /* check-in-arity--alt/n2/fR */
2266       0 | (1UL << 0), /* check-in-arity--alt/n3/fR */
2267       0 | (1UL << 0), /* check-in-arity--alt/n4/fR */
2268       0 | (1UL << 0), /* check-in-arity--alt/n5/fR */
2269       0 | (1UL << 0), /* check-in-arity--alt/n6/fR */
2270       0 | (1UL << 0), /* check-in-arity--alt/n7/fR */
2271       0 | (1UL << 0), /* check-in-arity--alt/n8/fR */
2272       0 | (1UL << 0), /* check-in-arity--alt/n9/fR */
2273       0 | (1UL << 0), /* check-in-arity--alt/n10/fR */
2274       0 | (1UL << 1), /* check-in-arity--alt/nR/fR */
2275       0, /* copy-from-literal/nR */
2276       0, /* copy-from-register/%rR */
2277       0, /* copy-to-register/%rR */
2278       0, /* drop */
2279       0, /* drop-nip */
2280       0, /* dup */
2281       0, /* exitvm */
2282       0, /* fail/retR */
2283       0 | (1UL << 0), /* gc-if-needed/fR */
2284       0, /* heap-allocate/n4 */
2285       0, /* heap-allocate/n8 */
2286       0, /* heap-allocate/n12 */
2287       0, /* heap-allocate/n16 */
2288       0, /* heap-allocate/n24 */
2289       0, /* heap-allocate/n32 */
2290       0, /* heap-allocate/n36 */
2291       0, /* heap-allocate/n48 */
2292       0, /* heap-allocate/n52 */
2293       0, /* heap-allocate/n64 */
2294       0, /* heap-allocate/nR */
2295       0, /* literal-to-register/nR/%rR */
2296       0, /* nip */
2297       0, /* nip-drop */
2298       0, /* nip-five */
2299       0, /* nip-five-drop */
2300       0, /* nip-four */
2301       0, /* nip-four-drop */
2302       0, /* nip-push-literal/nR */
2303       0, /* nip-push-register/%rR */
2304       0, /* nip-six */
2305       0, /* nip-six-drop */
2306       0, /* nip-three */
2307       0, /* nip-three-drop */
2308       0, /* nip-two */
2309       0, /* nip-two-drop */
2310       0, /* nop */
2311       0 | (1UL << 1), /* pop-to-global/nR/fR */
2312       0 | (1UL << 1), /* pop-to-global-defined/nR/fR */
2313       0, /* pop-to-register/%rR */
2314       0 | (1UL << 1), /* primitive/nR/n0/fR */
2315       0 | (1UL << 1), /* primitive/nR/n1/fR */
2316       0 | (1UL << 1), /* primitive/nR/n2/fR */
2317       0 | (1UL << 1), /* primitive/nR/n3/fR */
2318       0 | (1UL << 1), /* primitive/nR/n4/fR */
2319       0 | (1UL << 2), /* primitive/nR/nR/fR */
2320       0, /* primitive-boolean-canonicalize */
2321       0, /* primitive-box */
2322       0 | (1UL << 0), /* primitive-box-get/fR */
2323       0 | (1UL << 0), /* primitive-box-setb-special/fR */
2324       0 | (1UL << 0), /* primitive-car/fR */
2325       0 | (1UL << 0), /* primitive-cdr/fR */
2326       0, /* primitive-characterp */
2327       0, /* primitive-cons-special */
2328       0, /* primitive-consp */
2329       0, /* primitive-eqp */
2330       0 | (1UL << 0), /* primitive-fixnum-eqp/fR */
2331       0 | (1UL << 0), /* primitive-fixnum-not-eqp/fR */
2332       0, /* primitive-fixnump */
2333       0 | (1UL << 0), /* primitive-greaterp/fR */
2334       0 | (1UL << 0), /* primitive-lessp/fR */
2335       0 | (1UL << 0), /* primitive-negate/fR */
2336       0 | (1UL << 0), /* primitive-negativep/fR */
2337       0, /* primitive-non-consp */
2338       0 | (1UL << 0), /* primitive-non-negativep/fR */
2339       0, /* primitive-non-nullp */
2340       0 | (1UL << 0), /* primitive-non-positivep/fR */
2341       0, /* primitive-non-symbolp */
2342       0 | (1UL << 0), /* primitive-non-zerop/fR */
2343       0, /* primitive-not */
2344       0, /* primitive-not-eqp */
2345       0 | (1UL << 0), /* primitive-not-greaterp/fR */
2346       0 | (1UL << 0), /* primitive-not-lessp/fR */
2347       0, /* primitive-nothingp */
2348       0, /* primitive-nullp */
2349       0 | (1UL << 0), /* primitive-one-minus/fR */
2350       0 | (1UL << 0), /* primitive-one-plus/fR */
2351       0 | (1UL << 0), /* primitive-positivep/fR */
2352       0 | (1UL << 0), /* primitive-primordial-divided/fR */
2353       0 | (1UL << 0), /* primitive-primordial-divided-unsafe/fR */
2354       0 | (1UL << 0), /* primitive-primordial-minus/fR */
2355       0 | (1UL << 0), /* primitive-primordial-plus/fR */
2356       0 | (1UL << 0), /* primitive-primordial-times/fR */
2357       0 | (1UL << 0), /* primitive-quotient/fR */
2358       0 | (1UL << 0), /* primitive-quotient-unsafe/fR */
2359       0 | (1UL << 0), /* primitive-remainder/fR */
2360       0 | (1UL << 0), /* primitive-remainder-unsafe/fR */
2361       0 | (1UL << 0), /* primitive-set-carb-special/fR */
2362       0 | (1UL << 0), /* primitive-set-cdrb-special/fR */
2363       0, /* primitive-symbolp */
2364       0 | (1UL << 0), /* primitive-two-divided/fR */
2365       0 | (1UL << 0), /* primitive-two-quotient/fR */
2366       0 | (1UL << 0), /* primitive-two-remainder/fR */
2367       0 | (1UL << 0), /* primitive-two-times/fR */
2368       0, /* primitive-uniquep */
2369       0 | (1UL << 0), /* primitive-zerop/fR */
2370       0, /* procedure-prolog */
2371       0, /* push-false */
2372       0 | (1UL << 1), /* push-global/nR/fR */
2373       0, /* push-literal/nR */
2374       0, /* push-nil */
2375       0, /* push-nothing */
2376       0, /* push-one */
2377       0, /* push-register/%rR */
2378       0, /* push-unspecified */
2379       0, /* push-zero */
2380       0, /* register-to-register/%rR/%rR */
2381       0, /* restore-register/%rR */
2382       0, /* return */
2383       0, /* save-register/%rR */
2384       0, /* tail-call/n0 */
2385       0, /* tail-call/n1 */
2386       0, /* tail-call/n2 */
2387       0, /* tail-call/n3 */
2388       0, /* tail-call/n4 */
2389       0, /* tail-call/n5 */
2390       0, /* tail-call/n6 */
2391       0, /* tail-call/n7 */
2392       0, /* tail-call/n8 */
2393       0, /* tail-call/n9 */
2394       0, /* tail-call/n10 */
2395       0, /* tail-call/nR */
2396       0, /* tail-call-compiled/n0 */
2397       0, /* tail-call-compiled/n1 */
2398       0, /* tail-call-compiled/n2 */
2399       0, /* tail-call-compiled/n3 */
2400       0, /* tail-call-compiled/n4 */
2401       0, /* tail-call-compiled/n5 */
2402       0, /* tail-call-compiled/n6 */
2403       0, /* tail-call-compiled/n7 */
2404       0, /* tail-call-compiled/n8 */
2405       0, /* tail-call-compiled/n9 */
2406       0, /* tail-call-compiled/n10 */
2407       0, /* tail-call-compiled/nR */
2408       0, /* unreachable */
2409       0, /* *branch/fR*-no-fast-branches */
2410       0, /* *branch-if-false/fR*-no-fast-branches */
2411       0, /* *branch-if-not-less/fR/fR*-no-fast-branches */
2412       0, /* *branch-if-not-null/fR*-no-fast-branches */
2413       0, /* *branch-if-null/fR*-no-fast-branches */
2414       0, /* *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches */
2415       0, /* *branch-if-true/fR*-no-fast-branches */
2416       0, /* *check-closure/fR*-no-fast-branches */
2417       0, /* *check-global-defined/nR/fR*-no-fast-branches */
2418       0, /* *check-in-arity/n0/fR*-no-fast-branches */
2419       0, /* *check-in-arity/n1/fR*-no-fast-branches */
2420       0, /* *check-in-arity/n2/fR*-no-fast-branches */
2421       0, /* *check-in-arity/n3/fR*-no-fast-branches */
2422       0, /* *check-in-arity/n4/fR*-no-fast-branches */
2423       0, /* *check-in-arity/n5/fR*-no-fast-branches */
2424       0, /* *check-in-arity/n6/fR*-no-fast-branches */
2425       0, /* *check-in-arity/n7/fR*-no-fast-branches */
2426       0, /* *check-in-arity/n8/fR*-no-fast-branches */
2427       0, /* *check-in-arity/n9/fR*-no-fast-branches */
2428       0, /* *check-in-arity/n10/fR*-no-fast-branches */
2429       0, /* *check-in-arity/nR/fR*-no-fast-branches */
2430       0, /* *check-in-arity--alt/n0/fR*-no-fast-branches */
2431       0, /* *check-in-arity--alt/n1/fR*-no-fast-branches */
2432       0, /* *check-in-arity--alt/n2/fR*-no-fast-branches */
2433       0, /* *check-in-arity--alt/n3/fR*-no-fast-branches */
2434       0, /* *check-in-arity--alt/n4/fR*-no-fast-branches */
2435       0, /* *check-in-arity--alt/n5/fR*-no-fast-branches */
2436       0, /* *check-in-arity--alt/n6/fR*-no-fast-branches */
2437       0, /* *check-in-arity--alt/n7/fR*-no-fast-branches */
2438       0, /* *check-in-arity--alt/n8/fR*-no-fast-branches */
2439       0, /* *check-in-arity--alt/n9/fR*-no-fast-branches */
2440       0, /* *check-in-arity--alt/n10/fR*-no-fast-branches */
2441       0, /* *check-in-arity--alt/nR/fR*-no-fast-branches */
2442       0, /* *gc-if-needed/fR*-no-fast-branches */
2443       0, /* *pop-to-global/nR/fR*-no-fast-branches */
2444       0, /* *pop-to-global-defined/nR/fR*-no-fast-branches */
2445       0, /* *primitive/nR/n0/fR*-no-fast-branches */
2446       0, /* *primitive/nR/n1/fR*-no-fast-branches */
2447       0, /* *primitive/nR/n2/fR*-no-fast-branches */
2448       0, /* *primitive/nR/n3/fR*-no-fast-branches */
2449       0, /* *primitive/nR/n4/fR*-no-fast-branches */
2450       0, /* *primitive/nR/nR/fR*-no-fast-branches */
2451       0, /* *primitive-box-get/fR*-no-fast-branches */
2452       0, /* *primitive-box-setb-special/fR*-no-fast-branches */
2453       0, /* *primitive-car/fR*-no-fast-branches */
2454       0, /* *primitive-cdr/fR*-no-fast-branches */
2455       0, /* *primitive-fixnum-eqp/fR*-no-fast-branches */
2456       0, /* *primitive-fixnum-not-eqp/fR*-no-fast-branches */
2457       0, /* *primitive-greaterp/fR*-no-fast-branches */
2458       0, /* *primitive-lessp/fR*-no-fast-branches */
2459       0, /* *primitive-negate/fR*-no-fast-branches */
2460       0, /* *primitive-negativep/fR*-no-fast-branches */
2461       0, /* *primitive-non-negativep/fR*-no-fast-branches */
2462       0, /* *primitive-non-positivep/fR*-no-fast-branches */
2463       0, /* *primitive-non-zerop/fR*-no-fast-branches */
2464       0, /* *primitive-not-greaterp/fR*-no-fast-branches */
2465       0, /* *primitive-not-lessp/fR*-no-fast-branches */
2466       0, /* *primitive-one-minus/fR*-no-fast-branches */
2467       0, /* *primitive-one-plus/fR*-no-fast-branches */
2468       0, /* *primitive-positivep/fR*-no-fast-branches */
2469       0, /* *primitive-primordial-divided/fR*-no-fast-branches */
2470       0, /* *primitive-primordial-divided-unsafe/fR*-no-fast-branches */
2471       0, /* *primitive-primordial-minus/fR*-no-fast-branches */
2472       0, /* *primitive-primordial-plus/fR*-no-fast-branches */
2473       0, /* *primitive-primordial-times/fR*-no-fast-branches */
2474       0, /* *primitive-quotient/fR*-no-fast-branches */
2475       0, /* *primitive-quotient-unsafe/fR*-no-fast-branches */
2476       0, /* *primitive-remainder/fR*-no-fast-branches */
2477       0, /* *primitive-remainder-unsafe/fR*-no-fast-branches */
2478       0, /* *primitive-set-carb-special/fR*-no-fast-branches */
2479       0, /* *primitive-set-cdrb-special/fR*-no-fast-branches */
2480       0, /* *primitive-two-divided/fR*-no-fast-branches */
2481       0, /* *primitive-two-quotient/fR*-no-fast-branches */
2482       0, /* *primitive-two-remainder/fR*-no-fast-branches */
2483       0, /* *primitive-two-times/fR*-no-fast-branches */
2484       0, /* *primitive-zerop/fR*-no-fast-branches */
2485       0 /* *push-global/nR/fR*-no-fast-branches */
2486     };
2487 #endif // #ifdef JITTER_HAVE_PATCH_IN
2488 
2489 // FIXME: I may want to conditionalize this.
2490 const bool
2491 jitterlispvm_specialized_instruction_relocatables [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
2492   = {
2493       true, // !INVALID
2494       true, // !BEGINBASICBLOCK
2495       true, // !EXITVM
2496       true, // !DATALOCATIONS
2497       true, // !NOP
2498       true, // !UNREACHABLE0
2499       true, // !UNREACHABLE1
2500       true, // !UNREACHABLE2
2501       true, // at-depth-to-register/n1/%rR
2502       true, // at-depth-to-register/n2/%rR
2503       true, // at-depth-to-register/n3/%rR
2504       true, // at-depth-to-register/n4/%rR
2505       true, // at-depth-to-register/n5/%rR
2506       true, // at-depth-to-register/n6/%rR
2507       true, // at-depth-to-register/n7/%rR
2508       true, // at-depth-to-register/n8/%rR
2509       true, // at-depth-to-register/n9/%rR
2510       true, // at-depth-to-register/n10/%rR
2511       true, // at-depth-to-register/nR/%rR
2512       true, // branch/fR
2513       true, // branch-if-false/fR
2514       true, // branch-if-not-less/fR/fR
2515       true, // branch-if-not-null/fR
2516       true, // branch-if-null/fR
2517       true, // branch-if-register-non-zero/%rR/fR/fR
2518       true, // branch-if-true/fR
2519       true, // call/n0/retR
2520       true, // call/n1/retR
2521       true, // call/n2/retR
2522       true, // call/n3/retR
2523       true, // call/n4/retR
2524       true, // call/n5/retR
2525       true, // call/n6/retR
2526       true, // call/n7/retR
2527       true, // call/n8/retR
2528       true, // call/n9/retR
2529       true, // call/n10/retR
2530       true, // call/nR/retR
2531       true, // call-compiled/n0/retR
2532       true, // call-compiled/n1/retR
2533       true, // call-compiled/n2/retR
2534       true, // call-compiled/n3/retR
2535       true, // call-compiled/n4/retR
2536       true, // call-compiled/n5/retR
2537       true, // call-compiled/n6/retR
2538       true, // call-compiled/n7/retR
2539       true, // call-compiled/n8/retR
2540       true, // call-compiled/n9/retR
2541       true, // call-compiled/n10/retR
2542       true, // call-compiled/nR/retR
2543       true, // call-from-c/retR
2544       true, // canonicalize-boolean
2545       true, // check-closure/fR
2546       true, // check-global-defined/nR/fR
2547       true, // check-in-arity/n0/fR
2548       true, // check-in-arity/n1/fR
2549       true, // check-in-arity/n2/fR
2550       true, // check-in-arity/n3/fR
2551       true, // check-in-arity/n4/fR
2552       true, // check-in-arity/n5/fR
2553       true, // check-in-arity/n6/fR
2554       true, // check-in-arity/n7/fR
2555       true, // check-in-arity/n8/fR
2556       true, // check-in-arity/n9/fR
2557       true, // check-in-arity/n10/fR
2558       true, // check-in-arity/nR/fR
2559       true, // check-in-arity--alt/n0/fR
2560       true, // check-in-arity--alt/n1/fR
2561       true, // check-in-arity--alt/n2/fR
2562       true, // check-in-arity--alt/n3/fR
2563       true, // check-in-arity--alt/n4/fR
2564       true, // check-in-arity--alt/n5/fR
2565       true, // check-in-arity--alt/n6/fR
2566       true, // check-in-arity--alt/n7/fR
2567       true, // check-in-arity--alt/n8/fR
2568       true, // check-in-arity--alt/n9/fR
2569       true, // check-in-arity--alt/n10/fR
2570       true, // check-in-arity--alt/nR/fR
2571       true, // copy-from-literal/nR
2572       true, // copy-from-register/%rR
2573       true, // copy-to-register/%rR
2574       true, // drop
2575       true, // drop-nip
2576       true, // dup
2577       true, // exitvm
2578       false, // fail/retR
2579       true, // gc-if-needed/fR
2580       true, // heap-allocate/n4
2581       true, // heap-allocate/n8
2582       true, // heap-allocate/n12
2583       true, // heap-allocate/n16
2584       true, // heap-allocate/n24
2585       true, // heap-allocate/n32
2586       true, // heap-allocate/n36
2587       true, // heap-allocate/n48
2588       true, // heap-allocate/n52
2589       true, // heap-allocate/n64
2590       true, // heap-allocate/nR
2591       true, // literal-to-register/nR/%rR
2592       true, // nip
2593       true, // nip-drop
2594       true, // nip-five
2595       true, // nip-five-drop
2596       true, // nip-four
2597       true, // nip-four-drop
2598       true, // nip-push-literal/nR
2599       true, // nip-push-register/%rR
2600       true, // nip-six
2601       true, // nip-six-drop
2602       true, // nip-three
2603       true, // nip-three-drop
2604       true, // nip-two
2605       true, // nip-two-drop
2606       true, // nop
2607       true, // pop-to-global/nR/fR
2608       true, // pop-to-global-defined/nR/fR
2609       true, // pop-to-register/%rR
2610       true, // primitive/nR/n0/fR
2611       true, // primitive/nR/n1/fR
2612       true, // primitive/nR/n2/fR
2613       true, // primitive/nR/n3/fR
2614       true, // primitive/nR/n4/fR
2615       true, // primitive/nR/nR/fR
2616       true, // primitive-boolean-canonicalize
2617       true, // primitive-box
2618       true, // primitive-box-get/fR
2619       true, // primitive-box-setb-special/fR
2620       true, // primitive-car/fR
2621       true, // primitive-cdr/fR
2622       true, // primitive-characterp
2623       true, // primitive-cons-special
2624       true, // primitive-consp
2625       true, // primitive-eqp
2626       true, // primitive-fixnum-eqp/fR
2627       true, // primitive-fixnum-not-eqp/fR
2628       true, // primitive-fixnump
2629       true, // primitive-greaterp/fR
2630       true, // primitive-lessp/fR
2631       true, // primitive-negate/fR
2632       true, // primitive-negativep/fR
2633       true, // primitive-non-consp
2634       true, // primitive-non-negativep/fR
2635       true, // primitive-non-nullp
2636       true, // primitive-non-positivep/fR
2637       true, // primitive-non-symbolp
2638       true, // primitive-non-zerop/fR
2639       true, // primitive-not
2640       true, // primitive-not-eqp
2641       true, // primitive-not-greaterp/fR
2642       true, // primitive-not-lessp/fR
2643       true, // primitive-nothingp
2644       true, // primitive-nullp
2645       true, // primitive-one-minus/fR
2646       true, // primitive-one-plus/fR
2647       true, // primitive-positivep/fR
2648       true, // primitive-primordial-divided/fR
2649       true, // primitive-primordial-divided-unsafe/fR
2650       true, // primitive-primordial-minus/fR
2651       true, // primitive-primordial-plus/fR
2652       true, // primitive-primordial-times/fR
2653       true, // primitive-quotient/fR
2654       true, // primitive-quotient-unsafe/fR
2655       true, // primitive-remainder/fR
2656       true, // primitive-remainder-unsafe/fR
2657       true, // primitive-set-carb-special/fR
2658       true, // primitive-set-cdrb-special/fR
2659       true, // primitive-symbolp
2660       true, // primitive-two-divided/fR
2661       true, // primitive-two-quotient/fR
2662       true, // primitive-two-remainder/fR
2663       true, // primitive-two-times/fR
2664       true, // primitive-uniquep
2665       true, // primitive-zerop/fR
2666       true, // procedure-prolog
2667       true, // push-false
2668       true, // push-global/nR/fR
2669       true, // push-literal/nR
2670       true, // push-nil
2671       true, // push-nothing
2672       true, // push-one
2673       true, // push-register/%rR
2674       true, // push-unspecified
2675       true, // push-zero
2676       true, // register-to-register/%rR/%rR
2677       true, // restore-register/%rR
2678       true, // return
2679       true, // save-register/%rR
2680       true, // tail-call/n0
2681       true, // tail-call/n1
2682       true, // tail-call/n2
2683       true, // tail-call/n3
2684       true, // tail-call/n4
2685       true, // tail-call/n5
2686       true, // tail-call/n6
2687       true, // tail-call/n7
2688       true, // tail-call/n8
2689       true, // tail-call/n9
2690       true, // tail-call/n10
2691       true, // tail-call/nR
2692       true, // tail-call-compiled/n0
2693       true, // tail-call-compiled/n1
2694       true, // tail-call-compiled/n2
2695       true, // tail-call-compiled/n3
2696       true, // tail-call-compiled/n4
2697       true, // tail-call-compiled/n5
2698       true, // tail-call-compiled/n6
2699       true, // tail-call-compiled/n7
2700       true, // tail-call-compiled/n8
2701       true, // tail-call-compiled/n9
2702       true, // tail-call-compiled/n10
2703       true, // tail-call-compiled/nR
2704       true, // unreachable
2705       false, // *branch/fR*-no-fast-branches
2706       false, // *branch-if-false/fR*-no-fast-branches
2707       false, // *branch-if-not-less/fR/fR*-no-fast-branches
2708       false, // *branch-if-not-null/fR*-no-fast-branches
2709       false, // *branch-if-null/fR*-no-fast-branches
2710       false, // *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches
2711       false, // *branch-if-true/fR*-no-fast-branches
2712       false, // *check-closure/fR*-no-fast-branches
2713       false, // *check-global-defined/nR/fR*-no-fast-branches
2714       false, // *check-in-arity/n0/fR*-no-fast-branches
2715       false, // *check-in-arity/n1/fR*-no-fast-branches
2716       false, // *check-in-arity/n2/fR*-no-fast-branches
2717       false, // *check-in-arity/n3/fR*-no-fast-branches
2718       false, // *check-in-arity/n4/fR*-no-fast-branches
2719       false, // *check-in-arity/n5/fR*-no-fast-branches
2720       false, // *check-in-arity/n6/fR*-no-fast-branches
2721       false, // *check-in-arity/n7/fR*-no-fast-branches
2722       false, // *check-in-arity/n8/fR*-no-fast-branches
2723       false, // *check-in-arity/n9/fR*-no-fast-branches
2724       false, // *check-in-arity/n10/fR*-no-fast-branches
2725       false, // *check-in-arity/nR/fR*-no-fast-branches
2726       false, // *check-in-arity--alt/n0/fR*-no-fast-branches
2727       false, // *check-in-arity--alt/n1/fR*-no-fast-branches
2728       false, // *check-in-arity--alt/n2/fR*-no-fast-branches
2729       false, // *check-in-arity--alt/n3/fR*-no-fast-branches
2730       false, // *check-in-arity--alt/n4/fR*-no-fast-branches
2731       false, // *check-in-arity--alt/n5/fR*-no-fast-branches
2732       false, // *check-in-arity--alt/n6/fR*-no-fast-branches
2733       false, // *check-in-arity--alt/n7/fR*-no-fast-branches
2734       false, // *check-in-arity--alt/n8/fR*-no-fast-branches
2735       false, // *check-in-arity--alt/n9/fR*-no-fast-branches
2736       false, // *check-in-arity--alt/n10/fR*-no-fast-branches
2737       false, // *check-in-arity--alt/nR/fR*-no-fast-branches
2738       false, // *gc-if-needed/fR*-no-fast-branches
2739       false, // *pop-to-global/nR/fR*-no-fast-branches
2740       false, // *pop-to-global-defined/nR/fR*-no-fast-branches
2741       false, // *primitive/nR/n0/fR*-no-fast-branches
2742       false, // *primitive/nR/n1/fR*-no-fast-branches
2743       false, // *primitive/nR/n2/fR*-no-fast-branches
2744       false, // *primitive/nR/n3/fR*-no-fast-branches
2745       false, // *primitive/nR/n4/fR*-no-fast-branches
2746       false, // *primitive/nR/nR/fR*-no-fast-branches
2747       false, // *primitive-box-get/fR*-no-fast-branches
2748       false, // *primitive-box-setb-special/fR*-no-fast-branches
2749       false, // *primitive-car/fR*-no-fast-branches
2750       false, // *primitive-cdr/fR*-no-fast-branches
2751       false, // *primitive-fixnum-eqp/fR*-no-fast-branches
2752       false, // *primitive-fixnum-not-eqp/fR*-no-fast-branches
2753       false, // *primitive-greaterp/fR*-no-fast-branches
2754       false, // *primitive-lessp/fR*-no-fast-branches
2755       false, // *primitive-negate/fR*-no-fast-branches
2756       false, // *primitive-negativep/fR*-no-fast-branches
2757       false, // *primitive-non-negativep/fR*-no-fast-branches
2758       false, // *primitive-non-positivep/fR*-no-fast-branches
2759       false, // *primitive-non-zerop/fR*-no-fast-branches
2760       false, // *primitive-not-greaterp/fR*-no-fast-branches
2761       false, // *primitive-not-lessp/fR*-no-fast-branches
2762       false, // *primitive-one-minus/fR*-no-fast-branches
2763       false, // *primitive-one-plus/fR*-no-fast-branches
2764       false, // *primitive-positivep/fR*-no-fast-branches
2765       false, // *primitive-primordial-divided/fR*-no-fast-branches
2766       false, // *primitive-primordial-divided-unsafe/fR*-no-fast-branches
2767       false, // *primitive-primordial-minus/fR*-no-fast-branches
2768       false, // *primitive-primordial-plus/fR*-no-fast-branches
2769       false, // *primitive-primordial-times/fR*-no-fast-branches
2770       false, // *primitive-quotient/fR*-no-fast-branches
2771       false, // *primitive-quotient-unsafe/fR*-no-fast-branches
2772       false, // *primitive-remainder/fR*-no-fast-branches
2773       false, // *primitive-remainder-unsafe/fR*-no-fast-branches
2774       false, // *primitive-set-carb-special/fR*-no-fast-branches
2775       false, // *primitive-set-cdrb-special/fR*-no-fast-branches
2776       false, // *primitive-two-divided/fR*-no-fast-branches
2777       false, // *primitive-two-quotient/fR*-no-fast-branches
2778       false, // *primitive-two-remainder/fR*-no-fast-branches
2779       false, // *primitive-two-times/fR*-no-fast-branches
2780       false, // *primitive-zerop/fR*-no-fast-branches
2781       false // *push-global/nR/fR*-no-fast-branches
2782     };
2783 
2784 // FIXME: this is not currently accessed, and in fact may be useless.
2785 const bool
2786 jitterlispvm_specialized_instruction_callers [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
2787   = {
2788       false, // !INVALID
2789       false, // !BEGINBASICBLOCK
2790       false, // !EXITVM
2791       false, // !DATALOCATIONS
2792       false, // !NOP
2793       false, // !UNREACHABLE0
2794       false, // !UNREACHABLE1
2795       false, // !UNREACHABLE2
2796       false, // at-depth-to-register/n1/%rR
2797       false, // at-depth-to-register/n2/%rR
2798       false, // at-depth-to-register/n3/%rR
2799       false, // at-depth-to-register/n4/%rR
2800       false, // at-depth-to-register/n5/%rR
2801       false, // at-depth-to-register/n6/%rR
2802       false, // at-depth-to-register/n7/%rR
2803       false, // at-depth-to-register/n8/%rR
2804       false, // at-depth-to-register/n9/%rR
2805       false, // at-depth-to-register/n10/%rR
2806       false, // at-depth-to-register/nR/%rR
2807       false, // branch/fR
2808       false, // branch-if-false/fR
2809       false, // branch-if-not-less/fR/fR
2810       false, // branch-if-not-null/fR
2811       false, // branch-if-null/fR
2812       false, // branch-if-register-non-zero/%rR/fR/fR
2813       false, // branch-if-true/fR
2814       true, // call/n0/retR
2815       true, // call/n1/retR
2816       true, // call/n2/retR
2817       true, // call/n3/retR
2818       true, // call/n4/retR
2819       true, // call/n5/retR
2820       true, // call/n6/retR
2821       true, // call/n7/retR
2822       true, // call/n8/retR
2823       true, // call/n9/retR
2824       true, // call/n10/retR
2825       true, // call/nR/retR
2826       true, // call-compiled/n0/retR
2827       true, // call-compiled/n1/retR
2828       true, // call-compiled/n2/retR
2829       true, // call-compiled/n3/retR
2830       true, // call-compiled/n4/retR
2831       true, // call-compiled/n5/retR
2832       true, // call-compiled/n6/retR
2833       true, // call-compiled/n7/retR
2834       true, // call-compiled/n8/retR
2835       true, // call-compiled/n9/retR
2836       true, // call-compiled/n10/retR
2837       true, // call-compiled/nR/retR
2838       true, // call-from-c/retR
2839       false, // canonicalize-boolean
2840       false, // check-closure/fR
2841       false, // check-global-defined/nR/fR
2842       false, // check-in-arity/n0/fR
2843       false, // check-in-arity/n1/fR
2844       false, // check-in-arity/n2/fR
2845       false, // check-in-arity/n3/fR
2846       false, // check-in-arity/n4/fR
2847       false, // check-in-arity/n5/fR
2848       false, // check-in-arity/n6/fR
2849       false, // check-in-arity/n7/fR
2850       false, // check-in-arity/n8/fR
2851       false, // check-in-arity/n9/fR
2852       false, // check-in-arity/n10/fR
2853       false, // check-in-arity/nR/fR
2854       false, // check-in-arity--alt/n0/fR
2855       false, // check-in-arity--alt/n1/fR
2856       false, // check-in-arity--alt/n2/fR
2857       false, // check-in-arity--alt/n3/fR
2858       false, // check-in-arity--alt/n4/fR
2859       false, // check-in-arity--alt/n5/fR
2860       false, // check-in-arity--alt/n6/fR
2861       false, // check-in-arity--alt/n7/fR
2862       false, // check-in-arity--alt/n8/fR
2863       false, // check-in-arity--alt/n9/fR
2864       false, // check-in-arity--alt/n10/fR
2865       false, // check-in-arity--alt/nR/fR
2866       false, // copy-from-literal/nR
2867       false, // copy-from-register/%rR
2868       false, // copy-to-register/%rR
2869       false, // drop
2870       false, // drop-nip
2871       false, // dup
2872       false, // exitvm
2873       false, // fail/retR
2874       false, // gc-if-needed/fR
2875       false, // heap-allocate/n4
2876       false, // heap-allocate/n8
2877       false, // heap-allocate/n12
2878       false, // heap-allocate/n16
2879       false, // heap-allocate/n24
2880       false, // heap-allocate/n32
2881       false, // heap-allocate/n36
2882       false, // heap-allocate/n48
2883       false, // heap-allocate/n52
2884       false, // heap-allocate/n64
2885       false, // heap-allocate/nR
2886       false, // literal-to-register/nR/%rR
2887       false, // nip
2888       false, // nip-drop
2889       false, // nip-five
2890       false, // nip-five-drop
2891       false, // nip-four
2892       false, // nip-four-drop
2893       false, // nip-push-literal/nR
2894       false, // nip-push-register/%rR
2895       false, // nip-six
2896       false, // nip-six-drop
2897       false, // nip-three
2898       false, // nip-three-drop
2899       false, // nip-two
2900       false, // nip-two-drop
2901       false, // nop
2902       false, // pop-to-global/nR/fR
2903       false, // pop-to-global-defined/nR/fR
2904       false, // pop-to-register/%rR
2905       false, // primitive/nR/n0/fR
2906       false, // primitive/nR/n1/fR
2907       false, // primitive/nR/n2/fR
2908       false, // primitive/nR/n3/fR
2909       false, // primitive/nR/n4/fR
2910       false, // primitive/nR/nR/fR
2911       false, // primitive-boolean-canonicalize
2912       false, // primitive-box
2913       false, // primitive-box-get/fR
2914       false, // primitive-box-setb-special/fR
2915       false, // primitive-car/fR
2916       false, // primitive-cdr/fR
2917       false, // primitive-characterp
2918       false, // primitive-cons-special
2919       false, // primitive-consp
2920       false, // primitive-eqp
2921       false, // primitive-fixnum-eqp/fR
2922       false, // primitive-fixnum-not-eqp/fR
2923       false, // primitive-fixnump
2924       false, // primitive-greaterp/fR
2925       false, // primitive-lessp/fR
2926       false, // primitive-negate/fR
2927       false, // primitive-negativep/fR
2928       false, // primitive-non-consp
2929       false, // primitive-non-negativep/fR
2930       false, // primitive-non-nullp
2931       false, // primitive-non-positivep/fR
2932       false, // primitive-non-symbolp
2933       false, // primitive-non-zerop/fR
2934       false, // primitive-not
2935       false, // primitive-not-eqp
2936       false, // primitive-not-greaterp/fR
2937       false, // primitive-not-lessp/fR
2938       false, // primitive-nothingp
2939       false, // primitive-nullp
2940       false, // primitive-one-minus/fR
2941       false, // primitive-one-plus/fR
2942       false, // primitive-positivep/fR
2943       false, // primitive-primordial-divided/fR
2944       false, // primitive-primordial-divided-unsafe/fR
2945       false, // primitive-primordial-minus/fR
2946       false, // primitive-primordial-plus/fR
2947       false, // primitive-primordial-times/fR
2948       false, // primitive-quotient/fR
2949       false, // primitive-quotient-unsafe/fR
2950       false, // primitive-remainder/fR
2951       false, // primitive-remainder-unsafe/fR
2952       false, // primitive-set-carb-special/fR
2953       false, // primitive-set-cdrb-special/fR
2954       false, // primitive-symbolp
2955       false, // primitive-two-divided/fR
2956       false, // primitive-two-quotient/fR
2957       false, // primitive-two-remainder/fR
2958       false, // primitive-two-times/fR
2959       false, // primitive-uniquep
2960       false, // primitive-zerop/fR
2961       false, // procedure-prolog
2962       false, // push-false
2963       false, // push-global/nR/fR
2964       false, // push-literal/nR
2965       false, // push-nil
2966       false, // push-nothing
2967       false, // push-one
2968       false, // push-register/%rR
2969       false, // push-unspecified
2970       false, // push-zero
2971       false, // register-to-register/%rR/%rR
2972       false, // restore-register/%rR
2973       false, // return
2974       false, // save-register/%rR
2975       false, // tail-call/n0
2976       false, // tail-call/n1
2977       false, // tail-call/n2
2978       false, // tail-call/n3
2979       false, // tail-call/n4
2980       false, // tail-call/n5
2981       false, // tail-call/n6
2982       false, // tail-call/n7
2983       false, // tail-call/n8
2984       false, // tail-call/n9
2985       false, // tail-call/n10
2986       false, // tail-call/nR
2987       false, // tail-call-compiled/n0
2988       false, // tail-call-compiled/n1
2989       false, // tail-call-compiled/n2
2990       false, // tail-call-compiled/n3
2991       false, // tail-call-compiled/n4
2992       false, // tail-call-compiled/n5
2993       false, // tail-call-compiled/n6
2994       false, // tail-call-compiled/n7
2995       false, // tail-call-compiled/n8
2996       false, // tail-call-compiled/n9
2997       false, // tail-call-compiled/n10
2998       false, // tail-call-compiled/nR
2999       false, // unreachable
3000       false, // *branch/fR*-no-fast-branches
3001       false, // *branch-if-false/fR*-no-fast-branches
3002       false, // *branch-if-not-less/fR/fR*-no-fast-branches
3003       false, // *branch-if-not-null/fR*-no-fast-branches
3004       false, // *branch-if-null/fR*-no-fast-branches
3005       false, // *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches
3006       false, // *branch-if-true/fR*-no-fast-branches
3007       false, // *check-closure/fR*-no-fast-branches
3008       false, // *check-global-defined/nR/fR*-no-fast-branches
3009       false, // *check-in-arity/n0/fR*-no-fast-branches
3010       false, // *check-in-arity/n1/fR*-no-fast-branches
3011       false, // *check-in-arity/n2/fR*-no-fast-branches
3012       false, // *check-in-arity/n3/fR*-no-fast-branches
3013       false, // *check-in-arity/n4/fR*-no-fast-branches
3014       false, // *check-in-arity/n5/fR*-no-fast-branches
3015       false, // *check-in-arity/n6/fR*-no-fast-branches
3016       false, // *check-in-arity/n7/fR*-no-fast-branches
3017       false, // *check-in-arity/n8/fR*-no-fast-branches
3018       false, // *check-in-arity/n9/fR*-no-fast-branches
3019       false, // *check-in-arity/n10/fR*-no-fast-branches
3020       false, // *check-in-arity/nR/fR*-no-fast-branches
3021       false, // *check-in-arity--alt/n0/fR*-no-fast-branches
3022       false, // *check-in-arity--alt/n1/fR*-no-fast-branches
3023       false, // *check-in-arity--alt/n2/fR*-no-fast-branches
3024       false, // *check-in-arity--alt/n3/fR*-no-fast-branches
3025       false, // *check-in-arity--alt/n4/fR*-no-fast-branches
3026       false, // *check-in-arity--alt/n5/fR*-no-fast-branches
3027       false, // *check-in-arity--alt/n6/fR*-no-fast-branches
3028       false, // *check-in-arity--alt/n7/fR*-no-fast-branches
3029       false, // *check-in-arity--alt/n8/fR*-no-fast-branches
3030       false, // *check-in-arity--alt/n9/fR*-no-fast-branches
3031       false, // *check-in-arity--alt/n10/fR*-no-fast-branches
3032       false, // *check-in-arity--alt/nR/fR*-no-fast-branches
3033       false, // *gc-if-needed/fR*-no-fast-branches
3034       false, // *pop-to-global/nR/fR*-no-fast-branches
3035       false, // *pop-to-global-defined/nR/fR*-no-fast-branches
3036       false, // *primitive/nR/n0/fR*-no-fast-branches
3037       false, // *primitive/nR/n1/fR*-no-fast-branches
3038       false, // *primitive/nR/n2/fR*-no-fast-branches
3039       false, // *primitive/nR/n3/fR*-no-fast-branches
3040       false, // *primitive/nR/n4/fR*-no-fast-branches
3041       false, // *primitive/nR/nR/fR*-no-fast-branches
3042       false, // *primitive-box-get/fR*-no-fast-branches
3043       false, // *primitive-box-setb-special/fR*-no-fast-branches
3044       false, // *primitive-car/fR*-no-fast-branches
3045       false, // *primitive-cdr/fR*-no-fast-branches
3046       false, // *primitive-fixnum-eqp/fR*-no-fast-branches
3047       false, // *primitive-fixnum-not-eqp/fR*-no-fast-branches
3048       false, // *primitive-greaterp/fR*-no-fast-branches
3049       false, // *primitive-lessp/fR*-no-fast-branches
3050       false, // *primitive-negate/fR*-no-fast-branches
3051       false, // *primitive-negativep/fR*-no-fast-branches
3052       false, // *primitive-non-negativep/fR*-no-fast-branches
3053       false, // *primitive-non-positivep/fR*-no-fast-branches
3054       false, // *primitive-non-zerop/fR*-no-fast-branches
3055       false, // *primitive-not-greaterp/fR*-no-fast-branches
3056       false, // *primitive-not-lessp/fR*-no-fast-branches
3057       false, // *primitive-one-minus/fR*-no-fast-branches
3058       false, // *primitive-one-plus/fR*-no-fast-branches
3059       false, // *primitive-positivep/fR*-no-fast-branches
3060       false, // *primitive-primordial-divided/fR*-no-fast-branches
3061       false, // *primitive-primordial-divided-unsafe/fR*-no-fast-branches
3062       false, // *primitive-primordial-minus/fR*-no-fast-branches
3063       false, // *primitive-primordial-plus/fR*-no-fast-branches
3064       false, // *primitive-primordial-times/fR*-no-fast-branches
3065       false, // *primitive-quotient/fR*-no-fast-branches
3066       false, // *primitive-quotient-unsafe/fR*-no-fast-branches
3067       false, // *primitive-remainder/fR*-no-fast-branches
3068       false, // *primitive-remainder-unsafe/fR*-no-fast-branches
3069       false, // *primitive-set-carb-special/fR*-no-fast-branches
3070       false, // *primitive-set-cdrb-special/fR*-no-fast-branches
3071       false, // *primitive-two-divided/fR*-no-fast-branches
3072       false, // *primitive-two-quotient/fR*-no-fast-branches
3073       false, // *primitive-two-remainder/fR*-no-fast-branches
3074       false, // *primitive-two-times/fR*-no-fast-branches
3075       false, // *primitive-zerop/fR*-no-fast-branches
3076       false // *push-global/nR/fR*-no-fast-branches
3077     };
3078 
3079 // FIXME: this is not currently accessed, and in fact may be useless.
3080 const bool
3081 jitterlispvm_specialized_instruction_callees [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
3082   = {
3083       false, // !INVALID
3084       false, // !BEGINBASICBLOCK
3085       false, // !EXITVM
3086       false, // !DATALOCATIONS
3087       false, // !NOP
3088       false, // !UNREACHABLE0
3089       false, // !UNREACHABLE1
3090       false, // !UNREACHABLE2
3091       false, // at-depth-to-register/n1/%rR
3092       false, // at-depth-to-register/n2/%rR
3093       false, // at-depth-to-register/n3/%rR
3094       false, // at-depth-to-register/n4/%rR
3095       false, // at-depth-to-register/n5/%rR
3096       false, // at-depth-to-register/n6/%rR
3097       false, // at-depth-to-register/n7/%rR
3098       false, // at-depth-to-register/n8/%rR
3099       false, // at-depth-to-register/n9/%rR
3100       false, // at-depth-to-register/n10/%rR
3101       false, // at-depth-to-register/nR/%rR
3102       false, // branch/fR
3103       false, // branch-if-false/fR
3104       false, // branch-if-not-less/fR/fR
3105       false, // branch-if-not-null/fR
3106       false, // branch-if-null/fR
3107       false, // branch-if-register-non-zero/%rR/fR/fR
3108       false, // branch-if-true/fR
3109       false, // call/n0/retR
3110       false, // call/n1/retR
3111       false, // call/n2/retR
3112       false, // call/n3/retR
3113       false, // call/n4/retR
3114       false, // call/n5/retR
3115       false, // call/n6/retR
3116       false, // call/n7/retR
3117       false, // call/n8/retR
3118       false, // call/n9/retR
3119       false, // call/n10/retR
3120       false, // call/nR/retR
3121       false, // call-compiled/n0/retR
3122       false, // call-compiled/n1/retR
3123       false, // call-compiled/n2/retR
3124       false, // call-compiled/n3/retR
3125       false, // call-compiled/n4/retR
3126       false, // call-compiled/n5/retR
3127       false, // call-compiled/n6/retR
3128       false, // call-compiled/n7/retR
3129       false, // call-compiled/n8/retR
3130       false, // call-compiled/n9/retR
3131       false, // call-compiled/n10/retR
3132       false, // call-compiled/nR/retR
3133       false, // call-from-c/retR
3134       false, // canonicalize-boolean
3135       false, // check-closure/fR
3136       false, // check-global-defined/nR/fR
3137       false, // check-in-arity/n0/fR
3138       false, // check-in-arity/n1/fR
3139       false, // check-in-arity/n2/fR
3140       false, // check-in-arity/n3/fR
3141       false, // check-in-arity/n4/fR
3142       false, // check-in-arity/n5/fR
3143       false, // check-in-arity/n6/fR
3144       false, // check-in-arity/n7/fR
3145       false, // check-in-arity/n8/fR
3146       false, // check-in-arity/n9/fR
3147       false, // check-in-arity/n10/fR
3148       false, // check-in-arity/nR/fR
3149       false, // check-in-arity--alt/n0/fR
3150       false, // check-in-arity--alt/n1/fR
3151       false, // check-in-arity--alt/n2/fR
3152       false, // check-in-arity--alt/n3/fR
3153       false, // check-in-arity--alt/n4/fR
3154       false, // check-in-arity--alt/n5/fR
3155       false, // check-in-arity--alt/n6/fR
3156       false, // check-in-arity--alt/n7/fR
3157       false, // check-in-arity--alt/n8/fR
3158       false, // check-in-arity--alt/n9/fR
3159       false, // check-in-arity--alt/n10/fR
3160       false, // check-in-arity--alt/nR/fR
3161       false, // copy-from-literal/nR
3162       false, // copy-from-register/%rR
3163       false, // copy-to-register/%rR
3164       false, // drop
3165       false, // drop-nip
3166       false, // dup
3167       false, // exitvm
3168       false, // fail/retR
3169       false, // gc-if-needed/fR
3170       false, // heap-allocate/n4
3171       false, // heap-allocate/n8
3172       false, // heap-allocate/n12
3173       false, // heap-allocate/n16
3174       false, // heap-allocate/n24
3175       false, // heap-allocate/n32
3176       false, // heap-allocate/n36
3177       false, // heap-allocate/n48
3178       false, // heap-allocate/n52
3179       false, // heap-allocate/n64
3180       false, // heap-allocate/nR
3181       false, // literal-to-register/nR/%rR
3182       false, // nip
3183       false, // nip-drop
3184       false, // nip-five
3185       false, // nip-five-drop
3186       false, // nip-four
3187       false, // nip-four-drop
3188       false, // nip-push-literal/nR
3189       false, // nip-push-register/%rR
3190       false, // nip-six
3191       false, // nip-six-drop
3192       false, // nip-three
3193       false, // nip-three-drop
3194       false, // nip-two
3195       false, // nip-two-drop
3196       false, // nop
3197       false, // pop-to-global/nR/fR
3198       false, // pop-to-global-defined/nR/fR
3199       false, // pop-to-register/%rR
3200       false, // primitive/nR/n0/fR
3201       false, // primitive/nR/n1/fR
3202       false, // primitive/nR/n2/fR
3203       false, // primitive/nR/n3/fR
3204       false, // primitive/nR/n4/fR
3205       false, // primitive/nR/nR/fR
3206       false, // primitive-boolean-canonicalize
3207       false, // primitive-box
3208       false, // primitive-box-get/fR
3209       false, // primitive-box-setb-special/fR
3210       false, // primitive-car/fR
3211       false, // primitive-cdr/fR
3212       false, // primitive-characterp
3213       false, // primitive-cons-special
3214       false, // primitive-consp
3215       false, // primitive-eqp
3216       false, // primitive-fixnum-eqp/fR
3217       false, // primitive-fixnum-not-eqp/fR
3218       false, // primitive-fixnump
3219       false, // primitive-greaterp/fR
3220       false, // primitive-lessp/fR
3221       false, // primitive-negate/fR
3222       false, // primitive-negativep/fR
3223       false, // primitive-non-consp
3224       false, // primitive-non-negativep/fR
3225       false, // primitive-non-nullp
3226       false, // primitive-non-positivep/fR
3227       false, // primitive-non-symbolp
3228       false, // primitive-non-zerop/fR
3229       false, // primitive-not
3230       false, // primitive-not-eqp
3231       false, // primitive-not-greaterp/fR
3232       false, // primitive-not-lessp/fR
3233       false, // primitive-nothingp
3234       false, // primitive-nullp
3235       false, // primitive-one-minus/fR
3236       false, // primitive-one-plus/fR
3237       false, // primitive-positivep/fR
3238       false, // primitive-primordial-divided/fR
3239       false, // primitive-primordial-divided-unsafe/fR
3240       false, // primitive-primordial-minus/fR
3241       false, // primitive-primordial-plus/fR
3242       false, // primitive-primordial-times/fR
3243       false, // primitive-quotient/fR
3244       false, // primitive-quotient-unsafe/fR
3245       false, // primitive-remainder/fR
3246       false, // primitive-remainder-unsafe/fR
3247       false, // primitive-set-carb-special/fR
3248       false, // primitive-set-cdrb-special/fR
3249       false, // primitive-symbolp
3250       false, // primitive-two-divided/fR
3251       false, // primitive-two-quotient/fR
3252       false, // primitive-two-remainder/fR
3253       false, // primitive-two-times/fR
3254       false, // primitive-uniquep
3255       false, // primitive-zerop/fR
3256       true, // procedure-prolog
3257       false, // push-false
3258       false, // push-global/nR/fR
3259       false, // push-literal/nR
3260       false, // push-nil
3261       false, // push-nothing
3262       false, // push-one
3263       false, // push-register/%rR
3264       false, // push-unspecified
3265       false, // push-zero
3266       false, // register-to-register/%rR/%rR
3267       false, // restore-register/%rR
3268       false, // return
3269       false, // save-register/%rR
3270       false, // tail-call/n0
3271       false, // tail-call/n1
3272       false, // tail-call/n2
3273       false, // tail-call/n3
3274       false, // tail-call/n4
3275       false, // tail-call/n5
3276       false, // tail-call/n6
3277       false, // tail-call/n7
3278       false, // tail-call/n8
3279       false, // tail-call/n9
3280       false, // tail-call/n10
3281       false, // tail-call/nR
3282       false, // tail-call-compiled/n0
3283       false, // tail-call-compiled/n1
3284       false, // tail-call-compiled/n2
3285       false, // tail-call-compiled/n3
3286       false, // tail-call-compiled/n4
3287       false, // tail-call-compiled/n5
3288       false, // tail-call-compiled/n6
3289       false, // tail-call-compiled/n7
3290       false, // tail-call-compiled/n8
3291       false, // tail-call-compiled/n9
3292       false, // tail-call-compiled/n10
3293       false, // tail-call-compiled/nR
3294       false, // unreachable
3295       false, // *branch/fR*-no-fast-branches
3296       false, // *branch-if-false/fR*-no-fast-branches
3297       false, // *branch-if-not-less/fR/fR*-no-fast-branches
3298       false, // *branch-if-not-null/fR*-no-fast-branches
3299       false, // *branch-if-null/fR*-no-fast-branches
3300       false, // *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches
3301       false, // *branch-if-true/fR*-no-fast-branches
3302       false, // *check-closure/fR*-no-fast-branches
3303       false, // *check-global-defined/nR/fR*-no-fast-branches
3304       false, // *check-in-arity/n0/fR*-no-fast-branches
3305       false, // *check-in-arity/n1/fR*-no-fast-branches
3306       false, // *check-in-arity/n2/fR*-no-fast-branches
3307       false, // *check-in-arity/n3/fR*-no-fast-branches
3308       false, // *check-in-arity/n4/fR*-no-fast-branches
3309       false, // *check-in-arity/n5/fR*-no-fast-branches
3310       false, // *check-in-arity/n6/fR*-no-fast-branches
3311       false, // *check-in-arity/n7/fR*-no-fast-branches
3312       false, // *check-in-arity/n8/fR*-no-fast-branches
3313       false, // *check-in-arity/n9/fR*-no-fast-branches
3314       false, // *check-in-arity/n10/fR*-no-fast-branches
3315       false, // *check-in-arity/nR/fR*-no-fast-branches
3316       false, // *check-in-arity--alt/n0/fR*-no-fast-branches
3317       false, // *check-in-arity--alt/n1/fR*-no-fast-branches
3318       false, // *check-in-arity--alt/n2/fR*-no-fast-branches
3319       false, // *check-in-arity--alt/n3/fR*-no-fast-branches
3320       false, // *check-in-arity--alt/n4/fR*-no-fast-branches
3321       false, // *check-in-arity--alt/n5/fR*-no-fast-branches
3322       false, // *check-in-arity--alt/n6/fR*-no-fast-branches
3323       false, // *check-in-arity--alt/n7/fR*-no-fast-branches
3324       false, // *check-in-arity--alt/n8/fR*-no-fast-branches
3325       false, // *check-in-arity--alt/n9/fR*-no-fast-branches
3326       false, // *check-in-arity--alt/n10/fR*-no-fast-branches
3327       false, // *check-in-arity--alt/nR/fR*-no-fast-branches
3328       false, // *gc-if-needed/fR*-no-fast-branches
3329       false, // *pop-to-global/nR/fR*-no-fast-branches
3330       false, // *pop-to-global-defined/nR/fR*-no-fast-branches
3331       false, // *primitive/nR/n0/fR*-no-fast-branches
3332       false, // *primitive/nR/n1/fR*-no-fast-branches
3333       false, // *primitive/nR/n2/fR*-no-fast-branches
3334       false, // *primitive/nR/n3/fR*-no-fast-branches
3335       false, // *primitive/nR/n4/fR*-no-fast-branches
3336       false, // *primitive/nR/nR/fR*-no-fast-branches
3337       false, // *primitive-box-get/fR*-no-fast-branches
3338       false, // *primitive-box-setb-special/fR*-no-fast-branches
3339       false, // *primitive-car/fR*-no-fast-branches
3340       false, // *primitive-cdr/fR*-no-fast-branches
3341       false, // *primitive-fixnum-eqp/fR*-no-fast-branches
3342       false, // *primitive-fixnum-not-eqp/fR*-no-fast-branches
3343       false, // *primitive-greaterp/fR*-no-fast-branches
3344       false, // *primitive-lessp/fR*-no-fast-branches
3345       false, // *primitive-negate/fR*-no-fast-branches
3346       false, // *primitive-negativep/fR*-no-fast-branches
3347       false, // *primitive-non-negativep/fR*-no-fast-branches
3348       false, // *primitive-non-positivep/fR*-no-fast-branches
3349       false, // *primitive-non-zerop/fR*-no-fast-branches
3350       false, // *primitive-not-greaterp/fR*-no-fast-branches
3351       false, // *primitive-not-lessp/fR*-no-fast-branches
3352       false, // *primitive-one-minus/fR*-no-fast-branches
3353       false, // *primitive-one-plus/fR*-no-fast-branches
3354       false, // *primitive-positivep/fR*-no-fast-branches
3355       false, // *primitive-primordial-divided/fR*-no-fast-branches
3356       false, // *primitive-primordial-divided-unsafe/fR*-no-fast-branches
3357       false, // *primitive-primordial-minus/fR*-no-fast-branches
3358       false, // *primitive-primordial-plus/fR*-no-fast-branches
3359       false, // *primitive-primordial-times/fR*-no-fast-branches
3360       false, // *primitive-quotient/fR*-no-fast-branches
3361       false, // *primitive-quotient-unsafe/fR*-no-fast-branches
3362       false, // *primitive-remainder/fR*-no-fast-branches
3363       false, // *primitive-remainder-unsafe/fR*-no-fast-branches
3364       false, // *primitive-set-carb-special/fR*-no-fast-branches
3365       false, // *primitive-set-cdrb-special/fR*-no-fast-branches
3366       false, // *primitive-two-divided/fR*-no-fast-branches
3367       false, // *primitive-two-quotient/fR*-no-fast-branches
3368       false, // *primitive-two-remainder/fR*-no-fast-branches
3369       false, // *primitive-two-times/fR*-no-fast-branches
3370       false, // *primitive-zerop/fR*-no-fast-branches
3371       false // *push-global/nR/fR*-no-fast-branches
3372     };
3373 
3374 /* An array whose indices are specialised instruction opcodes, and
3375    whose elements are the corresponding unspecialised instructions
3376    opcodes -- or -1 when there is no mapping mapping having */
3377 const int
3378 jitterlispvm_specialized_instruction_to_unspecialized_instruction
3379    [JITTERLISPVM_SPECIALIZED_INSTRUCTION_NO]
3380   = {
3381     -1, /* !INVALID */
3382     -1, /* !BEGINBASICBLOCK */
3383     -1, /* !EXITVM */
3384     -1, /* !DATALOCATIONS */
3385     -1, /* !NOP */
3386     -1, /* !UNREACHABLE0 */
3387     -1, /* !UNREACHABLE1 */
3388     -1, /* !UNREACHABLE2 */
3389     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n1/%rR */
3390     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n2/%rR */
3391     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n3/%rR */
3392     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n4/%rR */
3393     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n5/%rR */
3394     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n6/%rR */
3395     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n7/%rR */
3396     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n8/%rR */
3397     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n9/%rR */
3398     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/n10/%rR */
3399     jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister, /* at-depth-to-register/nR/%rR */
3400     jitterlispvm_meta_instruction_id_branch, /* branch/fR */
3401     jitterlispvm_meta_instruction_id_branch_mif_mfalse, /* branch-if-false/fR */
3402     jitterlispvm_meta_instruction_id_branch_mif_mnot_mless, /* branch-if-not-less/fR/fR */
3403     jitterlispvm_meta_instruction_id_branch_mif_mnot_mnull, /* branch-if-not-null/fR */
3404     jitterlispvm_meta_instruction_id_branch_mif_mnull, /* branch-if-null/fR */
3405     jitterlispvm_meta_instruction_id_branch_mif_mregister_mnon_mzero, /* branch-if-register-non-zero/%rR/fR/fR */
3406     jitterlispvm_meta_instruction_id_branch_mif_mtrue, /* branch-if-true/fR */
3407     jitterlispvm_meta_instruction_id_call, /* call/n0/retR */
3408     jitterlispvm_meta_instruction_id_call, /* call/n1/retR */
3409     jitterlispvm_meta_instruction_id_call, /* call/n2/retR */
3410     jitterlispvm_meta_instruction_id_call, /* call/n3/retR */
3411     jitterlispvm_meta_instruction_id_call, /* call/n4/retR */
3412     jitterlispvm_meta_instruction_id_call, /* call/n5/retR */
3413     jitterlispvm_meta_instruction_id_call, /* call/n6/retR */
3414     jitterlispvm_meta_instruction_id_call, /* call/n7/retR */
3415     jitterlispvm_meta_instruction_id_call, /* call/n8/retR */
3416     jitterlispvm_meta_instruction_id_call, /* call/n9/retR */
3417     jitterlispvm_meta_instruction_id_call, /* call/n10/retR */
3418     jitterlispvm_meta_instruction_id_call, /* call/nR/retR */
3419     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n0/retR */
3420     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n1/retR */
3421     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n2/retR */
3422     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n3/retR */
3423     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n4/retR */
3424     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n5/retR */
3425     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n6/retR */
3426     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n7/retR */
3427     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n8/retR */
3428     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n9/retR */
3429     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/n10/retR */
3430     jitterlispvm_meta_instruction_id_call_mcompiled, /* call-compiled/nR/retR */
3431     jitterlispvm_meta_instruction_id_call_mfrom_mc, /* call-from-c/retR */
3432     jitterlispvm_meta_instruction_id_canonicalize_mboolean, /* canonicalize-boolean */
3433     jitterlispvm_meta_instruction_id_check_mclosure, /* check-closure/fR */
3434     jitterlispvm_meta_instruction_id_check_mglobal_mdefined, /* check-global-defined/nR/fR */
3435     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n0/fR */
3436     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n1/fR */
3437     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n2/fR */
3438     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n3/fR */
3439     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n4/fR */
3440     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n5/fR */
3441     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n6/fR */
3442     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n7/fR */
3443     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n8/fR */
3444     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n9/fR */
3445     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/n10/fR */
3446     jitterlispvm_meta_instruction_id_check_min_marity, /* check-in-arity/nR/fR */
3447     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n0/fR */
3448     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n1/fR */
3449     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n2/fR */
3450     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n3/fR */
3451     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n4/fR */
3452     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n5/fR */
3453     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n6/fR */
3454     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n7/fR */
3455     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n8/fR */
3456     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n9/fR */
3457     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/n10/fR */
3458     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* check-in-arity--alt/nR/fR */
3459     jitterlispvm_meta_instruction_id_copy_mfrom_mliteral, /* copy-from-literal/nR */
3460     jitterlispvm_meta_instruction_id_copy_mfrom_mregister, /* copy-from-register/%rR */
3461     jitterlispvm_meta_instruction_id_copy_mto_mregister, /* copy-to-register/%rR */
3462     jitterlispvm_meta_instruction_id_drop, /* drop */
3463     jitterlispvm_meta_instruction_id_drop_mnip, /* drop-nip */
3464     jitterlispvm_meta_instruction_id_dup, /* dup */
3465     jitterlispvm_meta_instruction_id_exitvm, /* exitvm */
3466     jitterlispvm_meta_instruction_id_fail, /* fail/retR */
3467     jitterlispvm_meta_instruction_id_gc_mif_mneeded, /* gc-if-needed/fR */
3468     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n4 */
3469     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n8 */
3470     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n12 */
3471     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n16 */
3472     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n24 */
3473     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n32 */
3474     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n36 */
3475     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n48 */
3476     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n52 */
3477     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/n64 */
3478     jitterlispvm_meta_instruction_id_heap_mallocate, /* heap-allocate/nR */
3479     jitterlispvm_meta_instruction_id_literal_mto_mregister, /* literal-to-register/nR/%rR */
3480     jitterlispvm_meta_instruction_id_nip, /* nip */
3481     jitterlispvm_meta_instruction_id_nip_mdrop, /* nip-drop */
3482     jitterlispvm_meta_instruction_id_nip_mfive, /* nip-five */
3483     jitterlispvm_meta_instruction_id_nip_mfive_mdrop, /* nip-five-drop */
3484     jitterlispvm_meta_instruction_id_nip_mfour, /* nip-four */
3485     jitterlispvm_meta_instruction_id_nip_mfour_mdrop, /* nip-four-drop */
3486     jitterlispvm_meta_instruction_id_nip_mpush_mliteral, /* nip-push-literal/nR */
3487     jitterlispvm_meta_instruction_id_nip_mpush_mregister, /* nip-push-register/%rR */
3488     jitterlispvm_meta_instruction_id_nip_msix, /* nip-six */
3489     jitterlispvm_meta_instruction_id_nip_msix_mdrop, /* nip-six-drop */
3490     jitterlispvm_meta_instruction_id_nip_mthree, /* nip-three */
3491     jitterlispvm_meta_instruction_id_nip_mthree_mdrop, /* nip-three-drop */
3492     jitterlispvm_meta_instruction_id_nip_mtwo, /* nip-two */
3493     jitterlispvm_meta_instruction_id_nip_mtwo_mdrop, /* nip-two-drop */
3494     jitterlispvm_meta_instruction_id_nop, /* nop */
3495     jitterlispvm_meta_instruction_id_pop_mto_mglobal, /* pop-to-global/nR/fR */
3496     jitterlispvm_meta_instruction_id_pop_mto_mglobal_mdefined, /* pop-to-global-defined/nR/fR */
3497     jitterlispvm_meta_instruction_id_pop_mto_mregister, /* pop-to-register/%rR */
3498     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/n0/fR */
3499     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/n1/fR */
3500     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/n2/fR */
3501     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/n3/fR */
3502     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/n4/fR */
3503     jitterlispvm_meta_instruction_id_primitive, /* primitive/nR/nR/fR */
3504     jitterlispvm_meta_instruction_id_primitive_mboolean_mcanonicalize, /* primitive-boolean-canonicalize */
3505     jitterlispvm_meta_instruction_id_primitive_mbox, /* primitive-box */
3506     jitterlispvm_meta_instruction_id_primitive_mbox_mget, /* primitive-box-get/fR */
3507     jitterlispvm_meta_instruction_id_primitive_mbox_msetb_mspecial, /* primitive-box-setb-special/fR */
3508     jitterlispvm_meta_instruction_id_primitive_mcar, /* primitive-car/fR */
3509     jitterlispvm_meta_instruction_id_primitive_mcdr, /* primitive-cdr/fR */
3510     jitterlispvm_meta_instruction_id_primitive_mcharacterp, /* primitive-characterp */
3511     jitterlispvm_meta_instruction_id_primitive_mcons_mspecial, /* primitive-cons-special */
3512     jitterlispvm_meta_instruction_id_primitive_mconsp, /* primitive-consp */
3513     jitterlispvm_meta_instruction_id_primitive_meqp, /* primitive-eqp */
3514     jitterlispvm_meta_instruction_id_primitive_mfixnum_meqp, /* primitive-fixnum-eqp/fR */
3515     jitterlispvm_meta_instruction_id_primitive_mfixnum_mnot_meqp, /* primitive-fixnum-not-eqp/fR */
3516     jitterlispvm_meta_instruction_id_primitive_mfixnump, /* primitive-fixnump */
3517     jitterlispvm_meta_instruction_id_primitive_mgreaterp, /* primitive-greaterp/fR */
3518     jitterlispvm_meta_instruction_id_primitive_mlessp, /* primitive-lessp/fR */
3519     jitterlispvm_meta_instruction_id_primitive_mnegate, /* primitive-negate/fR */
3520     jitterlispvm_meta_instruction_id_primitive_mnegativep, /* primitive-negativep/fR */
3521     jitterlispvm_meta_instruction_id_primitive_mnon_mconsp, /* primitive-non-consp */
3522     jitterlispvm_meta_instruction_id_primitive_mnon_mnegativep, /* primitive-non-negativep/fR */
3523     jitterlispvm_meta_instruction_id_primitive_mnon_mnullp, /* primitive-non-nullp */
3524     jitterlispvm_meta_instruction_id_primitive_mnon_mpositivep, /* primitive-non-positivep/fR */
3525     jitterlispvm_meta_instruction_id_primitive_mnon_msymbolp, /* primitive-non-symbolp */
3526     jitterlispvm_meta_instruction_id_primitive_mnon_mzerop, /* primitive-non-zerop/fR */
3527     jitterlispvm_meta_instruction_id_primitive_mnot, /* primitive-not */
3528     jitterlispvm_meta_instruction_id_primitive_mnot_meqp, /* primitive-not-eqp */
3529     jitterlispvm_meta_instruction_id_primitive_mnot_mgreaterp, /* primitive-not-greaterp/fR */
3530     jitterlispvm_meta_instruction_id_primitive_mnot_mlessp, /* primitive-not-lessp/fR */
3531     jitterlispvm_meta_instruction_id_primitive_mnothingp, /* primitive-nothingp */
3532     jitterlispvm_meta_instruction_id_primitive_mnullp, /* primitive-nullp */
3533     jitterlispvm_meta_instruction_id_primitive_mone_mminus, /* primitive-one-minus/fR */
3534     jitterlispvm_meta_instruction_id_primitive_mone_mplus, /* primitive-one-plus/fR */
3535     jitterlispvm_meta_instruction_id_primitive_mpositivep, /* primitive-positivep/fR */
3536     jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided, /* primitive-primordial-divided/fR */
3537     jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided_munsafe, /* primitive-primordial-divided-unsafe/fR */
3538     jitterlispvm_meta_instruction_id_primitive_mprimordial_mminus, /* primitive-primordial-minus/fR */
3539     jitterlispvm_meta_instruction_id_primitive_mprimordial_mplus, /* primitive-primordial-plus/fR */
3540     jitterlispvm_meta_instruction_id_primitive_mprimordial_mtimes, /* primitive-primordial-times/fR */
3541     jitterlispvm_meta_instruction_id_primitive_mquotient, /* primitive-quotient/fR */
3542     jitterlispvm_meta_instruction_id_primitive_mquotient_munsafe, /* primitive-quotient-unsafe/fR */
3543     jitterlispvm_meta_instruction_id_primitive_mremainder, /* primitive-remainder/fR */
3544     jitterlispvm_meta_instruction_id_primitive_mremainder_munsafe, /* primitive-remainder-unsafe/fR */
3545     jitterlispvm_meta_instruction_id_primitive_mset_mcarb_mspecial, /* primitive-set-carb-special/fR */
3546     jitterlispvm_meta_instruction_id_primitive_mset_mcdrb_mspecial, /* primitive-set-cdrb-special/fR */
3547     jitterlispvm_meta_instruction_id_primitive_msymbolp, /* primitive-symbolp */
3548     jitterlispvm_meta_instruction_id_primitive_mtwo_mdivided, /* primitive-two-divided/fR */
3549     jitterlispvm_meta_instruction_id_primitive_mtwo_mquotient, /* primitive-two-quotient/fR */
3550     jitterlispvm_meta_instruction_id_primitive_mtwo_mremainder, /* primitive-two-remainder/fR */
3551     jitterlispvm_meta_instruction_id_primitive_mtwo_mtimes, /* primitive-two-times/fR */
3552     jitterlispvm_meta_instruction_id_primitive_muniquep, /* primitive-uniquep */
3553     jitterlispvm_meta_instruction_id_primitive_mzerop, /* primitive-zerop/fR */
3554     jitterlispvm_meta_instruction_id_procedure_mprolog, /* procedure-prolog */
3555     jitterlispvm_meta_instruction_id_push_mfalse, /* push-false */
3556     jitterlispvm_meta_instruction_id_push_mglobal, /* push-global/nR/fR */
3557     jitterlispvm_meta_instruction_id_push_mliteral, /* push-literal/nR */
3558     jitterlispvm_meta_instruction_id_push_mnil, /* push-nil */
3559     jitterlispvm_meta_instruction_id_push_mnothing, /* push-nothing */
3560     jitterlispvm_meta_instruction_id_push_mone, /* push-one */
3561     jitterlispvm_meta_instruction_id_push_mregister, /* push-register/%rR */
3562     jitterlispvm_meta_instruction_id_push_munspecified, /* push-unspecified */
3563     jitterlispvm_meta_instruction_id_push_mzero, /* push-zero */
3564     jitterlispvm_meta_instruction_id_register_mto_mregister, /* register-to-register/%rR/%rR */
3565     jitterlispvm_meta_instruction_id_restore_mregister, /* restore-register/%rR */
3566     jitterlispvm_meta_instruction_id_return, /* return */
3567     jitterlispvm_meta_instruction_id_save_mregister, /* save-register/%rR */
3568     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n0 */
3569     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n1 */
3570     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n2 */
3571     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n3 */
3572     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n4 */
3573     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n5 */
3574     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n6 */
3575     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n7 */
3576     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n8 */
3577     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n9 */
3578     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/n10 */
3579     jitterlispvm_meta_instruction_id_tail_mcall, /* tail-call/nR */
3580     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n0 */
3581     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n1 */
3582     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n2 */
3583     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n3 */
3584     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n4 */
3585     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n5 */
3586     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n6 */
3587     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n7 */
3588     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n8 */
3589     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n9 */
3590     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/n10 */
3591     jitterlispvm_meta_instruction_id_tail_mcall_mcompiled, /* tail-call-compiled/nR */
3592     jitterlispvm_meta_instruction_id_unreachable, /* unreachable */
3593     jitterlispvm_meta_instruction_id_branch, /* *branch/fR*-no-fast-branches */
3594     jitterlispvm_meta_instruction_id_branch_mif_mfalse, /* *branch-if-false/fR*-no-fast-branches */
3595     jitterlispvm_meta_instruction_id_branch_mif_mnot_mless, /* *branch-if-not-less/fR/fR*-no-fast-branches */
3596     jitterlispvm_meta_instruction_id_branch_mif_mnot_mnull, /* *branch-if-not-null/fR*-no-fast-branches */
3597     jitterlispvm_meta_instruction_id_branch_mif_mnull, /* *branch-if-null/fR*-no-fast-branches */
3598     jitterlispvm_meta_instruction_id_branch_mif_mregister_mnon_mzero, /* *branch-if-register-non-zero/%rR/fR/fR*-no-fast-branches */
3599     jitterlispvm_meta_instruction_id_branch_mif_mtrue, /* *branch-if-true/fR*-no-fast-branches */
3600     jitterlispvm_meta_instruction_id_check_mclosure, /* *check-closure/fR*-no-fast-branches */
3601     jitterlispvm_meta_instruction_id_check_mglobal_mdefined, /* *check-global-defined/nR/fR*-no-fast-branches */
3602     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n0/fR*-no-fast-branches */
3603     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n1/fR*-no-fast-branches */
3604     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n2/fR*-no-fast-branches */
3605     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n3/fR*-no-fast-branches */
3606     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n4/fR*-no-fast-branches */
3607     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n5/fR*-no-fast-branches */
3608     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n6/fR*-no-fast-branches */
3609     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n7/fR*-no-fast-branches */
3610     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n8/fR*-no-fast-branches */
3611     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n9/fR*-no-fast-branches */
3612     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/n10/fR*-no-fast-branches */
3613     jitterlispvm_meta_instruction_id_check_min_marity, /* *check-in-arity/nR/fR*-no-fast-branches */
3614     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n0/fR*-no-fast-branches */
3615     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n1/fR*-no-fast-branches */
3616     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n2/fR*-no-fast-branches */
3617     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n3/fR*-no-fast-branches */
3618     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n4/fR*-no-fast-branches */
3619     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n5/fR*-no-fast-branches */
3620     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n6/fR*-no-fast-branches */
3621     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n7/fR*-no-fast-branches */
3622     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n8/fR*-no-fast-branches */
3623     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n9/fR*-no-fast-branches */
3624     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/n10/fR*-no-fast-branches */
3625     jitterlispvm_meta_instruction_id_check_min_marity_m_malt, /* *check-in-arity--alt/nR/fR*-no-fast-branches */
3626     jitterlispvm_meta_instruction_id_gc_mif_mneeded, /* *gc-if-needed/fR*-no-fast-branches */
3627     jitterlispvm_meta_instruction_id_pop_mto_mglobal, /* *pop-to-global/nR/fR*-no-fast-branches */
3628     jitterlispvm_meta_instruction_id_pop_mto_mglobal_mdefined, /* *pop-to-global-defined/nR/fR*-no-fast-branches */
3629     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/n0/fR*-no-fast-branches */
3630     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/n1/fR*-no-fast-branches */
3631     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/n2/fR*-no-fast-branches */
3632     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/n3/fR*-no-fast-branches */
3633     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/n4/fR*-no-fast-branches */
3634     jitterlispvm_meta_instruction_id_primitive, /* *primitive/nR/nR/fR*-no-fast-branches */
3635     jitterlispvm_meta_instruction_id_primitive_mbox_mget, /* *primitive-box-get/fR*-no-fast-branches */
3636     jitterlispvm_meta_instruction_id_primitive_mbox_msetb_mspecial, /* *primitive-box-setb-special/fR*-no-fast-branches */
3637     jitterlispvm_meta_instruction_id_primitive_mcar, /* *primitive-car/fR*-no-fast-branches */
3638     jitterlispvm_meta_instruction_id_primitive_mcdr, /* *primitive-cdr/fR*-no-fast-branches */
3639     jitterlispvm_meta_instruction_id_primitive_mfixnum_meqp, /* *primitive-fixnum-eqp/fR*-no-fast-branches */
3640     jitterlispvm_meta_instruction_id_primitive_mfixnum_mnot_meqp, /* *primitive-fixnum-not-eqp/fR*-no-fast-branches */
3641     jitterlispvm_meta_instruction_id_primitive_mgreaterp, /* *primitive-greaterp/fR*-no-fast-branches */
3642     jitterlispvm_meta_instruction_id_primitive_mlessp, /* *primitive-lessp/fR*-no-fast-branches */
3643     jitterlispvm_meta_instruction_id_primitive_mnegate, /* *primitive-negate/fR*-no-fast-branches */
3644     jitterlispvm_meta_instruction_id_primitive_mnegativep, /* *primitive-negativep/fR*-no-fast-branches */
3645     jitterlispvm_meta_instruction_id_primitive_mnon_mnegativep, /* *primitive-non-negativep/fR*-no-fast-branches */
3646     jitterlispvm_meta_instruction_id_primitive_mnon_mpositivep, /* *primitive-non-positivep/fR*-no-fast-branches */
3647     jitterlispvm_meta_instruction_id_primitive_mnon_mzerop, /* *primitive-non-zerop/fR*-no-fast-branches */
3648     jitterlispvm_meta_instruction_id_primitive_mnot_mgreaterp, /* *primitive-not-greaterp/fR*-no-fast-branches */
3649     jitterlispvm_meta_instruction_id_primitive_mnot_mlessp, /* *primitive-not-lessp/fR*-no-fast-branches */
3650     jitterlispvm_meta_instruction_id_primitive_mone_mminus, /* *primitive-one-minus/fR*-no-fast-branches */
3651     jitterlispvm_meta_instruction_id_primitive_mone_mplus, /* *primitive-one-plus/fR*-no-fast-branches */
3652     jitterlispvm_meta_instruction_id_primitive_mpositivep, /* *primitive-positivep/fR*-no-fast-branches */
3653     jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided, /* *primitive-primordial-divided/fR*-no-fast-branches */
3654     jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided_munsafe, /* *primitive-primordial-divided-unsafe/fR*-no-fast-branches */
3655     jitterlispvm_meta_instruction_id_primitive_mprimordial_mminus, /* *primitive-primordial-minus/fR*-no-fast-branches */
3656     jitterlispvm_meta_instruction_id_primitive_mprimordial_mplus, /* *primitive-primordial-plus/fR*-no-fast-branches */
3657     jitterlispvm_meta_instruction_id_primitive_mprimordial_mtimes, /* *primitive-primordial-times/fR*-no-fast-branches */
3658     jitterlispvm_meta_instruction_id_primitive_mquotient, /* *primitive-quotient/fR*-no-fast-branches */
3659     jitterlispvm_meta_instruction_id_primitive_mquotient_munsafe, /* *primitive-quotient-unsafe/fR*-no-fast-branches */
3660     jitterlispvm_meta_instruction_id_primitive_mremainder, /* *primitive-remainder/fR*-no-fast-branches */
3661     jitterlispvm_meta_instruction_id_primitive_mremainder_munsafe, /* *primitive-remainder-unsafe/fR*-no-fast-branches */
3662     jitterlispvm_meta_instruction_id_primitive_mset_mcarb_mspecial, /* *primitive-set-carb-special/fR*-no-fast-branches */
3663     jitterlispvm_meta_instruction_id_primitive_mset_mcdrb_mspecial, /* *primitive-set-cdrb-special/fR*-no-fast-branches */
3664     jitterlispvm_meta_instruction_id_primitive_mtwo_mdivided, /* *primitive-two-divided/fR*-no-fast-branches */
3665     jitterlispvm_meta_instruction_id_primitive_mtwo_mquotient, /* *primitive-two-quotient/fR*-no-fast-branches */
3666     jitterlispvm_meta_instruction_id_primitive_mtwo_mremainder, /* *primitive-two-remainder/fR*-no-fast-branches */
3667     jitterlispvm_meta_instruction_id_primitive_mtwo_mtimes, /* *primitive-two-times/fR*-no-fast-branches */
3668     jitterlispvm_meta_instruction_id_primitive_mzerop, /* *primitive-zerop/fR*-no-fast-branches */
3669     jitterlispvm_meta_instruction_id_push_mglobal /* *push-global/nR/fR*-no-fast-branches */
3670     };
3671 
3672 #ifdef JITTER_HAVE_PATCH_IN
3673 /* Worst-case defect table. */
3674 const jitter_uint
3675 jitterlispvm_worst_case_defect_table [] =
3676   {
3677     jitterlispvm_specialized_instruction_opcode__eINVALID, /* NOT potentially defective. */
3678     jitterlispvm_specialized_instruction_opcode__eBEGINBASICBLOCK, /* NOT potentially defective. */
3679     jitterlispvm_specialized_instruction_opcode__eEXITVM, /* NOT potentially defective. */
3680     jitterlispvm_specialized_instruction_opcode__eDATALOCATIONS, /* NOT potentially defective. */
3681     jitterlispvm_specialized_instruction_opcode__eNOP, /* NOT potentially defective. */
3682     jitterlispvm_specialized_instruction_opcode__eUNREACHABLE0, /* NOT potentially defective. */
3683     jitterlispvm_specialized_instruction_opcode__eUNREACHABLE1, /* NOT potentially defective. */
3684     jitterlispvm_specialized_instruction_opcode__eUNREACHABLE2, /* NOT potentially defective. */
3685     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n1___rrR, /* NOT potentially defective. */
3686     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n2___rrR, /* NOT potentially defective. */
3687     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n3___rrR, /* NOT potentially defective. */
3688     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n4___rrR, /* NOT potentially defective. */
3689     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n5___rrR, /* NOT potentially defective. */
3690     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n6___rrR, /* NOT potentially defective. */
3691     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n7___rrR, /* NOT potentially defective. */
3692     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n8___rrR, /* NOT potentially defective. */
3693     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n9___rrR, /* NOT potentially defective. */
3694     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n10___rrR, /* NOT potentially defective. */
3695     jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__nR___rrR, /* NOT potentially defective. */
3696     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3697     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mfalse__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3698     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mless__fR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3699     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mnull__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3700     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnull__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3701     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mregister_mnon_mzero___rrR__fR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3702     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Abranch_mif_mtrue__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3703     jitterlispvm_specialized_instruction_opcode_call__n0__retR, /* NOT potentially defective. */
3704     jitterlispvm_specialized_instruction_opcode_call__n1__retR, /* NOT potentially defective. */
3705     jitterlispvm_specialized_instruction_opcode_call__n2__retR, /* NOT potentially defective. */
3706     jitterlispvm_specialized_instruction_opcode_call__n3__retR, /* NOT potentially defective. */
3707     jitterlispvm_specialized_instruction_opcode_call__n4__retR, /* NOT potentially defective. */
3708     jitterlispvm_specialized_instruction_opcode_call__n5__retR, /* NOT potentially defective. */
3709     jitterlispvm_specialized_instruction_opcode_call__n6__retR, /* NOT potentially defective. */
3710     jitterlispvm_specialized_instruction_opcode_call__n7__retR, /* NOT potentially defective. */
3711     jitterlispvm_specialized_instruction_opcode_call__n8__retR, /* NOT potentially defective. */
3712     jitterlispvm_specialized_instruction_opcode_call__n9__retR, /* NOT potentially defective. */
3713     jitterlispvm_specialized_instruction_opcode_call__n10__retR, /* NOT potentially defective. */
3714     jitterlispvm_specialized_instruction_opcode_call__nR__retR, /* NOT potentially defective. */
3715     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n0__retR, /* NOT potentially defective. */
3716     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n1__retR, /* NOT potentially defective. */
3717     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n2__retR, /* NOT potentially defective. */
3718     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n3__retR, /* NOT potentially defective. */
3719     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n4__retR, /* NOT potentially defective. */
3720     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n5__retR, /* NOT potentially defective. */
3721     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n6__retR, /* NOT potentially defective. */
3722     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n7__retR, /* NOT potentially defective. */
3723     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n8__retR, /* NOT potentially defective. */
3724     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n9__retR, /* NOT potentially defective. */
3725     jitterlispvm_specialized_instruction_opcode_call_mcompiled__n10__retR, /* NOT potentially defective. */
3726     jitterlispvm_specialized_instruction_opcode_call_mcompiled__nR__retR, /* NOT potentially defective. */
3727     jitterlispvm_specialized_instruction_opcode_call_mfrom_mc__retR, /* NOT potentially defective. */
3728     jitterlispvm_specialized_instruction_opcode_canonicalize_mboolean, /* NOT potentially defective. */
3729     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_mclosure__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3730     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3731     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n0__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3732     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n1__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3733     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n2__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3734     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n3__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3735     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n4__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3736     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n5__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3737     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n6__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3738     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n7__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3739     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n8__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3740     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n9__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3741     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n10__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3742     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3743     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n0__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3744     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n1__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3745     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n2__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3746     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n3__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3747     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n4__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3748     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n5__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3749     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n6__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3750     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n7__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3751     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n8__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3752     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n9__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3753     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n10__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3754     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3755     jitterlispvm_specialized_instruction_opcode_copy_mfrom_mliteral__nR, /* NOT potentially defective. */
3756     jitterlispvm_specialized_instruction_opcode_copy_mfrom_mregister___rrR, /* NOT potentially defective. */
3757     jitterlispvm_specialized_instruction_opcode_copy_mto_mregister___rrR, /* NOT potentially defective. */
3758     jitterlispvm_specialized_instruction_opcode_drop, /* NOT potentially defective. */
3759     jitterlispvm_specialized_instruction_opcode_drop_mnip, /* NOT potentially defective. */
3760     jitterlispvm_specialized_instruction_opcode_dup, /* NOT potentially defective. */
3761     jitterlispvm_specialized_instruction_opcode_exitvm, /* NOT potentially defective. */
3762     jitterlispvm_specialized_instruction_opcode_fail__retR, /* NOT potentially defective. */
3763     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Agc_mif_mneeded__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3764     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n4, /* NOT potentially defective. */
3765     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n8, /* NOT potentially defective. */
3766     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n12, /* NOT potentially defective. */
3767     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n16, /* NOT potentially defective. */
3768     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n24, /* NOT potentially defective. */
3769     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n32, /* NOT potentially defective. */
3770     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n36, /* NOT potentially defective. */
3771     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n48, /* NOT potentially defective. */
3772     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n52, /* NOT potentially defective. */
3773     jitterlispvm_specialized_instruction_opcode_heap_mallocate__n64, /* NOT potentially defective. */
3774     jitterlispvm_specialized_instruction_opcode_heap_mallocate__nR, /* NOT potentially defective. */
3775     jitterlispvm_specialized_instruction_opcode_literal_mto_mregister__nR___rrR, /* NOT potentially defective. */
3776     jitterlispvm_specialized_instruction_opcode_nip, /* NOT potentially defective. */
3777     jitterlispvm_specialized_instruction_opcode_nip_mdrop, /* NOT potentially defective. */
3778     jitterlispvm_specialized_instruction_opcode_nip_mfive, /* NOT potentially defective. */
3779     jitterlispvm_specialized_instruction_opcode_nip_mfive_mdrop, /* NOT potentially defective. */
3780     jitterlispvm_specialized_instruction_opcode_nip_mfour, /* NOT potentially defective. */
3781     jitterlispvm_specialized_instruction_opcode_nip_mfour_mdrop, /* NOT potentially defective. */
3782     jitterlispvm_specialized_instruction_opcode_nip_mpush_mliteral__nR, /* NOT potentially defective. */
3783     jitterlispvm_specialized_instruction_opcode_nip_mpush_mregister___rrR, /* NOT potentially defective. */
3784     jitterlispvm_specialized_instruction_opcode_nip_msix, /* NOT potentially defective. */
3785     jitterlispvm_specialized_instruction_opcode_nip_msix_mdrop, /* NOT potentially defective. */
3786     jitterlispvm_specialized_instruction_opcode_nip_mthree, /* NOT potentially defective. */
3787     jitterlispvm_specialized_instruction_opcode_nip_mthree_mdrop, /* NOT potentially defective. */
3788     jitterlispvm_specialized_instruction_opcode_nip_mtwo, /* NOT potentially defective. */
3789     jitterlispvm_specialized_instruction_opcode_nip_mtwo_mdrop, /* NOT potentially defective. */
3790     jitterlispvm_specialized_instruction_opcode_nop, /* NOT potentially defective. */
3791     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3792     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3793     jitterlispvm_specialized_instruction_opcode_pop_mto_mregister___rrR, /* NOT potentially defective. */
3794     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n0__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3795     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n1__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3796     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n2__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3797     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n3__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3798     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n4__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3799     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3800     jitterlispvm_specialized_instruction_opcode_primitive_mboolean_mcanonicalize, /* NOT potentially defective. */
3801     jitterlispvm_specialized_instruction_opcode_primitive_mbox, /* NOT potentially defective. */
3802     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_mget__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3803     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_msetb_mspecial__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3804     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mcar__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3805     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mcdr__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3806     jitterlispvm_specialized_instruction_opcode_primitive_mcharacterp, /* NOT potentially defective. */
3807     jitterlispvm_specialized_instruction_opcode_primitive_mcons_mspecial, /* NOT potentially defective. */
3808     jitterlispvm_specialized_instruction_opcode_primitive_mconsp, /* NOT potentially defective. */
3809     jitterlispvm_specialized_instruction_opcode_primitive_meqp, /* NOT potentially defective. */
3810     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_meqp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3811     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_mnot_meqp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3812     jitterlispvm_specialized_instruction_opcode_primitive_mfixnump, /* NOT potentially defective. */
3813     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mgreaterp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3814     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mlessp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3815     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegate__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3816     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegativep__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3817     jitterlispvm_specialized_instruction_opcode_primitive_mnon_mconsp, /* NOT potentially defective. */
3818     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mnegativep__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3819     jitterlispvm_specialized_instruction_opcode_primitive_mnon_mnullp, /* NOT potentially defective. */
3820     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mpositivep__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3821     jitterlispvm_specialized_instruction_opcode_primitive_mnon_msymbolp, /* NOT potentially defective. */
3822     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mzerop__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3823     jitterlispvm_specialized_instruction_opcode_primitive_mnot, /* NOT potentially defective. */
3824     jitterlispvm_specialized_instruction_opcode_primitive_mnot_meqp, /* NOT potentially defective. */
3825     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mgreaterp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3826     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mlessp__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3827     jitterlispvm_specialized_instruction_opcode_primitive_mnothingp, /* NOT potentially defective. */
3828     jitterlispvm_specialized_instruction_opcode_primitive_mnullp, /* NOT potentially defective. */
3829     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mminus__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3830     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mplus__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3831     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mpositivep__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3832     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3833     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided_munsafe__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3834     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mminus__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3835     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mplus__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3836     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mtimes__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3837     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3838     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient_munsafe__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3839     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3840     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder_munsafe__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3841     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcarb_mspecial__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3842     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcdrb_mspecial__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3843     jitterlispvm_specialized_instruction_opcode_primitive_msymbolp, /* NOT potentially defective. */
3844     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mdivided__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3845     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mquotient__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3846     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mremainder__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3847     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mtimes__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3848     jitterlispvm_specialized_instruction_opcode_primitive_muniquep, /* NOT potentially defective. */
3849     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Aprimitive_mzerop__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3850     jitterlispvm_specialized_instruction_opcode_procedure_mprolog, /* NOT potentially defective. */
3851     jitterlispvm_specialized_instruction_opcode_push_mfalse, /* NOT potentially defective. */
3852     /*jitterlispvm_specialized_instruction_opcode__eINVALID*/jitterlispvm_specialized_instruction_opcode__Apush_mglobal__nR__fR_A_mno_mfast_mbranches, /* POTENTIALLY DEFECTIVE. */
3853     jitterlispvm_specialized_instruction_opcode_push_mliteral__nR, /* NOT potentially defective. */
3854     jitterlispvm_specialized_instruction_opcode_push_mnil, /* NOT potentially defective. */
3855     jitterlispvm_specialized_instruction_opcode_push_mnothing, /* NOT potentially defective. */
3856     jitterlispvm_specialized_instruction_opcode_push_mone, /* NOT potentially defective. */
3857     jitterlispvm_specialized_instruction_opcode_push_mregister___rrR, /* NOT potentially defective. */
3858     jitterlispvm_specialized_instruction_opcode_push_munspecified, /* NOT potentially defective. */
3859     jitterlispvm_specialized_instruction_opcode_push_mzero, /* NOT potentially defective. */
3860     jitterlispvm_specialized_instruction_opcode_register_mto_mregister___rrR___rrR, /* NOT potentially defective. */
3861     jitterlispvm_specialized_instruction_opcode_restore_mregister___rrR, /* NOT potentially defective. */
3862     jitterlispvm_specialized_instruction_opcode_return, /* NOT potentially defective. */
3863     jitterlispvm_specialized_instruction_opcode_save_mregister___rrR, /* NOT potentially defective. */
3864     jitterlispvm_specialized_instruction_opcode_tail_mcall__n0, /* NOT potentially defective. */
3865     jitterlispvm_specialized_instruction_opcode_tail_mcall__n1, /* NOT potentially defective. */
3866     jitterlispvm_specialized_instruction_opcode_tail_mcall__n2, /* NOT potentially defective. */
3867     jitterlispvm_specialized_instruction_opcode_tail_mcall__n3, /* NOT potentially defective. */
3868     jitterlispvm_specialized_instruction_opcode_tail_mcall__n4, /* NOT potentially defective. */
3869     jitterlispvm_specialized_instruction_opcode_tail_mcall__n5, /* NOT potentially defective. */
3870     jitterlispvm_specialized_instruction_opcode_tail_mcall__n6, /* NOT potentially defective. */
3871     jitterlispvm_specialized_instruction_opcode_tail_mcall__n7, /* NOT potentially defective. */
3872     jitterlispvm_specialized_instruction_opcode_tail_mcall__n8, /* NOT potentially defective. */
3873     jitterlispvm_specialized_instruction_opcode_tail_mcall__n9, /* NOT potentially defective. */
3874     jitterlispvm_specialized_instruction_opcode_tail_mcall__n10, /* NOT potentially defective. */
3875     jitterlispvm_specialized_instruction_opcode_tail_mcall__nR, /* NOT potentially defective. */
3876     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n0, /* NOT potentially defective. */
3877     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n1, /* NOT potentially defective. */
3878     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n2, /* NOT potentially defective. */
3879     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n3, /* NOT potentially defective. */
3880     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n4, /* NOT potentially defective. */
3881     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n5, /* NOT potentially defective. */
3882     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n6, /* NOT potentially defective. */
3883     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n7, /* NOT potentially defective. */
3884     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n8, /* NOT potentially defective. */
3885     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n9, /* NOT potentially defective. */
3886     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n10, /* NOT potentially defective. */
3887     jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__nR, /* NOT potentially defective. */
3888     jitterlispvm_specialized_instruction_opcode_unreachable, /* NOT potentially defective. */
3889     jitterlispvm_specialized_instruction_opcode__Abranch__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3890     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mfalse__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3891     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mless__fR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3892     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mnull__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3893     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnull__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3894     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mregister_mnon_mzero___rrR__fR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3895     jitterlispvm_specialized_instruction_opcode__Abranch_mif_mtrue__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3896     jitterlispvm_specialized_instruction_opcode__Acheck_mclosure__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3897     jitterlispvm_specialized_instruction_opcode__Acheck_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3898     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n0__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3899     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n1__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3900     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n2__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3901     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n3__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3902     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n4__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3903     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n5__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3904     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n6__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3905     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n7__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3906     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n8__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3907     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n9__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3908     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n10__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3909     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3910     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n0__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3911     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n1__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3912     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n2__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3913     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n3__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3914     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n4__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3915     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n5__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3916     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n6__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3917     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n7__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3918     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n8__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3919     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n9__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3920     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n10__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3921     jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3922     jitterlispvm_specialized_instruction_opcode__Agc_mif_mneeded__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3923     jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3924     jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3925     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n0__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3926     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n1__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3927     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n2__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3928     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n3__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3929     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n4__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3930     jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__nR__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3931     jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_mget__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3932     jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_msetb_mspecial__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3933     jitterlispvm_specialized_instruction_opcode__Aprimitive_mcar__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3934     jitterlispvm_specialized_instruction_opcode__Aprimitive_mcdr__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3935     jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_meqp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3936     jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_mnot_meqp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3937     jitterlispvm_specialized_instruction_opcode__Aprimitive_mgreaterp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3938     jitterlispvm_specialized_instruction_opcode__Aprimitive_mlessp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3939     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegate__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3940     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegativep__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3941     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mnegativep__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3942     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mpositivep__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3943     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mzerop__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3944     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mgreaterp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3945     jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mlessp__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3946     jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mminus__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3947     jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mplus__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3948     jitterlispvm_specialized_instruction_opcode__Aprimitive_mpositivep__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3949     jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3950     jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided_munsafe__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3951     jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mminus__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3952     jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mplus__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3953     jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mtimes__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3954     jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3955     jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient_munsafe__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3956     jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3957     jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder_munsafe__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3958     jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcarb_mspecial__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3959     jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcdrb_mspecial__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3960     jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mdivided__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3961     jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mquotient__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3962     jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mremainder__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3963     jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mtimes__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3964     jitterlispvm_specialized_instruction_opcode__Aprimitive_mzerop__fR_A_mno_mfast_mbranches, /* NOT potentially defective. */
3965     jitterlispvm_specialized_instruction_opcode__Apush_mglobal__nR__fR_A_mno_mfast_mbranches /* NOT potentially defective. */
3966   };
3967 #endif // #ifdef JITTER_HAVE_PATCH_IN
3968 
3969 
3970 void
jitterlispvm_rewrite(struct jitter_mutable_routine * jitter_mutable_routine_p)3971 jitterlispvm_rewrite (struct jitter_mutable_routine *jitter_mutable_routine_p)
3972 {
3973   JITTTER_REWRITE_FUNCTION_PROLOG_;
3974 
3975 /* User-specified code, rewriter part: beginning. */
3976 
3977 /* User-specified code, rewriter part: end */
3978 
3979 
3980 //asm volatile ("\n# checking pop-to-register-push-register");
3981 //fprintf (stderr, "Trying rule 1 of 66, \"pop-to-register-push-register\" (line 1563)\n");
3982 /* Rewrite rule "pop-to-register-push-register" */
3983 JITTER_RULE_BEGIN(2)
3984   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
3985     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
3986     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
3987   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
3988   JITTER_RULE_BEGIN_CONDITIONS
3989     /* Check opcodes first: they are likely not to match, and in */
3990     /* that case we want to fail as early as possible. */
3991     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
3992     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
3993     /* Check arguments, binding placeholders.  We don't have to worry */
3994     /* about arity, since the opcodes match if we're here. */
3995     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
3996     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
3997     /* Rule guard. */
3998     JITTER_RULE_CONDITION(
3999       true
4000                          )
4001   JITTER_RULE_END_CONDITIONS
4002   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4003     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4004     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4005   JITTER_RULE_END_PLACEHOLDER_CLONING
4006   JITTER_RULE_BEGIN_BODY
4007   //fprintf (stderr, "* The rule pop-to-register-push-register (line 1563) fires...\n");
4008     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
4009     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
4010     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
4011     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4012       JITTER_PLACEHOLDER_NAME(a)
4013                                  );
4014     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
4015     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
4016     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
4017     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4018       JITTER_PLACEHOLDER_NAME(b)
4019                                  );
4020     //fprintf (stderr, "  ...End of the rule pop-to-register-push-register\n");
4021   JITTER_RULE_END_BODY
4022   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4023     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4024     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4025   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4026 JITTER_RULE_END
4027 
4028 //asm volatile ("\n# checking pop-to-register-push-literal");
4029 //fprintf (stderr, "Trying rule 2 of 66, \"pop-to-register-push-literal\" (line 1568)\n");
4030 /* Rewrite rule "pop-to-register-push-literal" */
4031 JITTER_RULE_BEGIN(2)
4032   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4033     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4034     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4035   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4036   JITTER_RULE_BEGIN_CONDITIONS
4037     /* Check opcodes first: they are likely not to match, and in */
4038     /* that case we want to fail as early as possible. */
4039     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
4040     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
4041     /* Check arguments, binding placeholders.  We don't have to worry */
4042     /* about arity, since the opcodes match if we're here. */
4043     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4044     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4045     /* Rule guard. */
4046     JITTER_RULE_CONDITION(
4047       true
4048                          )
4049   JITTER_RULE_END_CONDITIONS
4050   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4051     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4052     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4053   JITTER_RULE_END_PLACEHOLDER_CLONING
4054   JITTER_RULE_BEGIN_BODY
4055   //fprintf (stderr, "* The rule pop-to-register-push-literal (line 1568) fires...\n");
4056     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
4057     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
4058     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
4059     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4060       JITTER_PLACEHOLDER_NAME(a)
4061                                  );
4062     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
4063     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
4064     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
4065     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4066       JITTER_PLACEHOLDER_NAME(b)
4067                                  );
4068     //fprintf (stderr, "  ...End of the rule pop-to-register-push-literal\n");
4069   JITTER_RULE_END_BODY
4070   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4071     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4072     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4073   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4074 JITTER_RULE_END
4075 
4076 //asm volatile ("\n# checking push-literal-pop-to-register");
4077 //fprintf (stderr, "Trying rule 3 of 66, \"push-literal-pop-to-register\" (line 1574)\n");
4078 /* Rewrite rule "push-literal-pop-to-register" */
4079 JITTER_RULE_BEGIN(2)
4080   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4081     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4082     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4083   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4084   JITTER_RULE_BEGIN_CONDITIONS
4085     /* Check opcodes first: they are likely not to match, and in */
4086     /* that case we want to fail as early as possible. */
4087     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mliteral)
4088     JITTER_RULE_CONDITION_MATCH_OPCODE(1, pop_mto_mregister)
4089     /* Check arguments, binding placeholders.  We don't have to worry */
4090     /* about arity, since the opcodes match if we're here. */
4091     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4092     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4093     /* Rule guard. */
4094     JITTER_RULE_CONDITION(
4095       true
4096                          )
4097   JITTER_RULE_END_CONDITIONS
4098   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4099     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4100     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4101   JITTER_RULE_END_PLACEHOLDER_CLONING
4102   JITTER_RULE_BEGIN_BODY
4103   //fprintf (stderr, "* The rule push-literal-pop-to-register (line 1574) fires...\n");
4104     //fprintf (stderr, "    rewrite: adding instruction literal-to-register\n");
4105     JITTER_RULE_APPEND_INSTRUCTION_(literal_mto_mregister);
4106     //fprintf (stderr, "    instantiating the 0-th argument of literal-to-register\n");
4107     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4108       JITTER_PLACEHOLDER_NAME(a)
4109                                  );
4110     //fprintf (stderr, "    instantiating the 1-th argument of literal-to-register\n");
4111     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4112       JITTER_PLACEHOLDER_NAME(b)
4113                                  );
4114     //fprintf (stderr, "  ...End of the rule push-literal-pop-to-register\n");
4115   JITTER_RULE_END_BODY
4116   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4117     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4118     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4119   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4120 JITTER_RULE_END
4121 
4122 //asm volatile ("\n# checking drop-push-register");
4123 //fprintf (stderr, "Trying rule 4 of 66, \"drop-push-register\" (line 1580)\n");
4124 /* Rewrite rule "drop-push-register" */
4125 JITTER_RULE_BEGIN(2)
4126   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4127     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4128   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4129   JITTER_RULE_BEGIN_CONDITIONS
4130     /* Check opcodes first: they are likely not to match, and in */
4131     /* that case we want to fail as early as possible. */
4132     JITTER_RULE_CONDITION_MATCH_OPCODE(0, drop)
4133     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
4134     /* Check arguments, binding placeholders.  We don't have to worry */
4135     /* about arity, since the opcodes match if we're here. */
4136     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4137     /* Rule guard. */
4138     JITTER_RULE_CONDITION(
4139       true
4140                          )
4141   JITTER_RULE_END_CONDITIONS
4142   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4143     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4144   JITTER_RULE_END_PLACEHOLDER_CLONING
4145   JITTER_RULE_BEGIN_BODY
4146   //fprintf (stderr, "* The rule drop-push-register (line 1580) fires...\n");
4147     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
4148     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
4149     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
4150     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4151       JITTER_PLACEHOLDER_NAME(a)
4152                                  );
4153     //fprintf (stderr, "  ...End of the rule drop-push-register\n");
4154   JITTER_RULE_END_BODY
4155   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4156     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4157   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4158 JITTER_RULE_END
4159 
4160 //asm volatile ("\n# checking drop-push-literal");
4161 //fprintf (stderr, "Trying rule 5 of 66, \"drop-push-literal\" (line 1585)\n");
4162 /* Rewrite rule "drop-push-literal" */
4163 JITTER_RULE_BEGIN(2)
4164   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4165     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4166   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4167   JITTER_RULE_BEGIN_CONDITIONS
4168     /* Check opcodes first: they are likely not to match, and in */
4169     /* that case we want to fail as early as possible. */
4170     JITTER_RULE_CONDITION_MATCH_OPCODE(0, drop)
4171     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
4172     /* Check arguments, binding placeholders.  We don't have to worry */
4173     /* about arity, since the opcodes match if we're here. */
4174     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4175     /* Rule guard. */
4176     JITTER_RULE_CONDITION(
4177       true
4178                          )
4179   JITTER_RULE_END_CONDITIONS
4180   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4181     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4182   JITTER_RULE_END_PLACEHOLDER_CLONING
4183   JITTER_RULE_BEGIN_BODY
4184   //fprintf (stderr, "* The rule drop-push-literal (line 1585) fires...\n");
4185     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
4186     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
4187     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
4188     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4189       JITTER_PLACEHOLDER_NAME(a)
4190                                  );
4191     //fprintf (stderr, "  ...End of the rule drop-push-literal\n");
4192   JITTER_RULE_END_BODY
4193   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4194     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4195   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4196 JITTER_RULE_END
4197 
4198 //asm volatile ("\n# checking drop-push-unspecified");
4199 //fprintf (stderr, "Trying rule 6 of 66, \"drop-push-unspecified\" (line 1590)\n");
4200 /* Rewrite rule "drop-push-unspecified" */
4201 JITTER_RULE_BEGIN(2)
4202   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4203   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4204   JITTER_RULE_BEGIN_CONDITIONS
4205     /* Check opcodes first: they are likely not to match, and in */
4206     /* that case we want to fail as early as possible. */
4207     JITTER_RULE_CONDITION_MATCH_OPCODE(0, drop)
4208     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_munspecified)
4209     /* Check arguments, binding placeholders.  We don't have to worry */
4210     /* about arity, since the opcodes match if we're here. */
4211     /* Rule guard. */
4212     JITTER_RULE_CONDITION(
4213       true
4214                          )
4215   JITTER_RULE_END_CONDITIONS
4216   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4217   JITTER_RULE_END_PLACEHOLDER_CLONING
4218   JITTER_RULE_BEGIN_BODY
4219   //fprintf (stderr, "* The rule drop-push-unspecified (line 1590) fires...\n");
4220     //fprintf (stderr, "  ...End of the rule drop-push-unspecified\n");
4221   JITTER_RULE_END_BODY
4222   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4223   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4224 JITTER_RULE_END
4225 
4226 //asm volatile ("\n# checking push-register-pop-to-register");
4227 //fprintf (stderr, "Trying rule 7 of 66, \"push-register-pop-to-register\" (line 1596)\n");
4228 /* Rewrite rule "push-register-pop-to-register" */
4229 JITTER_RULE_BEGIN(2)
4230   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4231     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4232     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4233   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4234   JITTER_RULE_BEGIN_CONDITIONS
4235     /* Check opcodes first: they are likely not to match, and in */
4236     /* that case we want to fail as early as possible. */
4237     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mregister)
4238     JITTER_RULE_CONDITION_MATCH_OPCODE(1, pop_mto_mregister)
4239     /* Check arguments, binding placeholders.  We don't have to worry */
4240     /* about arity, since the opcodes match if we're here. */
4241     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4242     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4243     /* Rule guard. */
4244     JITTER_RULE_CONDITION(
4245       true
4246                          )
4247   JITTER_RULE_END_CONDITIONS
4248   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4249     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4250     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4251   JITTER_RULE_END_PLACEHOLDER_CLONING
4252   JITTER_RULE_BEGIN_BODY
4253   //fprintf (stderr, "* The rule push-register-pop-to-register (line 1596) fires...\n");
4254     //fprintf (stderr, "    rewrite: adding instruction register-to-register\n");
4255     JITTER_RULE_APPEND_INSTRUCTION_(register_mto_mregister);
4256     //fprintf (stderr, "    instantiating the 0-th argument of register-to-register\n");
4257     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4258       JITTER_PLACEHOLDER_NAME(a)
4259                                  );
4260     //fprintf (stderr, "    instantiating the 1-th argument of register-to-register\n");
4261     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4262       JITTER_PLACEHOLDER_NAME(b)
4263                                  );
4264     //fprintf (stderr, "  ...End of the rule push-register-pop-to-register\n");
4265   JITTER_RULE_END_BODY
4266   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4267     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4268     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4269   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4270 JITTER_RULE_END
4271 
4272 //asm volatile ("\n# checking copy-from-register-pop-to-register");
4273 //fprintf (stderr, "Trying rule 8 of 66, \"copy-from-register-pop-to-register\" (line 1602)\n");
4274 /* Rewrite rule "copy-from-register-pop-to-register" */
4275 JITTER_RULE_BEGIN(2)
4276   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4277     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4278     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4279   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4280   JITTER_RULE_BEGIN_CONDITIONS
4281     /* Check opcodes first: they are likely not to match, and in */
4282     /* that case we want to fail as early as possible. */
4283     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
4284     JITTER_RULE_CONDITION_MATCH_OPCODE(1, pop_mto_mregister)
4285     /* Check arguments, binding placeholders.  We don't have to worry */
4286     /* about arity, since the opcodes match if we're here. */
4287     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4288     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4289     /* Rule guard. */
4290     JITTER_RULE_CONDITION(
4291       true
4292                          )
4293   JITTER_RULE_END_CONDITIONS
4294   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4295     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4296     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4297   JITTER_RULE_END_PLACEHOLDER_CLONING
4298   JITTER_RULE_BEGIN_BODY
4299   //fprintf (stderr, "* The rule copy-from-register-pop-to-register (line 1602) fires...\n");
4300     //fprintf (stderr, "    rewrite: adding instruction register-to-register\n");
4301     JITTER_RULE_APPEND_INSTRUCTION_(register_mto_mregister);
4302     //fprintf (stderr, "    instantiating the 0-th argument of register-to-register\n");
4303     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4304       JITTER_PLACEHOLDER_NAME(a)
4305                                  );
4306     //fprintf (stderr, "    instantiating the 1-th argument of register-to-register\n");
4307     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4308       JITTER_PLACEHOLDER_NAME(b)
4309                                  );
4310     //fprintf (stderr, "    rewrite: adding instruction drop\n");
4311     JITTER_RULE_APPEND_INSTRUCTION_(drop);
4312     //fprintf (stderr, "  ...End of the rule copy-from-register-pop-to-register\n");
4313   JITTER_RULE_END_BODY
4314   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4315     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4316     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4317   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4318 JITTER_RULE_END
4319 
4320 //asm volatile ("\n# checking copy-from-literal-pop-to-register");
4321 //fprintf (stderr, "Trying rule 9 of 66, \"copy-from-literal-pop-to-register\" (line 1608)\n");
4322 /* Rewrite rule "copy-from-literal-pop-to-register" */
4323 JITTER_RULE_BEGIN(2)
4324   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4325     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4326     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4327   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4328   JITTER_RULE_BEGIN_CONDITIONS
4329     /* Check opcodes first: they are likely not to match, and in */
4330     /* that case we want to fail as early as possible. */
4331     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
4332     JITTER_RULE_CONDITION_MATCH_OPCODE(1, pop_mto_mregister)
4333     /* Check arguments, binding placeholders.  We don't have to worry */
4334     /* about arity, since the opcodes match if we're here. */
4335     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4336     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4337     /* Rule guard. */
4338     JITTER_RULE_CONDITION(
4339       true
4340                          )
4341   JITTER_RULE_END_CONDITIONS
4342   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4343     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4344     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4345   JITTER_RULE_END_PLACEHOLDER_CLONING
4346   JITTER_RULE_BEGIN_BODY
4347   //fprintf (stderr, "* The rule copy-from-literal-pop-to-register (line 1608) fires...\n");
4348     //fprintf (stderr, "    rewrite: adding instruction literal-to-register\n");
4349     JITTER_RULE_APPEND_INSTRUCTION_(literal_mto_mregister);
4350     //fprintf (stderr, "    instantiating the 0-th argument of literal-to-register\n");
4351     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4352       JITTER_PLACEHOLDER_NAME(a)
4353                                  );
4354     //fprintf (stderr, "    instantiating the 1-th argument of literal-to-register\n");
4355     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4356       JITTER_PLACEHOLDER_NAME(b)
4357                                  );
4358     //fprintf (stderr, "    rewrite: adding instruction drop\n");
4359     JITTER_RULE_APPEND_INSTRUCTION_(drop);
4360     //fprintf (stderr, "  ...End of the rule copy-from-literal-pop-to-register\n");
4361   JITTER_RULE_END_BODY
4362   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4363     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4364     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4365   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4366 JITTER_RULE_END
4367 
4368 //asm volatile ("\n# checking push-register-push-register");
4369 //fprintf (stderr, "Trying rule 10 of 66, \"push-register-push-register\" (line 1614)\n");
4370 /* Rewrite rule "push-register-push-register" */
4371 JITTER_RULE_BEGIN(2)
4372   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4373     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4374   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4375   JITTER_RULE_BEGIN_CONDITIONS
4376     /* Check opcodes first: they are likely not to match, and in */
4377     /* that case we want to fail as early as possible. */
4378     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mregister)
4379     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
4380     /* Check arguments, binding placeholders.  We don't have to worry */
4381     /* about arity, since the opcodes match if we're here. */
4382     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4383     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4384     /* Rule guard. */
4385     JITTER_RULE_CONDITION(
4386       true
4387                          )
4388   JITTER_RULE_END_CONDITIONS
4389   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4390     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4391   JITTER_RULE_END_PLACEHOLDER_CLONING
4392   JITTER_RULE_BEGIN_BODY
4393   //fprintf (stderr, "* The rule push-register-push-register (line 1614) fires...\n");
4394     //fprintf (stderr, "    rewrite: adding instruction push-register\n");
4395     JITTER_RULE_APPEND_INSTRUCTION_(push_mregister);
4396     //fprintf (stderr, "    instantiating the 0-th argument of push-register\n");
4397     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4398       JITTER_PLACEHOLDER_NAME(a)
4399                                  );
4400     //fprintf (stderr, "    rewrite: adding instruction dup\n");
4401     JITTER_RULE_APPEND_INSTRUCTION_(dup);
4402     //fprintf (stderr, "  ...End of the rule push-register-push-register\n");
4403   JITTER_RULE_END_BODY
4404   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4405     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4406   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4407 JITTER_RULE_END
4408 
4409 //asm volatile ("\n# checking copy-from-register-push-register");
4410 //fprintf (stderr, "Trying rule 11 of 66, \"copy-from-register-push-register\" (line 1620)\n");
4411 /* Rewrite rule "copy-from-register-push-register" */
4412 JITTER_RULE_BEGIN(2)
4413   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4414     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4415   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4416   JITTER_RULE_BEGIN_CONDITIONS
4417     /* Check opcodes first: they are likely not to match, and in */
4418     /* that case we want to fail as early as possible. */
4419     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
4420     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
4421     /* Check arguments, binding placeholders.  We don't have to worry */
4422     /* about arity, since the opcodes match if we're here. */
4423     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4424     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4425     /* Rule guard. */
4426     JITTER_RULE_CONDITION(
4427       true
4428                          )
4429   JITTER_RULE_END_CONDITIONS
4430   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4431     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4432   JITTER_RULE_END_PLACEHOLDER_CLONING
4433   JITTER_RULE_BEGIN_BODY
4434   //fprintf (stderr, "* The rule copy-from-register-push-register (line 1620) fires...\n");
4435     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
4436     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
4437     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
4438     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4439       JITTER_PLACEHOLDER_NAME(a)
4440                                  );
4441     //fprintf (stderr, "    rewrite: adding instruction dup\n");
4442     JITTER_RULE_APPEND_INSTRUCTION_(dup);
4443     //fprintf (stderr, "  ...End of the rule copy-from-register-push-register\n");
4444   JITTER_RULE_END_BODY
4445   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4446     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4447   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4448 JITTER_RULE_END
4449 
4450 //asm volatile ("\n# checking copy-to-register-and-push-the-same-register");
4451 //fprintf (stderr, "Trying rule 12 of 66, \"copy-to-register-and-push-the-same-register\" (line 1626)\n");
4452 /* Rewrite rule "copy-to-register-and-push-the-same-register" */
4453 JITTER_RULE_BEGIN(2)
4454   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4455     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4456   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4457   JITTER_RULE_BEGIN_CONDITIONS
4458     /* Check opcodes first: they are likely not to match, and in */
4459     /* that case we want to fail as early as possible. */
4460     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mto_mregister)
4461     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
4462     /* Check arguments, binding placeholders.  We don't have to worry */
4463     /* about arity, since the opcodes match if we're here. */
4464     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4465     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4466     /* Rule guard. */
4467     JITTER_RULE_CONDITION(
4468       true
4469                          )
4470   JITTER_RULE_END_CONDITIONS
4471   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4472     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4473   JITTER_RULE_END_PLACEHOLDER_CLONING
4474   JITTER_RULE_BEGIN_BODY
4475   //fprintf (stderr, "* The rule copy-to-register-and-push-the-same-register (line 1626) fires...\n");
4476     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
4477     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
4478     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
4479     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4480       JITTER_PLACEHOLDER_NAME(a)
4481                                  );
4482     //fprintf (stderr, "    rewrite: adding instruction dup\n");
4483     JITTER_RULE_APPEND_INSTRUCTION_(dup);
4484     //fprintf (stderr, "  ...End of the rule copy-to-register-and-push-the-same-register\n");
4485   JITTER_RULE_END_BODY
4486   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4487     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4488   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4489 JITTER_RULE_END
4490 
4491 //asm volatile ("\n# checking copy-to-and-from-the-same-register");
4492 //fprintf (stderr, "Trying rule 13 of 66, \"copy-to-and-from-the-same-register\" (line 1632)\n");
4493 /* Rewrite rule "copy-to-and-from-the-same-register" */
4494 JITTER_RULE_BEGIN(2)
4495   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4496     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4497   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4498   JITTER_RULE_BEGIN_CONDITIONS
4499     /* Check opcodes first: they are likely not to match, and in */
4500     /* that case we want to fail as early as possible. */
4501     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mto_mregister)
4502     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mregister)
4503     /* Check arguments, binding placeholders.  We don't have to worry */
4504     /* about arity, since the opcodes match if we're here. */
4505     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4506     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4507     /* Rule guard. */
4508     JITTER_RULE_CONDITION(
4509       true
4510                          )
4511   JITTER_RULE_END_CONDITIONS
4512   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4513     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4514   JITTER_RULE_END_PLACEHOLDER_CLONING
4515   JITTER_RULE_BEGIN_BODY
4516   //fprintf (stderr, "* The rule copy-to-and-from-the-same-register (line 1632) fires...\n");
4517     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
4518     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
4519     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
4520     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4521       JITTER_PLACEHOLDER_NAME(a)
4522                                  );
4523     //fprintf (stderr, "  ...End of the rule copy-to-and-from-the-same-register\n");
4524   JITTER_RULE_END_BODY
4525   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4526     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4527   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4528 JITTER_RULE_END
4529 
4530 //asm volatile ("\n# checking push-the-same-literal-twice");
4531 //fprintf (stderr, "Trying rule 14 of 66, \"push-the-same-literal-twice\" (line 1638)\n");
4532 /* Rewrite rule "push-the-same-literal-twice" */
4533 JITTER_RULE_BEGIN(2)
4534   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4535     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4536   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4537   JITTER_RULE_BEGIN_CONDITIONS
4538     /* Check opcodes first: they are likely not to match, and in */
4539     /* that case we want to fail as early as possible. */
4540     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mliteral)
4541     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
4542     /* Check arguments, binding placeholders.  We don't have to worry */
4543     /* about arity, since the opcodes match if we're here. */
4544     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4545     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4546     /* Rule guard. */
4547     JITTER_RULE_CONDITION(
4548       true
4549                          )
4550   JITTER_RULE_END_CONDITIONS
4551   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4552     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4553   JITTER_RULE_END_PLACEHOLDER_CLONING
4554   JITTER_RULE_BEGIN_BODY
4555   //fprintf (stderr, "* The rule push-the-same-literal-twice (line 1638) fires...\n");
4556     //fprintf (stderr, "    rewrite: adding instruction push-literal\n");
4557     JITTER_RULE_APPEND_INSTRUCTION_(push_mliteral);
4558     //fprintf (stderr, "    instantiating the 0-th argument of push-literal\n");
4559     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4560       JITTER_PLACEHOLDER_NAME(a)
4561                                  );
4562     //fprintf (stderr, "    rewrite: adding instruction dup\n");
4563     JITTER_RULE_APPEND_INSTRUCTION_(dup);
4564     //fprintf (stderr, "  ...End of the rule push-the-same-literal-twice\n");
4565   JITTER_RULE_END_BODY
4566   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4567     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4568   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4569 JITTER_RULE_END
4570 
4571 //asm volatile ("\n# checking copy-from-literal-and-push-the-same-literal");
4572 //fprintf (stderr, "Trying rule 15 of 66, \"copy-from-literal-and-push-the-same-literal\" (line 1644)\n");
4573 /* Rewrite rule "copy-from-literal-and-push-the-same-literal" */
4574 JITTER_RULE_BEGIN(2)
4575   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4576     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4577   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4578   JITTER_RULE_BEGIN_CONDITIONS
4579     /* Check opcodes first: they are likely not to match, and in */
4580     /* that case we want to fail as early as possible. */
4581     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
4582     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
4583     /* Check arguments, binding placeholders.  We don't have to worry */
4584     /* about arity, since the opcodes match if we're here. */
4585     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4586     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4587     /* Rule guard. */
4588     JITTER_RULE_CONDITION(
4589       true
4590                          )
4591   JITTER_RULE_END_CONDITIONS
4592   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4593     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4594   JITTER_RULE_END_PLACEHOLDER_CLONING
4595   JITTER_RULE_BEGIN_BODY
4596   //fprintf (stderr, "* The rule copy-from-literal-and-push-the-same-literal (line 1644) fires...\n");
4597     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
4598     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
4599     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
4600     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4601       JITTER_PLACEHOLDER_NAME(a)
4602                                  );
4603     //fprintf (stderr, "    rewrite: adding instruction dup\n");
4604     JITTER_RULE_APPEND_INSTRUCTION_(dup);
4605     //fprintf (stderr, "  ...End of the rule copy-from-literal-and-push-the-same-literal\n");
4606   JITTER_RULE_END_BODY
4607   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4608     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4609   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4610 JITTER_RULE_END
4611 
4612 //asm volatile ("\n# checking copy-from-literal-then-from-another-literal");
4613 //fprintf (stderr, "Trying rule 16 of 66, \"copy-from-literal-then-from-another-literal\" (line 1652)\n");
4614 /* Rewrite rule "copy-from-literal-then-from-another-literal" */
4615 JITTER_RULE_BEGIN(2)
4616   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4617     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4618     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4619   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4620   JITTER_RULE_BEGIN_CONDITIONS
4621     /* Check opcodes first: they are likely not to match, and in */
4622     /* that case we want to fail as early as possible. */
4623     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
4624     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mliteral)
4625     /* Check arguments, binding placeholders.  We don't have to worry */
4626     /* about arity, since the opcodes match if we're here. */
4627     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4628     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4629     /* Rule guard. */
4630     JITTER_RULE_CONDITION(
4631       true
4632                          )
4633   JITTER_RULE_END_CONDITIONS
4634   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4635     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4636     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4637   JITTER_RULE_END_PLACEHOLDER_CLONING
4638   JITTER_RULE_BEGIN_BODY
4639   //fprintf (stderr, "* The rule copy-from-literal-then-from-another-literal (line 1652) fires...\n");
4640     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
4641     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
4642     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
4643     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4644       JITTER_PLACEHOLDER_NAME(b)
4645                                  );
4646     //fprintf (stderr, "  ...End of the rule copy-from-literal-then-from-another-literal\n");
4647   JITTER_RULE_END_BODY
4648   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4649     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4650     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4651   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4652 JITTER_RULE_END
4653 
4654 //asm volatile ("\n# checking copy-from-literal-then-from-a-register");
4655 //fprintf (stderr, "Trying rule 17 of 66, \"copy-from-literal-then-from-a-register\" (line 1657)\n");
4656 /* Rewrite rule "copy-from-literal-then-from-a-register" */
4657 JITTER_RULE_BEGIN(2)
4658   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4659     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4660     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4661   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4662   JITTER_RULE_BEGIN_CONDITIONS
4663     /* Check opcodes first: they are likely not to match, and in */
4664     /* that case we want to fail as early as possible. */
4665     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
4666     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mregister)
4667     /* Check arguments, binding placeholders.  We don't have to worry */
4668     /* about arity, since the opcodes match if we're here. */
4669     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4670     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4671     /* Rule guard. */
4672     JITTER_RULE_CONDITION(
4673       true
4674                          )
4675   JITTER_RULE_END_CONDITIONS
4676   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4677     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4678     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4679   JITTER_RULE_END_PLACEHOLDER_CLONING
4680   JITTER_RULE_BEGIN_BODY
4681   //fprintf (stderr, "* The rule copy-from-literal-then-from-a-register (line 1657) fires...\n");
4682     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
4683     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
4684     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
4685     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4686       JITTER_PLACEHOLDER_NAME(b)
4687                                  );
4688     //fprintf (stderr, "  ...End of the rule copy-from-literal-then-from-a-register\n");
4689   JITTER_RULE_END_BODY
4690   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4691     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4692     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4693   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4694 JITTER_RULE_END
4695 
4696 //asm volatile ("\n# checking copy-from-a-register-then-from-literal");
4697 //fprintf (stderr, "Trying rule 18 of 66, \"copy-from-a-register-then-from-literal\" (line 1662)\n");
4698 /* Rewrite rule "copy-from-a-register-then-from-literal" */
4699 JITTER_RULE_BEGIN(2)
4700   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4701     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4702     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4703   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4704   JITTER_RULE_BEGIN_CONDITIONS
4705     /* Check opcodes first: they are likely not to match, and in */
4706     /* that case we want to fail as early as possible. */
4707     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
4708     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mliteral)
4709     /* Check arguments, binding placeholders.  We don't have to worry */
4710     /* about arity, since the opcodes match if we're here. */
4711     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4712     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4713     /* Rule guard. */
4714     JITTER_RULE_CONDITION(
4715       true
4716                          )
4717   JITTER_RULE_END_CONDITIONS
4718   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4719     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4720     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4721   JITTER_RULE_END_PLACEHOLDER_CLONING
4722   JITTER_RULE_BEGIN_BODY
4723   //fprintf (stderr, "* The rule copy-from-a-register-then-from-literal (line 1662) fires...\n");
4724     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
4725     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
4726     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
4727     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4728       JITTER_PLACEHOLDER_NAME(b)
4729                                  );
4730     //fprintf (stderr, "  ...End of the rule copy-from-a-register-then-from-literal\n");
4731   JITTER_RULE_END_BODY
4732   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4733     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4734     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4735   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4736 JITTER_RULE_END
4737 
4738 //asm volatile ("\n# checking copy-from-a-register-then-from-another-register");
4739 //fprintf (stderr, "Trying rule 19 of 66, \"copy-from-a-register-then-from-another-register\" (line 1667)\n");
4740 /* Rewrite rule "copy-from-a-register-then-from-another-register" */
4741 JITTER_RULE_BEGIN(2)
4742   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4743     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4744     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
4745   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4746   JITTER_RULE_BEGIN_CONDITIONS
4747     /* Check opcodes first: they are likely not to match, and in */
4748     /* that case we want to fail as early as possible. */
4749     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
4750     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mregister)
4751     /* Check arguments, binding placeholders.  We don't have to worry */
4752     /* about arity, since the opcodes match if we're here. */
4753     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4754     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
4755     /* Rule guard. */
4756     JITTER_RULE_CONDITION(
4757       true
4758                          )
4759   JITTER_RULE_END_CONDITIONS
4760   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4761     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4762     JITTER_RULE_CLONE_PLACEHOLDER_(b);
4763   JITTER_RULE_END_PLACEHOLDER_CLONING
4764   JITTER_RULE_BEGIN_BODY
4765   //fprintf (stderr, "* The rule copy-from-a-register-then-from-another-register (line 1667) fires...\n");
4766     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
4767     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
4768     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
4769     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4770       JITTER_PLACEHOLDER_NAME(b)
4771                                  );
4772     //fprintf (stderr, "  ...End of the rule copy-from-a-register-then-from-another-register\n");
4773   JITTER_RULE_END_BODY
4774   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4775     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4776     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
4777   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4778 JITTER_RULE_END
4779 
4780 //asm volatile ("\n# checking useless-copy-from-literal-elimination");
4781 //fprintf (stderr, "Trying rule 20 of 66, \"useless-copy-from-literal-elimination\" (line 1674)\n");
4782 /* Rewrite rule "useless-copy-from-literal-elimination" */
4783 JITTER_RULE_BEGIN(2)
4784   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4785     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4786   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4787   JITTER_RULE_BEGIN_CONDITIONS
4788     /* Check opcodes first: they are likely not to match, and in */
4789     /* that case we want to fail as early as possible. */
4790     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
4791     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
4792     /* Check arguments, binding placeholders.  We don't have to worry */
4793     /* about arity, since the opcodes match if we're here. */
4794     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4795     /* Rule guard. */
4796     JITTER_RULE_CONDITION(
4797       true
4798                          )
4799   JITTER_RULE_END_CONDITIONS
4800   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4801     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4802   JITTER_RULE_END_PLACEHOLDER_CLONING
4803   JITTER_RULE_BEGIN_BODY
4804   //fprintf (stderr, "* The rule useless-copy-from-literal-elimination (line 1674) fires...\n");
4805     //fprintf (stderr, "    rewrite: adding instruction drop\n");
4806     JITTER_RULE_APPEND_INSTRUCTION_(drop);
4807     //fprintf (stderr, "  ...End of the rule useless-copy-from-literal-elimination\n");
4808   JITTER_RULE_END_BODY
4809   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4810     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4811   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4812 JITTER_RULE_END
4813 
4814 //asm volatile ("\n# checking useless-copy-from-register-elimination");
4815 //fprintf (stderr, "Trying rule 21 of 66, \"useless-copy-from-register-elimination\" (line 1679)\n");
4816 /* Rewrite rule "useless-copy-from-register-elimination" */
4817 JITTER_RULE_BEGIN(2)
4818   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4819     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4820   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4821   JITTER_RULE_BEGIN_CONDITIONS
4822     /* Check opcodes first: they are likely not to match, and in */
4823     /* that case we want to fail as early as possible. */
4824     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
4825     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
4826     /* Check arguments, binding placeholders.  We don't have to worry */
4827     /* about arity, since the opcodes match if we're here. */
4828     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4829     /* Rule guard. */
4830     JITTER_RULE_CONDITION(
4831       true
4832                          )
4833   JITTER_RULE_END_CONDITIONS
4834   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4835     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4836   JITTER_RULE_END_PLACEHOLDER_CLONING
4837   JITTER_RULE_BEGIN_BODY
4838   //fprintf (stderr, "* The rule useless-copy-from-register-elimination (line 1679) fires...\n");
4839     //fprintf (stderr, "    rewrite: adding instruction drop\n");
4840     JITTER_RULE_APPEND_INSTRUCTION_(drop);
4841     //fprintf (stderr, "  ...End of the rule useless-copy-from-register-elimination\n");
4842   JITTER_RULE_END_BODY
4843   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4844     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4845   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4846 JITTER_RULE_END
4847 
4848 //asm volatile ("\n# checking push-register-drop");
4849 //fprintf (stderr, "Trying rule 22 of 66, \"push-register-drop\" (line 1685)\n");
4850 /* Rewrite rule "push-register-drop" */
4851 JITTER_RULE_BEGIN(2)
4852   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4853     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4854   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4855   JITTER_RULE_BEGIN_CONDITIONS
4856     /* Check opcodes first: they are likely not to match, and in */
4857     /* that case we want to fail as early as possible. */
4858     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mregister)
4859     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
4860     /* Check arguments, binding placeholders.  We don't have to worry */
4861     /* about arity, since the opcodes match if we're here. */
4862     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4863     /* Rule guard. */
4864     JITTER_RULE_CONDITION(
4865       true
4866                          )
4867   JITTER_RULE_END_CONDITIONS
4868   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4869     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4870   JITTER_RULE_END_PLACEHOLDER_CLONING
4871   JITTER_RULE_BEGIN_BODY
4872   //fprintf (stderr, "* The rule push-register-drop (line 1685) fires...\n");
4873     //fprintf (stderr, "  ...End of the rule push-register-drop\n");
4874   JITTER_RULE_END_BODY
4875   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4876     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4877   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4878 JITTER_RULE_END
4879 
4880 //asm volatile ("\n# checking push-literal-drop");
4881 //fprintf (stderr, "Trying rule 23 of 66, \"push-literal-drop\" (line 1690)\n");
4882 /* Rewrite rule "push-literal-drop" */
4883 JITTER_RULE_BEGIN(2)
4884   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4885     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4886   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4887   JITTER_RULE_BEGIN_CONDITIONS
4888     /* Check opcodes first: they are likely not to match, and in */
4889     /* that case we want to fail as early as possible. */
4890     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mliteral)
4891     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
4892     /* Check arguments, binding placeholders.  We don't have to worry */
4893     /* about arity, since the opcodes match if we're here. */
4894     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4895     /* Rule guard. */
4896     JITTER_RULE_CONDITION(
4897       true
4898                          )
4899   JITTER_RULE_END_CONDITIONS
4900   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4901     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4902   JITTER_RULE_END_PLACEHOLDER_CLONING
4903   JITTER_RULE_BEGIN_BODY
4904   //fprintf (stderr, "* The rule push-literal-drop (line 1690) fires...\n");
4905     //fprintf (stderr, "  ...End of the rule push-literal-drop\n");
4906   JITTER_RULE_END_BODY
4907   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4908     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4909   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4910 JITTER_RULE_END
4911 
4912 //asm volatile ("\n# checking pop-to-register-copy-from-register");
4913 //fprintf (stderr, "Trying rule 24 of 66, \"pop-to-register-copy-from-register\" (line 1696)\n");
4914 /* Rewrite rule "pop-to-register-copy-from-register" */
4915 JITTER_RULE_BEGIN(2)
4916   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4917     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4918   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4919   JITTER_RULE_BEGIN_CONDITIONS
4920     /* Check opcodes first: they are likely not to match, and in */
4921     /* that case we want to fail as early as possible. */
4922     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
4923     JITTER_RULE_CONDITION_MATCH_OPCODE(1, copy_mfrom_mregister)
4924     /* Check arguments, binding placeholders.  We don't have to worry */
4925     /* about arity, since the opcodes match if we're here. */
4926     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4927     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
4928     /* Rule guard. */
4929     JITTER_RULE_CONDITION(
4930       true
4931                          )
4932   JITTER_RULE_END_CONDITIONS
4933   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4934     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4935   JITTER_RULE_END_PLACEHOLDER_CLONING
4936   JITTER_RULE_BEGIN_BODY
4937   //fprintf (stderr, "* The rule pop-to-register-copy-from-register (line 1696) fires...\n");
4938     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
4939     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
4940     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
4941     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4942       JITTER_PLACEHOLDER_NAME(a)
4943                                  );
4944     //fprintf (stderr, "    rewrite: adding instruction nip\n");
4945     JITTER_RULE_APPEND_INSTRUCTION_(nip);
4946     //fprintf (stderr, "  ...End of the rule pop-to-register-copy-from-register\n");
4947   JITTER_RULE_END_BODY
4948   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4949     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4950   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4951 JITTER_RULE_END
4952 
4953 //asm volatile ("\n# checking pop-to-register-drop");
4954 //fprintf (stderr, "Trying rule 25 of 66, \"pop-to-register-drop\" (line 1701)\n");
4955 /* Rewrite rule "pop-to-register-drop" */
4956 JITTER_RULE_BEGIN(2)
4957   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4958     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4959   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
4960   JITTER_RULE_BEGIN_CONDITIONS
4961     /* Check opcodes first: they are likely not to match, and in */
4962     /* that case we want to fail as early as possible. */
4963     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
4964     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
4965     /* Check arguments, binding placeholders.  We don't have to worry */
4966     /* about arity, since the opcodes match if we're here. */
4967     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
4968     /* Rule guard. */
4969     JITTER_RULE_CONDITION(
4970       true
4971                          )
4972   JITTER_RULE_END_CONDITIONS
4973   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
4974     JITTER_RULE_CLONE_PLACEHOLDER_(a);
4975   JITTER_RULE_END_PLACEHOLDER_CLONING
4976   JITTER_RULE_BEGIN_BODY
4977   //fprintf (stderr, "* The rule pop-to-register-drop (line 1701) fires...\n");
4978     //fprintf (stderr, "    rewrite: adding instruction nip\n");
4979     JITTER_RULE_APPEND_INSTRUCTION_(nip);
4980     //fprintf (stderr, "    rewrite: adding instruction pop-to-register\n");
4981     JITTER_RULE_APPEND_INSTRUCTION_(pop_mto_mregister);
4982     //fprintf (stderr, "    instantiating the 0-th argument of pop-to-register\n");
4983     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
4984       JITTER_PLACEHOLDER_NAME(a)
4985                                  );
4986     //fprintf (stderr, "  ...End of the rule pop-to-register-drop\n");
4987   JITTER_RULE_END_BODY
4988   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
4989     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
4990   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
4991 JITTER_RULE_END
4992 
4993 //asm volatile ("\n# checking pop-to-register-nip");
4994 //fprintf (stderr, "Trying rule 26 of 66, \"pop-to-register-nip\" (line 1707)\n");
4995 /* Rewrite rule "pop-to-register-nip" */
4996 JITTER_RULE_BEGIN(2)
4997   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
4998     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
4999   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5000   JITTER_RULE_BEGIN_CONDITIONS
5001     /* Check opcodes first: they are likely not to match, and in */
5002     /* that case we want to fail as early as possible. */
5003     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
5004     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5005     /* Check arguments, binding placeholders.  We don't have to worry */
5006     /* about arity, since the opcodes match if we're here. */
5007     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5008     /* Rule guard. */
5009     JITTER_RULE_CONDITION(
5010       true
5011                          )
5012   JITTER_RULE_END_CONDITIONS
5013   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5014     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5015   JITTER_RULE_END_PLACEHOLDER_CLONING
5016   JITTER_RULE_BEGIN_BODY
5017   //fprintf (stderr, "* The rule pop-to-register-nip (line 1707) fires...\n");
5018     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
5019     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
5020     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
5021     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5022       JITTER_PLACEHOLDER_NAME(a)
5023                                  );
5024     //fprintf (stderr, "    rewrite: adding instruction drop-nip\n");
5025     JITTER_RULE_APPEND_INSTRUCTION_(drop_mnip);
5026     //fprintf (stderr, "  ...End of the rule pop-to-register-nip\n");
5027   JITTER_RULE_END_BODY
5028   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5029     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5030   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5031 JITTER_RULE_END
5032 
5033 //asm volatile ("\n# checking drop-nip");
5034 //fprintf (stderr, "Trying rule 27 of 66, \"drop-nip\" (line 1713)\n");
5035 /* Rewrite rule "drop-nip" */
5036 JITTER_RULE_BEGIN(2)
5037   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5038   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5039   JITTER_RULE_BEGIN_CONDITIONS
5040     /* Check opcodes first: they are likely not to match, and in */
5041     /* that case we want to fail as early as possible. */
5042     JITTER_RULE_CONDITION_MATCH_OPCODE(0, drop)
5043     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5044     /* Check arguments, binding placeholders.  We don't have to worry */
5045     /* about arity, since the opcodes match if we're here. */
5046     /* Rule guard. */
5047     JITTER_RULE_CONDITION(
5048       true
5049                          )
5050   JITTER_RULE_END_CONDITIONS
5051   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5052   JITTER_RULE_END_PLACEHOLDER_CLONING
5053   JITTER_RULE_BEGIN_BODY
5054   //fprintf (stderr, "* The rule drop-nip (line 1713) fires...\n");
5055     //fprintf (stderr, "    rewrite: adding instruction drop-nip\n");
5056     JITTER_RULE_APPEND_INSTRUCTION_(drop_mnip);
5057     //fprintf (stderr, "  ...End of the rule drop-nip\n");
5058   JITTER_RULE_END_BODY
5059   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5060   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5061 JITTER_RULE_END
5062 
5063 //asm volatile ("\n# checking nip-drop");
5064 //fprintf (stderr, "Trying rule 28 of 66, \"nip-drop\" (line 1719)\n");
5065 /* Rewrite rule "nip-drop" */
5066 JITTER_RULE_BEGIN(2)
5067   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5068   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5069   JITTER_RULE_BEGIN_CONDITIONS
5070     /* Check opcodes first: they are likely not to match, and in */
5071     /* that case we want to fail as early as possible. */
5072     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip)
5073     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5074     /* Check arguments, binding placeholders.  We don't have to worry */
5075     /* about arity, since the opcodes match if we're here. */
5076     /* Rule guard. */
5077     JITTER_RULE_CONDITION(
5078       true
5079                          )
5080   JITTER_RULE_END_CONDITIONS
5081   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5082   JITTER_RULE_END_PLACEHOLDER_CLONING
5083   JITTER_RULE_BEGIN_BODY
5084   //fprintf (stderr, "* The rule nip-drop (line 1719) fires...\n");
5085     //fprintf (stderr, "    rewrite: adding instruction nip-drop\n");
5086     JITTER_RULE_APPEND_INSTRUCTION_(nip_mdrop);
5087     //fprintf (stderr, "  ...End of the rule nip-drop\n");
5088   JITTER_RULE_END_BODY
5089   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5090   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5091 JITTER_RULE_END
5092 
5093 //asm volatile ("\n# checking drop-drop");
5094 //fprintf (stderr, "Trying rule 29 of 66, \"drop-drop\" (line 1725)\n");
5095 /* Rewrite rule "drop-drop" */
5096 JITTER_RULE_BEGIN(2)
5097   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5098   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5099   JITTER_RULE_BEGIN_CONDITIONS
5100     /* Check opcodes first: they are likely not to match, and in */
5101     /* that case we want to fail as early as possible. */
5102     JITTER_RULE_CONDITION_MATCH_OPCODE(0, drop)
5103     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5104     /* Check arguments, binding placeholders.  We don't have to worry */
5105     /* about arity, since the opcodes match if we're here. */
5106     /* Rule guard. */
5107     JITTER_RULE_CONDITION(
5108       true
5109                          )
5110   JITTER_RULE_END_CONDITIONS
5111   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5112   JITTER_RULE_END_PLACEHOLDER_CLONING
5113   JITTER_RULE_BEGIN_BODY
5114   //fprintf (stderr, "* The rule drop-drop (line 1725) fires...\n");
5115     //fprintf (stderr, "    rewrite: adding instruction nip-drop\n");
5116     JITTER_RULE_APPEND_INSTRUCTION_(nip_mdrop);
5117     //fprintf (stderr, "  ...End of the rule drop-drop\n");
5118   JITTER_RULE_END_BODY
5119   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5120   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5121 JITTER_RULE_END
5122 
5123 //asm volatile ("\n# checking nip-drop-drop");
5124 //fprintf (stderr, "Trying rule 30 of 66, \"nip-drop-drop\" (line 1731)\n");
5125 /* Rewrite rule "nip-drop-drop" */
5126 JITTER_RULE_BEGIN(2)
5127   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5128   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5129   JITTER_RULE_BEGIN_CONDITIONS
5130     /* Check opcodes first: they are likely not to match, and in */
5131     /* that case we want to fail as early as possible. */
5132     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mdrop)
5133     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5134     /* Check arguments, binding placeholders.  We don't have to worry */
5135     /* about arity, since the opcodes match if we're here. */
5136     /* Rule guard. */
5137     JITTER_RULE_CONDITION(
5138       true
5139                          )
5140   JITTER_RULE_END_CONDITIONS
5141   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5142   JITTER_RULE_END_PLACEHOLDER_CLONING
5143   JITTER_RULE_BEGIN_BODY
5144   //fprintf (stderr, "* The rule nip-drop-drop (line 1731) fires...\n");
5145     //fprintf (stderr, "    rewrite: adding instruction nip-two-drop\n");
5146     JITTER_RULE_APPEND_INSTRUCTION_(nip_mtwo_mdrop);
5147     //fprintf (stderr, "  ...End of the rule nip-drop-drop\n");
5148   JITTER_RULE_END_BODY
5149   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5150   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5151 JITTER_RULE_END
5152 
5153 //asm volatile ("\n# checking nip-two-drop-drop");
5154 //fprintf (stderr, "Trying rule 31 of 66, \"nip-two-drop-drop\" (line 1736)\n");
5155 /* Rewrite rule "nip-two-drop-drop" */
5156 JITTER_RULE_BEGIN(2)
5157   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5158   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5159   JITTER_RULE_BEGIN_CONDITIONS
5160     /* Check opcodes first: they are likely not to match, and in */
5161     /* that case we want to fail as early as possible. */
5162     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mtwo_mdrop)
5163     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5164     /* Check arguments, binding placeholders.  We don't have to worry */
5165     /* about arity, since the opcodes match if we're here. */
5166     /* Rule guard. */
5167     JITTER_RULE_CONDITION(
5168       true
5169                          )
5170   JITTER_RULE_END_CONDITIONS
5171   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5172   JITTER_RULE_END_PLACEHOLDER_CLONING
5173   JITTER_RULE_BEGIN_BODY
5174   //fprintf (stderr, "* The rule nip-two-drop-drop (line 1736) fires...\n");
5175     //fprintf (stderr, "    rewrite: adding instruction nip-three-drop\n");
5176     JITTER_RULE_APPEND_INSTRUCTION_(nip_mthree_mdrop);
5177     //fprintf (stderr, "  ...End of the rule nip-two-drop-drop\n");
5178   JITTER_RULE_END_BODY
5179   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5180   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5181 JITTER_RULE_END
5182 
5183 //asm volatile ("\n# checking nip-three-drop-drop");
5184 //fprintf (stderr, "Trying rule 32 of 66, \"nip-three-drop-drop\" (line 1741)\n");
5185 /* Rewrite rule "nip-three-drop-drop" */
5186 JITTER_RULE_BEGIN(2)
5187   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5188   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5189   JITTER_RULE_BEGIN_CONDITIONS
5190     /* Check opcodes first: they are likely not to match, and in */
5191     /* that case we want to fail as early as possible. */
5192     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mthree_mdrop)
5193     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5194     /* Check arguments, binding placeholders.  We don't have to worry */
5195     /* about arity, since the opcodes match if we're here. */
5196     /* Rule guard. */
5197     JITTER_RULE_CONDITION(
5198       true
5199                          )
5200   JITTER_RULE_END_CONDITIONS
5201   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5202   JITTER_RULE_END_PLACEHOLDER_CLONING
5203   JITTER_RULE_BEGIN_BODY
5204   //fprintf (stderr, "* The rule nip-three-drop-drop (line 1741) fires...\n");
5205     //fprintf (stderr, "    rewrite: adding instruction nip-four-drop\n");
5206     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfour_mdrop);
5207     //fprintf (stderr, "  ...End of the rule nip-three-drop-drop\n");
5208   JITTER_RULE_END_BODY
5209   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5210   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5211 JITTER_RULE_END
5212 
5213 //asm volatile ("\n# checking nip-four-drop-drop");
5214 //fprintf (stderr, "Trying rule 33 of 66, \"nip-four-drop-drop\" (line 1746)\n");
5215 /* Rewrite rule "nip-four-drop-drop" */
5216 JITTER_RULE_BEGIN(2)
5217   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5218   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5219   JITTER_RULE_BEGIN_CONDITIONS
5220     /* Check opcodes first: they are likely not to match, and in */
5221     /* that case we want to fail as early as possible. */
5222     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfour_mdrop)
5223     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5224     /* Check arguments, binding placeholders.  We don't have to worry */
5225     /* about arity, since the opcodes match if we're here. */
5226     /* Rule guard. */
5227     JITTER_RULE_CONDITION(
5228       true
5229                          )
5230   JITTER_RULE_END_CONDITIONS
5231   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5232   JITTER_RULE_END_PLACEHOLDER_CLONING
5233   JITTER_RULE_BEGIN_BODY
5234   //fprintf (stderr, "* The rule nip-four-drop-drop (line 1746) fires...\n");
5235     //fprintf (stderr, "    rewrite: adding instruction nip-five-drop\n");
5236     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfive_mdrop);
5237     //fprintf (stderr, "  ...End of the rule nip-four-drop-drop\n");
5238   JITTER_RULE_END_BODY
5239   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5240   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5241 JITTER_RULE_END
5242 
5243 //asm volatile ("\n# checking nip-five-drop-drop");
5244 //fprintf (stderr, "Trying rule 34 of 66, \"nip-five-drop-drop\" (line 1751)\n");
5245 /* Rewrite rule "nip-five-drop-drop" */
5246 JITTER_RULE_BEGIN(2)
5247   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5248   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5249   JITTER_RULE_BEGIN_CONDITIONS
5250     /* Check opcodes first: they are likely not to match, and in */
5251     /* that case we want to fail as early as possible. */
5252     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfive_mdrop)
5253     JITTER_RULE_CONDITION_MATCH_OPCODE(1, drop)
5254     /* Check arguments, binding placeholders.  We don't have to worry */
5255     /* about arity, since the opcodes match if we're here. */
5256     /* Rule guard. */
5257     JITTER_RULE_CONDITION(
5258       true
5259                          )
5260   JITTER_RULE_END_CONDITIONS
5261   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5262   JITTER_RULE_END_PLACEHOLDER_CLONING
5263   JITTER_RULE_BEGIN_BODY
5264   //fprintf (stderr, "* The rule nip-five-drop-drop (line 1751) fires...\n");
5265     //fprintf (stderr, "    rewrite: adding instruction nip-six-drop\n");
5266     JITTER_RULE_APPEND_INSTRUCTION_(nip_msix_mdrop);
5267     //fprintf (stderr, "  ...End of the rule nip-five-drop-drop\n");
5268   JITTER_RULE_END_BODY
5269   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5270   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5271 JITTER_RULE_END
5272 
5273 //asm volatile ("\n# checking nip-nip");
5274 //fprintf (stderr, "Trying rule 35 of 66, \"nip-nip\" (line 1760)\n");
5275 /* Rewrite rule "nip-nip" */
5276 JITTER_RULE_BEGIN(2)
5277   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5278   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5279   JITTER_RULE_BEGIN_CONDITIONS
5280     /* Check opcodes first: they are likely not to match, and in */
5281     /* that case we want to fail as early as possible. */
5282     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip)
5283     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5284     /* Check arguments, binding placeholders.  We don't have to worry */
5285     /* about arity, since the opcodes match if we're here. */
5286     /* Rule guard. */
5287     JITTER_RULE_CONDITION(
5288       true
5289                          )
5290   JITTER_RULE_END_CONDITIONS
5291   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5292   JITTER_RULE_END_PLACEHOLDER_CLONING
5293   JITTER_RULE_BEGIN_BODY
5294   //fprintf (stderr, "* The rule nip-nip (line 1760) fires...\n");
5295     //fprintf (stderr, "    rewrite: adding instruction nip-two\n");
5296     JITTER_RULE_APPEND_INSTRUCTION_(nip_mtwo);
5297     //fprintf (stderr, "  ...End of the rule nip-nip\n");
5298   JITTER_RULE_END_BODY
5299   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5300   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5301 JITTER_RULE_END
5302 
5303 //asm volatile ("\n# checking nip-two-nip");
5304 //fprintf (stderr, "Trying rule 36 of 66, \"nip-two-nip\" (line 1765)\n");
5305 /* Rewrite rule "nip-two-nip" */
5306 JITTER_RULE_BEGIN(2)
5307   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5308   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5309   JITTER_RULE_BEGIN_CONDITIONS
5310     /* Check opcodes first: they are likely not to match, and in */
5311     /* that case we want to fail as early as possible. */
5312     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mtwo)
5313     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5314     /* Check arguments, binding placeholders.  We don't have to worry */
5315     /* about arity, since the opcodes match if we're here. */
5316     /* Rule guard. */
5317     JITTER_RULE_CONDITION(
5318       true
5319                          )
5320   JITTER_RULE_END_CONDITIONS
5321   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5322   JITTER_RULE_END_PLACEHOLDER_CLONING
5323   JITTER_RULE_BEGIN_BODY
5324   //fprintf (stderr, "* The rule nip-two-nip (line 1765) fires...\n");
5325     //fprintf (stderr, "    rewrite: adding instruction nip-three\n");
5326     JITTER_RULE_APPEND_INSTRUCTION_(nip_mthree);
5327     //fprintf (stderr, "  ...End of the rule nip-two-nip\n");
5328   JITTER_RULE_END_BODY
5329   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5330   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5331 JITTER_RULE_END
5332 
5333 //asm volatile ("\n# checking nip-three-nip");
5334 //fprintf (stderr, "Trying rule 37 of 66, \"nip-three-nip\" (line 1770)\n");
5335 /* Rewrite rule "nip-three-nip" */
5336 JITTER_RULE_BEGIN(2)
5337   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5338   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5339   JITTER_RULE_BEGIN_CONDITIONS
5340     /* Check opcodes first: they are likely not to match, and in */
5341     /* that case we want to fail as early as possible. */
5342     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mthree)
5343     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5344     /* Check arguments, binding placeholders.  We don't have to worry */
5345     /* about arity, since the opcodes match if we're here. */
5346     /* Rule guard. */
5347     JITTER_RULE_CONDITION(
5348       true
5349                          )
5350   JITTER_RULE_END_CONDITIONS
5351   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5352   JITTER_RULE_END_PLACEHOLDER_CLONING
5353   JITTER_RULE_BEGIN_BODY
5354   //fprintf (stderr, "* The rule nip-three-nip (line 1770) fires...\n");
5355     //fprintf (stderr, "    rewrite: adding instruction nip-four\n");
5356     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfour);
5357     //fprintf (stderr, "  ...End of the rule nip-three-nip\n");
5358   JITTER_RULE_END_BODY
5359   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5360   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5361 JITTER_RULE_END
5362 
5363 //asm volatile ("\n# checking nip-four-nip");
5364 //fprintf (stderr, "Trying rule 38 of 66, \"nip-four-nip\" (line 1775)\n");
5365 /* Rewrite rule "nip-four-nip" */
5366 JITTER_RULE_BEGIN(2)
5367   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5368   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5369   JITTER_RULE_BEGIN_CONDITIONS
5370     /* Check opcodes first: they are likely not to match, and in */
5371     /* that case we want to fail as early as possible. */
5372     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfour)
5373     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5374     /* Check arguments, binding placeholders.  We don't have to worry */
5375     /* about arity, since the opcodes match if we're here. */
5376     /* Rule guard. */
5377     JITTER_RULE_CONDITION(
5378       true
5379                          )
5380   JITTER_RULE_END_CONDITIONS
5381   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5382   JITTER_RULE_END_PLACEHOLDER_CLONING
5383   JITTER_RULE_BEGIN_BODY
5384   //fprintf (stderr, "* The rule nip-four-nip (line 1775) fires...\n");
5385     //fprintf (stderr, "    rewrite: adding instruction nip-five\n");
5386     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfive);
5387     //fprintf (stderr, "  ...End of the rule nip-four-nip\n");
5388   JITTER_RULE_END_BODY
5389   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5390   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5391 JITTER_RULE_END
5392 
5393 //asm volatile ("\n# checking nip-five-nip");
5394 //fprintf (stderr, "Trying rule 39 of 66, \"nip-five-nip\" (line 1780)\n");
5395 /* Rewrite rule "nip-five-nip" */
5396 JITTER_RULE_BEGIN(2)
5397   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5398   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5399   JITTER_RULE_BEGIN_CONDITIONS
5400     /* Check opcodes first: they are likely not to match, and in */
5401     /* that case we want to fail as early as possible. */
5402     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfive)
5403     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5404     /* Check arguments, binding placeholders.  We don't have to worry */
5405     /* about arity, since the opcodes match if we're here. */
5406     /* Rule guard. */
5407     JITTER_RULE_CONDITION(
5408       true
5409                          )
5410   JITTER_RULE_END_CONDITIONS
5411   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5412   JITTER_RULE_END_PLACEHOLDER_CLONING
5413   JITTER_RULE_BEGIN_BODY
5414   //fprintf (stderr, "* The rule nip-five-nip (line 1780) fires...\n");
5415     //fprintf (stderr, "    rewrite: adding instruction nip-six\n");
5416     JITTER_RULE_APPEND_INSTRUCTION_(nip_msix);
5417     //fprintf (stderr, "  ...End of the rule nip-five-nip\n");
5418   JITTER_RULE_END_BODY
5419   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5420   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5421 JITTER_RULE_END
5422 
5423 //asm volatile ("\n# checking nip-before-copy-from-register");
5424 //fprintf (stderr, "Trying rule 40 of 66, \"nip-before-copy-from-register\" (line 1788)\n");
5425 /* Rewrite rule "nip-before-copy-from-register" */
5426 JITTER_RULE_BEGIN(2)
5427   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5428     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5429   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5430   JITTER_RULE_BEGIN_CONDITIONS
5431     /* Check opcodes first: they are likely not to match, and in */
5432     /* that case we want to fail as early as possible. */
5433     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mregister)
5434     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5435     /* Check arguments, binding placeholders.  We don't have to worry */
5436     /* about arity, since the opcodes match if we're here. */
5437     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5438     /* Rule guard. */
5439     JITTER_RULE_CONDITION(
5440       true
5441                          )
5442   JITTER_RULE_END_CONDITIONS
5443   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5444     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5445   JITTER_RULE_END_PLACEHOLDER_CLONING
5446   JITTER_RULE_BEGIN_BODY
5447   //fprintf (stderr, "* The rule nip-before-copy-from-register (line 1788) fires...\n");
5448     //fprintf (stderr, "    rewrite: adding instruction nip\n");
5449     JITTER_RULE_APPEND_INSTRUCTION_(nip);
5450     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
5451     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
5452     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
5453     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5454       JITTER_PLACEHOLDER_NAME(a)
5455                                  );
5456     //fprintf (stderr, "  ...End of the rule nip-before-copy-from-register\n");
5457   JITTER_RULE_END_BODY
5458   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5459     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5460   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5461 JITTER_RULE_END
5462 
5463 //asm volatile ("\n# checking nip-before-copy-from-literal");
5464 //fprintf (stderr, "Trying rule 41 of 66, \"nip-before-copy-from-literal\" (line 1793)\n");
5465 /* Rewrite rule "nip-before-copy-from-literal" */
5466 JITTER_RULE_BEGIN(2)
5467   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5468     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5469   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5470   JITTER_RULE_BEGIN_CONDITIONS
5471     /* Check opcodes first: they are likely not to match, and in */
5472     /* that case we want to fail as early as possible. */
5473     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mfrom_mliteral)
5474     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5475     /* Check arguments, binding placeholders.  We don't have to worry */
5476     /* about arity, since the opcodes match if we're here. */
5477     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5478     /* Rule guard. */
5479     JITTER_RULE_CONDITION(
5480       true
5481                          )
5482   JITTER_RULE_END_CONDITIONS
5483   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5484     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5485   JITTER_RULE_END_PLACEHOLDER_CLONING
5486   JITTER_RULE_BEGIN_BODY
5487   //fprintf (stderr, "* The rule nip-before-copy-from-literal (line 1793) fires...\n");
5488     //fprintf (stderr, "    rewrite: adding instruction nip\n");
5489     JITTER_RULE_APPEND_INSTRUCTION_(nip);
5490     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
5491     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
5492     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
5493     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5494       JITTER_PLACEHOLDER_NAME(a)
5495                                  );
5496     //fprintf (stderr, "  ...End of the rule nip-before-copy-from-literal\n");
5497   JITTER_RULE_END_BODY
5498   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5499     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5500   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5501 JITTER_RULE_END
5502 
5503 //asm volatile ("\n# checking copy-to-register-nip");
5504 //fprintf (stderr, "Trying rule 42 of 66, \"copy-to-register-nip\" (line 1802)\n");
5505 /* Rewrite rule "copy-to-register-nip" */
5506 JITTER_RULE_BEGIN(2)
5507   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5508     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5509   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5510   JITTER_RULE_BEGIN_CONDITIONS
5511     /* Check opcodes first: they are likely not to match, and in */
5512     /* that case we want to fail as early as possible. */
5513     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mto_mregister)
5514     JITTER_RULE_CONDITION_MATCH_OPCODE(1, nip)
5515     /* Check arguments, binding placeholders.  We don't have to worry */
5516     /* about arity, since the opcodes match if we're here. */
5517     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5518     /* Rule guard. */
5519     JITTER_RULE_CONDITION(
5520       true
5521                          )
5522   JITTER_RULE_END_CONDITIONS
5523   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5524     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5525   JITTER_RULE_END_PLACEHOLDER_CLONING
5526   JITTER_RULE_BEGIN_BODY
5527   //fprintf (stderr, "* The rule copy-to-register-nip (line 1802) fires...\n");
5528     //fprintf (stderr, "    rewrite: adding instruction nip\n");
5529     JITTER_RULE_APPEND_INSTRUCTION_(nip);
5530     //fprintf (stderr, "    rewrite: adding instruction copy-to-register\n");
5531     JITTER_RULE_APPEND_INSTRUCTION_(copy_mto_mregister);
5532     //fprintf (stderr, "    instantiating the 0-th argument of copy-to-register\n");
5533     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5534       JITTER_PLACEHOLDER_NAME(a)
5535                                  );
5536     //fprintf (stderr, "  ...End of the rule copy-to-register-nip\n");
5537   JITTER_RULE_END_BODY
5538   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5539     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5540   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5541 JITTER_RULE_END
5542 
5543 //asm volatile ("\n# checking pop-to-register-return");
5544 //fprintf (stderr, "Trying rule 43 of 66, \"pop-to-register-return\" (line 1808)\n");
5545 /* Rewrite rule "pop-to-register-return" */
5546 JITTER_RULE_BEGIN(2)
5547   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5548     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5549   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5550   JITTER_RULE_BEGIN_CONDITIONS
5551     /* Check opcodes first: they are likely not to match, and in */
5552     /* that case we want to fail as early as possible. */
5553     JITTER_RULE_CONDITION_MATCH_OPCODE(0, pop_mto_mregister)
5554     JITTER_RULE_CONDITION_MATCH_OPCODE(1, return)
5555     /* Check arguments, binding placeholders.  We don't have to worry */
5556     /* about arity, since the opcodes match if we're here. */
5557     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5558     /* Rule guard. */
5559     JITTER_RULE_CONDITION(
5560       true
5561                          )
5562   JITTER_RULE_END_CONDITIONS
5563   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5564     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5565   JITTER_RULE_END_PLACEHOLDER_CLONING
5566   JITTER_RULE_BEGIN_BODY
5567   //fprintf (stderr, "* The rule pop-to-register-return (line 1808) fires...\n");
5568     //fprintf (stderr, "    rewrite: adding instruction drop\n");
5569     JITTER_RULE_APPEND_INSTRUCTION_(drop);
5570     //fprintf (stderr, "    rewrite: adding instruction return\n");
5571     JITTER_RULE_APPEND_INSTRUCTION_(return);
5572     //fprintf (stderr, "  ...End of the rule pop-to-register-return\n");
5573   JITTER_RULE_END_BODY
5574   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5575     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5576   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5577 JITTER_RULE_END
5578 
5579 //asm volatile ("\n# checking copy-to-register-return");
5580 //fprintf (stderr, "Trying rule 44 of 66, \"copy-to-register-return\" (line 1814)\n");
5581 /* Rewrite rule "copy-to-register-return" */
5582 JITTER_RULE_BEGIN(2)
5583   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5584     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5585   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5586   JITTER_RULE_BEGIN_CONDITIONS
5587     /* Check opcodes first: they are likely not to match, and in */
5588     /* that case we want to fail as early as possible. */
5589     JITTER_RULE_CONDITION_MATCH_OPCODE(0, copy_mto_mregister)
5590     JITTER_RULE_CONDITION_MATCH_OPCODE(1, return)
5591     /* Check arguments, binding placeholders.  We don't have to worry */
5592     /* about arity, since the opcodes match if we're here. */
5593     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5594     /* Rule guard. */
5595     JITTER_RULE_CONDITION(
5596       true
5597                          )
5598   JITTER_RULE_END_CONDITIONS
5599   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5600     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5601   JITTER_RULE_END_PLACEHOLDER_CLONING
5602   JITTER_RULE_BEGIN_BODY
5603   //fprintf (stderr, "* The rule copy-to-register-return (line 1814) fires...\n");
5604     //fprintf (stderr, "    rewrite: adding instruction return\n");
5605     JITTER_RULE_APPEND_INSTRUCTION_(return);
5606     //fprintf (stderr, "  ...End of the rule copy-to-register-return\n");
5607   JITTER_RULE_END_BODY
5608   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5609     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5610   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5611 JITTER_RULE_END
5612 
5613 //asm volatile ("\n# checking not-branch-if-true");
5614 //fprintf (stderr, "Trying rule 45 of 66, \"not-branch-if-true\" (line 1827)\n");
5615 /* Rewrite rule "not-branch-if-true" */
5616 JITTER_RULE_BEGIN(2)
5617   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5618     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
5619   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5620   JITTER_RULE_BEGIN_CONDITIONS
5621     /* Check opcodes first: they are likely not to match, and in */
5622     /* that case we want to fail as early as possible. */
5623     JITTER_RULE_CONDITION_MATCH_OPCODE(0, primitive_mnot)
5624     JITTER_RULE_CONDITION_MATCH_OPCODE(1, branch_mif_mtrue)
5625     /* Check arguments, binding placeholders.  We don't have to worry */
5626     /* about arity, since the opcodes match if we're here. */
5627     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
5628     /* Rule guard. */
5629     JITTER_RULE_CONDITION(
5630       true
5631                          )
5632   JITTER_RULE_END_CONDITIONS
5633   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5634     JITTER_RULE_CLONE_PLACEHOLDER_(b);
5635   JITTER_RULE_END_PLACEHOLDER_CLONING
5636   JITTER_RULE_BEGIN_BODY
5637   //fprintf (stderr, "* The rule not-branch-if-true (line 1827) fires...\n");
5638     //fprintf (stderr, "    rewrite: adding instruction branch-if-false\n");
5639     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mfalse);
5640     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-false\n");
5641     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5642       JITTER_PLACEHOLDER_NAME(b)
5643                                  );
5644     //fprintf (stderr, "  ...End of the rule not-branch-if-true\n");
5645   JITTER_RULE_END_BODY
5646   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5647     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
5648   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5649 JITTER_RULE_END
5650 
5651 //asm volatile ("\n# checking nullp-branch-if-true");
5652 //fprintf (stderr, "Trying rule 46 of 66, \"nullp-branch-if-true\" (line 1833)\n");
5653 /* Rewrite rule "nullp-branch-if-true" */
5654 JITTER_RULE_BEGIN(2)
5655   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5656     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5657   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5658   JITTER_RULE_BEGIN_CONDITIONS
5659     /* Check opcodes first: they are likely not to match, and in */
5660     /* that case we want to fail as early as possible. */
5661     JITTER_RULE_CONDITION_MATCH_OPCODE(0, primitive_mnullp)
5662     JITTER_RULE_CONDITION_MATCH_OPCODE(1, branch_mif_mtrue)
5663     /* Check arguments, binding placeholders.  We don't have to worry */
5664     /* about arity, since the opcodes match if we're here. */
5665     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5666     /* Rule guard. */
5667     JITTER_RULE_CONDITION(
5668       true
5669                          )
5670   JITTER_RULE_END_CONDITIONS
5671   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5672     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5673   JITTER_RULE_END_PLACEHOLDER_CLONING
5674   JITTER_RULE_BEGIN_BODY
5675   //fprintf (stderr, "* The rule nullp-branch-if-true (line 1833) fires...\n");
5676     //fprintf (stderr, "    rewrite: adding instruction branch-if-null\n");
5677     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mnull);
5678     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-null\n");
5679     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5680       JITTER_PLACEHOLDER_NAME(a)
5681                                  );
5682     //fprintf (stderr, "  ...End of the rule nullp-branch-if-true\n");
5683   JITTER_RULE_END_BODY
5684   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5685     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5686   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5687 JITTER_RULE_END
5688 
5689 //asm volatile ("\n# checking nullp-branch-if-false");
5690 //fprintf (stderr, "Trying rule 47 of 66, \"nullp-branch-if-false\" (line 1838)\n");
5691 /* Rewrite rule "nullp-branch-if-false" */
5692 JITTER_RULE_BEGIN(2)
5693   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5694     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5695   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5696   JITTER_RULE_BEGIN_CONDITIONS
5697     /* Check opcodes first: they are likely not to match, and in */
5698     /* that case we want to fail as early as possible. */
5699     JITTER_RULE_CONDITION_MATCH_OPCODE(0, primitive_mnullp)
5700     JITTER_RULE_CONDITION_MATCH_OPCODE(1, branch_mif_mfalse)
5701     /* Check arguments, binding placeholders.  We don't have to worry */
5702     /* about arity, since the opcodes match if we're here. */
5703     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5704     /* Rule guard. */
5705     JITTER_RULE_CONDITION(
5706       true
5707                          )
5708   JITTER_RULE_END_CONDITIONS
5709   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5710     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5711   JITTER_RULE_END_PLACEHOLDER_CLONING
5712   JITTER_RULE_BEGIN_BODY
5713   //fprintf (stderr, "* The rule nullp-branch-if-false (line 1838) fires...\n");
5714     //fprintf (stderr, "    rewrite: adding instruction branch-if-not-null\n");
5715     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mnot_mnull);
5716     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-not-null\n");
5717     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5718       JITTER_PLACEHOLDER_NAME(a)
5719                                  );
5720     //fprintf (stderr, "  ...End of the rule nullp-branch-if-false\n");
5721   JITTER_RULE_END_BODY
5722   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5723     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5724   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5725 JITTER_RULE_END
5726 
5727 //asm volatile ("\n# checking non-nullp-branch-if-true");
5728 //fprintf (stderr, "Trying rule 48 of 66, \"non-nullp-branch-if-true\" (line 1844)\n");
5729 /* Rewrite rule "non-nullp-branch-if-true" */
5730 JITTER_RULE_BEGIN(2)
5731   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5732     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5733   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5734   JITTER_RULE_BEGIN_CONDITIONS
5735     /* Check opcodes first: they are likely not to match, and in */
5736     /* that case we want to fail as early as possible. */
5737     JITTER_RULE_CONDITION_MATCH_OPCODE(0, primitive_mnon_mnullp)
5738     JITTER_RULE_CONDITION_MATCH_OPCODE(1, branch_mif_mtrue)
5739     /* Check arguments, binding placeholders.  We don't have to worry */
5740     /* about arity, since the opcodes match if we're here. */
5741     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5742     /* Rule guard. */
5743     JITTER_RULE_CONDITION(
5744       true
5745                          )
5746   JITTER_RULE_END_CONDITIONS
5747   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5748     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5749   JITTER_RULE_END_PLACEHOLDER_CLONING
5750   JITTER_RULE_BEGIN_BODY
5751   //fprintf (stderr, "* The rule non-nullp-branch-if-true (line 1844) fires...\n");
5752     //fprintf (stderr, "    rewrite: adding instruction branch-if-not-null\n");
5753     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mnot_mnull);
5754     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-not-null\n");
5755     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5756       JITTER_PLACEHOLDER_NAME(a)
5757                                  );
5758     //fprintf (stderr, "  ...End of the rule non-nullp-branch-if-true\n");
5759   JITTER_RULE_END_BODY
5760   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5761     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5762   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5763 JITTER_RULE_END
5764 
5765 //asm volatile ("\n# checking non-nullp-branch-if-false");
5766 //fprintf (stderr, "Trying rule 49 of 66, \"non-nullp-branch-if-false\" (line 1849)\n");
5767 /* Rewrite rule "non-nullp-branch-if-false" */
5768 JITTER_RULE_BEGIN(2)
5769   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5770     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5771   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5772   JITTER_RULE_BEGIN_CONDITIONS
5773     /* Check opcodes first: they are likely not to match, and in */
5774     /* that case we want to fail as early as possible. */
5775     JITTER_RULE_CONDITION_MATCH_OPCODE(0, primitive_mnon_mnullp)
5776     JITTER_RULE_CONDITION_MATCH_OPCODE(1, branch_mif_mfalse)
5777     /* Check arguments, binding placeholders.  We don't have to worry */
5778     /* about arity, since the opcodes match if we're here. */
5779     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5780     /* Rule guard. */
5781     JITTER_RULE_CONDITION(
5782       true
5783                          )
5784   JITTER_RULE_END_CONDITIONS
5785   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5786     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5787   JITTER_RULE_END_PLACEHOLDER_CLONING
5788   JITTER_RULE_BEGIN_BODY
5789   //fprintf (stderr, "* The rule non-nullp-branch-if-false (line 1849) fires...\n");
5790     //fprintf (stderr, "    rewrite: adding instruction branch-if-null\n");
5791     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mnull);
5792     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-null\n");
5793     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5794       JITTER_PLACEHOLDER_NAME(a)
5795                                  );
5796     //fprintf (stderr, "  ...End of the rule non-nullp-branch-if-false\n");
5797   JITTER_RULE_END_BODY
5798   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5799     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5800   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5801 JITTER_RULE_END
5802 
5803 //asm volatile ("\n# checking restore-register-then-save-the-same-register");
5804 //fprintf (stderr, "Trying rule 50 of 66, \"restore-register-then-save-the-same-register\" (line 1869)\n");
5805 /* Rewrite rule "restore-register-then-save-the-same-register" */
5806 JITTER_RULE_BEGIN(2)
5807   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5808     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5809   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5810   JITTER_RULE_BEGIN_CONDITIONS
5811     /* Check opcodes first: they are likely not to match, and in */
5812     /* that case we want to fail as early as possible. */
5813     JITTER_RULE_CONDITION_MATCH_OPCODE(0, restore_mregister)
5814     JITTER_RULE_CONDITION_MATCH_OPCODE(1, save_mregister)
5815     /* Check arguments, binding placeholders.  We don't have to worry */
5816     /* about arity, since the opcodes match if we're here. */
5817     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5818     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5819     /* Rule guard. */
5820     JITTER_RULE_CONDITION(
5821       true
5822                          )
5823   JITTER_RULE_END_CONDITIONS
5824   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5825     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5826   JITTER_RULE_END_PLACEHOLDER_CLONING
5827   JITTER_RULE_BEGIN_BODY
5828   //fprintf (stderr, "* The rule restore-register-then-save-the-same-register (line 1869) fires...\n");
5829     //fprintf (stderr, "  ...End of the rule restore-register-then-save-the-same-register\n");
5830   JITTER_RULE_END_BODY
5831   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5832     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5833   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5834 JITTER_RULE_END
5835 
5836 //asm volatile ("\n# checking scratch");
5837 //fprintf (stderr, "Trying rule 51 of 66, \"scratch\" (line 1905)\n");
5838 /* Rewrite rule "scratch" */
5839 JITTER_RULE_BEGIN(3)
5840   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5841     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5842     JITTER_RULE_DECLARE_PLACEHOLDER_(b);
5843     JITTER_RULE_DECLARE_PLACEHOLDER_(c);
5844   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5845   JITTER_RULE_BEGIN_CONDITIONS
5846     /* Check opcodes first: they are likely not to match, and in */
5847     /* that case we want to fail as early as possible. */
5848     JITTER_RULE_CONDITION_MATCH_OPCODE(0, push_mregister)
5849     JITTER_RULE_CONDITION_MATCH_OPCODE(1, primitive_mnon_mzerop)
5850     JITTER_RULE_CONDITION_MATCH_OPCODE(2, branch_mif_mtrue)
5851     /* Check arguments, binding placeholders.  We don't have to worry */
5852     /* about arity, since the opcodes match if we're here. */
5853     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
5854     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, b)
5855     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(2, 0, c)
5856     /* Rule guard. */
5857     JITTER_RULE_CONDITION(
5858       true
5859                          )
5860   JITTER_RULE_END_CONDITIONS
5861   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5862     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5863     JITTER_RULE_CLONE_PLACEHOLDER_(b);
5864     JITTER_RULE_CLONE_PLACEHOLDER_(c);
5865   JITTER_RULE_END_PLACEHOLDER_CLONING
5866   JITTER_RULE_BEGIN_BODY
5867   //fprintf (stderr, "* The rule scratch (line 1905) fires...\n");
5868     //fprintf (stderr, "    rewrite: adding instruction branch-if-register-non-zero\n");
5869     JITTER_RULE_APPEND_INSTRUCTION_(branch_mif_mregister_mnon_mzero);
5870     //fprintf (stderr, "    instantiating the 0-th argument of branch-if-register-non-zero\n");
5871     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5872       JITTER_PLACEHOLDER_NAME(a)
5873                                  );
5874     //fprintf (stderr, "    instantiating the 1-th argument of branch-if-register-non-zero\n");
5875     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5876       JITTER_PLACEHOLDER_NAME(c)
5877                                  );
5878     //fprintf (stderr, "    instantiating the 2-th argument of branch-if-register-non-zero\n");
5879     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5880       JITTER_PLACEHOLDER_NAME(b)
5881                                  );
5882     //fprintf (stderr, "  ...End of the rule scratch\n");
5883   JITTER_RULE_END_BODY
5884   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5885     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5886     JITTER_RULE_DESTROY_PLACEHOLDER_(b);
5887     JITTER_RULE_DESTROY_PLACEHOLDER_(c);
5888   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5889 JITTER_RULE_END
5890 
5891 //asm volatile ("\n# checking nip-drop-push-literal");
5892 //fprintf (stderr, "Trying rule 52 of 66, \"nip-drop-push-literal\" (line 1928)\n");
5893 /* Rewrite rule "nip-drop-push-literal" */
5894 JITTER_RULE_BEGIN(2)
5895   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5896     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5897   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5898   JITTER_RULE_BEGIN_CONDITIONS
5899     /* Check opcodes first: they are likely not to match, and in */
5900     /* that case we want to fail as early as possible. */
5901     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mdrop)
5902     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
5903     /* Check arguments, binding placeholders.  We don't have to worry */
5904     /* about arity, since the opcodes match if we're here. */
5905     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5906     /* Rule guard. */
5907     JITTER_RULE_CONDITION(
5908       true
5909                          )
5910   JITTER_RULE_END_CONDITIONS
5911   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5912     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5913   JITTER_RULE_END_PLACEHOLDER_CLONING
5914   JITTER_RULE_BEGIN_BODY
5915   //fprintf (stderr, "* The rule nip-drop-push-literal (line 1928) fires...\n");
5916     //fprintf (stderr, "    rewrite: adding instruction nip\n");
5917     JITTER_RULE_APPEND_INSTRUCTION_(nip);
5918     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
5919     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
5920     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
5921     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5922       JITTER_PLACEHOLDER_NAME(a)
5923                                  );
5924     //fprintf (stderr, "  ...End of the rule nip-drop-push-literal\n");
5925   JITTER_RULE_END_BODY
5926   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5927     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5928   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5929 JITTER_RULE_END
5930 
5931 //asm volatile ("\n# checking nip-drop-push-register");
5932 //fprintf (stderr, "Trying rule 53 of 66, \"nip-drop-push-register\" (line 1933)\n");
5933 /* Rewrite rule "nip-drop-push-register" */
5934 JITTER_RULE_BEGIN(2)
5935   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5936     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5937   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5938   JITTER_RULE_BEGIN_CONDITIONS
5939     /* Check opcodes first: they are likely not to match, and in */
5940     /* that case we want to fail as early as possible. */
5941     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mdrop)
5942     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
5943     /* Check arguments, binding placeholders.  We don't have to worry */
5944     /* about arity, since the opcodes match if we're here. */
5945     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5946     /* Rule guard. */
5947     JITTER_RULE_CONDITION(
5948       true
5949                          )
5950   JITTER_RULE_END_CONDITIONS
5951   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5952     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5953   JITTER_RULE_END_PLACEHOLDER_CLONING
5954   JITTER_RULE_BEGIN_BODY
5955   //fprintf (stderr, "* The rule nip-drop-push-register (line 1933) fires...\n");
5956     //fprintf (stderr, "    rewrite: adding instruction nip\n");
5957     JITTER_RULE_APPEND_INSTRUCTION_(nip);
5958     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
5959     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
5960     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
5961     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
5962       JITTER_PLACEHOLDER_NAME(a)
5963                                  );
5964     //fprintf (stderr, "  ...End of the rule nip-drop-push-register\n");
5965   JITTER_RULE_END_BODY
5966   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
5967     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
5968   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
5969 JITTER_RULE_END
5970 
5971 //asm volatile ("\n# checking nip-two-drop-push-literal");
5972 //fprintf (stderr, "Trying rule 54 of 66, \"nip-two-drop-push-literal\" (line 1938)\n");
5973 /* Rewrite rule "nip-two-drop-push-literal" */
5974 JITTER_RULE_BEGIN(2)
5975   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
5976     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
5977   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
5978   JITTER_RULE_BEGIN_CONDITIONS
5979     /* Check opcodes first: they are likely not to match, and in */
5980     /* that case we want to fail as early as possible. */
5981     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mtwo_mdrop)
5982     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
5983     /* Check arguments, binding placeholders.  We don't have to worry */
5984     /* about arity, since the opcodes match if we're here. */
5985     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
5986     /* Rule guard. */
5987     JITTER_RULE_CONDITION(
5988       true
5989                          )
5990   JITTER_RULE_END_CONDITIONS
5991   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
5992     JITTER_RULE_CLONE_PLACEHOLDER_(a);
5993   JITTER_RULE_END_PLACEHOLDER_CLONING
5994   JITTER_RULE_BEGIN_BODY
5995   //fprintf (stderr, "* The rule nip-two-drop-push-literal (line 1938) fires...\n");
5996     //fprintf (stderr, "    rewrite: adding instruction nip-two\n");
5997     JITTER_RULE_APPEND_INSTRUCTION_(nip_mtwo);
5998     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
5999     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
6000     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
6001     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6002       JITTER_PLACEHOLDER_NAME(a)
6003                                  );
6004     //fprintf (stderr, "  ...End of the rule nip-two-drop-push-literal\n");
6005   JITTER_RULE_END_BODY
6006   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6007     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6008   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6009 JITTER_RULE_END
6010 
6011 //asm volatile ("\n# checking nip-two-drop-push-register");
6012 //fprintf (stderr, "Trying rule 55 of 66, \"nip-two-drop-push-register\" (line 1943)\n");
6013 /* Rewrite rule "nip-two-drop-push-register" */
6014 JITTER_RULE_BEGIN(2)
6015   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6016     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6017   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6018   JITTER_RULE_BEGIN_CONDITIONS
6019     /* Check opcodes first: they are likely not to match, and in */
6020     /* that case we want to fail as early as possible. */
6021     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mtwo_mdrop)
6022     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6023     /* Check arguments, binding placeholders.  We don't have to worry */
6024     /* about arity, since the opcodes match if we're here. */
6025     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6026     /* Rule guard. */
6027     JITTER_RULE_CONDITION(
6028       true
6029                          )
6030   JITTER_RULE_END_CONDITIONS
6031   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6032     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6033   JITTER_RULE_END_PLACEHOLDER_CLONING
6034   JITTER_RULE_BEGIN_BODY
6035   //fprintf (stderr, "* The rule nip-two-drop-push-register (line 1943) fires...\n");
6036     //fprintf (stderr, "    rewrite: adding instruction nip-two\n");
6037     JITTER_RULE_APPEND_INSTRUCTION_(nip_mtwo);
6038     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
6039     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
6040     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
6041     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6042       JITTER_PLACEHOLDER_NAME(a)
6043                                  );
6044     //fprintf (stderr, "  ...End of the rule nip-two-drop-push-register\n");
6045   JITTER_RULE_END_BODY
6046   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6047     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6048   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6049 JITTER_RULE_END
6050 
6051 //asm volatile ("\n# checking nip-three-drop-push-literal");
6052 //fprintf (stderr, "Trying rule 56 of 66, \"nip-three-drop-push-literal\" (line 1948)\n");
6053 /* Rewrite rule "nip-three-drop-push-literal" */
6054 JITTER_RULE_BEGIN(2)
6055   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6056     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6057   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6058   JITTER_RULE_BEGIN_CONDITIONS
6059     /* Check opcodes first: they are likely not to match, and in */
6060     /* that case we want to fail as early as possible. */
6061     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mthree_mdrop)
6062     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
6063     /* Check arguments, binding placeholders.  We don't have to worry */
6064     /* about arity, since the opcodes match if we're here. */
6065     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6066     /* Rule guard. */
6067     JITTER_RULE_CONDITION(
6068       true
6069                          )
6070   JITTER_RULE_END_CONDITIONS
6071   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6072     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6073   JITTER_RULE_END_PLACEHOLDER_CLONING
6074   JITTER_RULE_BEGIN_BODY
6075   //fprintf (stderr, "* The rule nip-three-drop-push-literal (line 1948) fires...\n");
6076     //fprintf (stderr, "    rewrite: adding instruction nip-three\n");
6077     JITTER_RULE_APPEND_INSTRUCTION_(nip_mthree);
6078     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
6079     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
6080     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
6081     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6082       JITTER_PLACEHOLDER_NAME(a)
6083                                  );
6084     //fprintf (stderr, "  ...End of the rule nip-three-drop-push-literal\n");
6085   JITTER_RULE_END_BODY
6086   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6087     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6088   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6089 JITTER_RULE_END
6090 
6091 //asm volatile ("\n# checking nip-three-drop-push-register");
6092 //fprintf (stderr, "Trying rule 57 of 66, \"nip-three-drop-push-register\" (line 1953)\n");
6093 /* Rewrite rule "nip-three-drop-push-register" */
6094 JITTER_RULE_BEGIN(2)
6095   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6096     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6097   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6098   JITTER_RULE_BEGIN_CONDITIONS
6099     /* Check opcodes first: they are likely not to match, and in */
6100     /* that case we want to fail as early as possible. */
6101     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mthree_mdrop)
6102     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6103     /* Check arguments, binding placeholders.  We don't have to worry */
6104     /* about arity, since the opcodes match if we're here. */
6105     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6106     /* Rule guard. */
6107     JITTER_RULE_CONDITION(
6108       true
6109                          )
6110   JITTER_RULE_END_CONDITIONS
6111   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6112     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6113   JITTER_RULE_END_PLACEHOLDER_CLONING
6114   JITTER_RULE_BEGIN_BODY
6115   //fprintf (stderr, "* The rule nip-three-drop-push-register (line 1953) fires...\n");
6116     //fprintf (stderr, "    rewrite: adding instruction nip-three\n");
6117     JITTER_RULE_APPEND_INSTRUCTION_(nip_mthree);
6118     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
6119     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
6120     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
6121     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6122       JITTER_PLACEHOLDER_NAME(a)
6123                                  );
6124     //fprintf (stderr, "  ...End of the rule nip-three-drop-push-register\n");
6125   JITTER_RULE_END_BODY
6126   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6127     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6128   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6129 JITTER_RULE_END
6130 
6131 //asm volatile ("\n# checking nip-four-drop-push-literal");
6132 //fprintf (stderr, "Trying rule 58 of 66, \"nip-four-drop-push-literal\" (line 1958)\n");
6133 /* Rewrite rule "nip-four-drop-push-literal" */
6134 JITTER_RULE_BEGIN(2)
6135   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6136     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6137   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6138   JITTER_RULE_BEGIN_CONDITIONS
6139     /* Check opcodes first: they are likely not to match, and in */
6140     /* that case we want to fail as early as possible. */
6141     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfour_mdrop)
6142     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
6143     /* Check arguments, binding placeholders.  We don't have to worry */
6144     /* about arity, since the opcodes match if we're here. */
6145     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6146     /* Rule guard. */
6147     JITTER_RULE_CONDITION(
6148       true
6149                          )
6150   JITTER_RULE_END_CONDITIONS
6151   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6152     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6153   JITTER_RULE_END_PLACEHOLDER_CLONING
6154   JITTER_RULE_BEGIN_BODY
6155   //fprintf (stderr, "* The rule nip-four-drop-push-literal (line 1958) fires...\n");
6156     //fprintf (stderr, "    rewrite: adding instruction nip-four\n");
6157     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfour);
6158     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
6159     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
6160     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
6161     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6162       JITTER_PLACEHOLDER_NAME(a)
6163                                  );
6164     //fprintf (stderr, "  ...End of the rule nip-four-drop-push-literal\n");
6165   JITTER_RULE_END_BODY
6166   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6167     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6168   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6169 JITTER_RULE_END
6170 
6171 //asm volatile ("\n# checking nip-four-drop-push-register");
6172 //fprintf (stderr, "Trying rule 59 of 66, \"nip-four-drop-push-register\" (line 1963)\n");
6173 /* Rewrite rule "nip-four-drop-push-register" */
6174 JITTER_RULE_BEGIN(2)
6175   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6176     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6177   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6178   JITTER_RULE_BEGIN_CONDITIONS
6179     /* Check opcodes first: they are likely not to match, and in */
6180     /* that case we want to fail as early as possible. */
6181     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfour_mdrop)
6182     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6183     /* Check arguments, binding placeholders.  We don't have to worry */
6184     /* about arity, since the opcodes match if we're here. */
6185     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6186     /* Rule guard. */
6187     JITTER_RULE_CONDITION(
6188       true
6189                          )
6190   JITTER_RULE_END_CONDITIONS
6191   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6192     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6193   JITTER_RULE_END_PLACEHOLDER_CLONING
6194   JITTER_RULE_BEGIN_BODY
6195   //fprintf (stderr, "* The rule nip-four-drop-push-register (line 1963) fires...\n");
6196     //fprintf (stderr, "    rewrite: adding instruction nip-four\n");
6197     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfour);
6198     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
6199     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
6200     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
6201     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6202       JITTER_PLACEHOLDER_NAME(a)
6203                                  );
6204     //fprintf (stderr, "  ...End of the rule nip-four-drop-push-register\n");
6205   JITTER_RULE_END_BODY
6206   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6207     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6208   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6209 JITTER_RULE_END
6210 
6211 //asm volatile ("\n# checking nip-five-drop-push-literal");
6212 //fprintf (stderr, "Trying rule 60 of 66, \"nip-five-drop-push-literal\" (line 1968)\n");
6213 /* Rewrite rule "nip-five-drop-push-literal" */
6214 JITTER_RULE_BEGIN(2)
6215   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6216     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6217   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6218   JITTER_RULE_BEGIN_CONDITIONS
6219     /* Check opcodes first: they are likely not to match, and in */
6220     /* that case we want to fail as early as possible. */
6221     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfive_mdrop)
6222     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
6223     /* Check arguments, binding placeholders.  We don't have to worry */
6224     /* about arity, since the opcodes match if we're here. */
6225     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6226     /* Rule guard. */
6227     JITTER_RULE_CONDITION(
6228       true
6229                          )
6230   JITTER_RULE_END_CONDITIONS
6231   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6232     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6233   JITTER_RULE_END_PLACEHOLDER_CLONING
6234   JITTER_RULE_BEGIN_BODY
6235   //fprintf (stderr, "* The rule nip-five-drop-push-literal (line 1968) fires...\n");
6236     //fprintf (stderr, "    rewrite: adding instruction nip-five\n");
6237     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfive);
6238     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
6239     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
6240     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
6241     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6242       JITTER_PLACEHOLDER_NAME(a)
6243                                  );
6244     //fprintf (stderr, "  ...End of the rule nip-five-drop-push-literal\n");
6245   JITTER_RULE_END_BODY
6246   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6247     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6248   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6249 JITTER_RULE_END
6250 
6251 //asm volatile ("\n# checking nip-five-drop-push-register");
6252 //fprintf (stderr, "Trying rule 61 of 66, \"nip-five-drop-push-register\" (line 1973)\n");
6253 /* Rewrite rule "nip-five-drop-push-register" */
6254 JITTER_RULE_BEGIN(2)
6255   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6256     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6257   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6258   JITTER_RULE_BEGIN_CONDITIONS
6259     /* Check opcodes first: they are likely not to match, and in */
6260     /* that case we want to fail as early as possible. */
6261     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_mfive_mdrop)
6262     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6263     /* Check arguments, binding placeholders.  We don't have to worry */
6264     /* about arity, since the opcodes match if we're here. */
6265     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6266     /* Rule guard. */
6267     JITTER_RULE_CONDITION(
6268       true
6269                          )
6270   JITTER_RULE_END_CONDITIONS
6271   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6272     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6273   JITTER_RULE_END_PLACEHOLDER_CLONING
6274   JITTER_RULE_BEGIN_BODY
6275   //fprintf (stderr, "* The rule nip-five-drop-push-register (line 1973) fires...\n");
6276     //fprintf (stderr, "    rewrite: adding instruction nip-five\n");
6277     JITTER_RULE_APPEND_INSTRUCTION_(nip_mfive);
6278     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
6279     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
6280     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
6281     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6282       JITTER_PLACEHOLDER_NAME(a)
6283                                  );
6284     //fprintf (stderr, "  ...End of the rule nip-five-drop-push-register\n");
6285   JITTER_RULE_END_BODY
6286   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6287     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6288   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6289 JITTER_RULE_END
6290 
6291 //asm volatile ("\n# checking nip-six-drop-push-literal");
6292 //fprintf (stderr, "Trying rule 62 of 66, \"nip-six-drop-push-literal\" (line 1978)\n");
6293 /* Rewrite rule "nip-six-drop-push-literal" */
6294 JITTER_RULE_BEGIN(2)
6295   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6296     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6297   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6298   JITTER_RULE_BEGIN_CONDITIONS
6299     /* Check opcodes first: they are likely not to match, and in */
6300     /* that case we want to fail as early as possible. */
6301     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_msix_mdrop)
6302     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
6303     /* Check arguments, binding placeholders.  We don't have to worry */
6304     /* about arity, since the opcodes match if we're here. */
6305     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6306     /* Rule guard. */
6307     JITTER_RULE_CONDITION(
6308       true
6309                          )
6310   JITTER_RULE_END_CONDITIONS
6311   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6312     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6313   JITTER_RULE_END_PLACEHOLDER_CLONING
6314   JITTER_RULE_BEGIN_BODY
6315   //fprintf (stderr, "* The rule nip-six-drop-push-literal (line 1978) fires...\n");
6316     //fprintf (stderr, "    rewrite: adding instruction nip-six\n");
6317     JITTER_RULE_APPEND_INSTRUCTION_(nip_msix);
6318     //fprintf (stderr, "    rewrite: adding instruction copy-from-literal\n");
6319     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mliteral);
6320     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-literal\n");
6321     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6322       JITTER_PLACEHOLDER_NAME(a)
6323                                  );
6324     //fprintf (stderr, "  ...End of the rule nip-six-drop-push-literal\n");
6325   JITTER_RULE_END_BODY
6326   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6327     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6328   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6329 JITTER_RULE_END
6330 
6331 //asm volatile ("\n# checking nip-six-drop-push-register");
6332 //fprintf (stderr, "Trying rule 63 of 66, \"nip-six-drop-push-register\" (line 1983)\n");
6333 /* Rewrite rule "nip-six-drop-push-register" */
6334 JITTER_RULE_BEGIN(2)
6335   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6336     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6337   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6338   JITTER_RULE_BEGIN_CONDITIONS
6339     /* Check opcodes first: they are likely not to match, and in */
6340     /* that case we want to fail as early as possible. */
6341     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip_msix_mdrop)
6342     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6343     /* Check arguments, binding placeholders.  We don't have to worry */
6344     /* about arity, since the opcodes match if we're here. */
6345     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6346     /* Rule guard. */
6347     JITTER_RULE_CONDITION(
6348       true
6349                          )
6350   JITTER_RULE_END_CONDITIONS
6351   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6352     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6353   JITTER_RULE_END_PLACEHOLDER_CLONING
6354   JITTER_RULE_BEGIN_BODY
6355   //fprintf (stderr, "* The rule nip-six-drop-push-register (line 1983) fires...\n");
6356     //fprintf (stderr, "    rewrite: adding instruction nip-six\n");
6357     JITTER_RULE_APPEND_INSTRUCTION_(nip_msix);
6358     //fprintf (stderr, "    rewrite: adding instruction copy-from-register\n");
6359     JITTER_RULE_APPEND_INSTRUCTION_(copy_mfrom_mregister);
6360     //fprintf (stderr, "    instantiating the 0-th argument of copy-from-register\n");
6361     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6362       JITTER_PLACEHOLDER_NAME(a)
6363                                  );
6364     //fprintf (stderr, "  ...End of the rule nip-six-drop-push-register\n");
6365   JITTER_RULE_END_BODY
6366   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6367     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6368   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6369 JITTER_RULE_END
6370 
6371 //asm volatile ("\n# checking unnamed");
6372 //fprintf (stderr, "Trying rule 64 of 66, \"unnamed\" (line 2005)\n");
6373 /* Rewrite rule "unnamed" */
6374 JITTER_RULE_BEGIN(2)
6375   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6376     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6377   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6378   JITTER_RULE_BEGIN_CONDITIONS
6379     /* Check opcodes first: they are likely not to match, and in */
6380     /* that case we want to fail as early as possible. */
6381     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip)
6382     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mliteral)
6383     /* Check arguments, binding placeholders.  We don't have to worry */
6384     /* about arity, since the opcodes match if we're here. */
6385     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6386     /* Rule guard. */
6387     JITTER_RULE_CONDITION(
6388       true
6389                          )
6390   JITTER_RULE_END_CONDITIONS
6391   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6392     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6393   JITTER_RULE_END_PLACEHOLDER_CLONING
6394   JITTER_RULE_BEGIN_BODY
6395   //fprintf (stderr, "* The rule unnamed (line 2005) fires...\n");
6396     //fprintf (stderr, "    rewrite: adding instruction nip-push-literal\n");
6397     JITTER_RULE_APPEND_INSTRUCTION_(nip_mpush_mliteral);
6398     //fprintf (stderr, "    instantiating the 0-th argument of nip-push-literal\n");
6399     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6400       JITTER_PLACEHOLDER_NAME(a)
6401                                  );
6402     //fprintf (stderr, "  ...End of the rule unnamed\n");
6403   JITTER_RULE_END_BODY
6404   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6405     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6406   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6407 JITTER_RULE_END
6408 
6409 //asm volatile ("\n# checking unnamed");
6410 //fprintf (stderr, "Trying rule 65 of 66, \"unnamed\" (line 2010)\n");
6411 /* Rewrite rule "unnamed" */
6412 JITTER_RULE_BEGIN(2)
6413   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6414     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6415   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6416   JITTER_RULE_BEGIN_CONDITIONS
6417     /* Check opcodes first: they are likely not to match, and in */
6418     /* that case we want to fail as early as possible. */
6419     JITTER_RULE_CONDITION_MATCH_OPCODE(0, nip)
6420     JITTER_RULE_CONDITION_MATCH_OPCODE(1, push_mregister)
6421     /* Check arguments, binding placeholders.  We don't have to worry */
6422     /* about arity, since the opcodes match if we're here. */
6423     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, a)
6424     /* Rule guard. */
6425     JITTER_RULE_CONDITION(
6426       true
6427                          )
6428   JITTER_RULE_END_CONDITIONS
6429   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6430     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6431   JITTER_RULE_END_PLACEHOLDER_CLONING
6432   JITTER_RULE_BEGIN_BODY
6433   //fprintf (stderr, "* The rule unnamed (line 2010) fires...\n");
6434     //fprintf (stderr, "    rewrite: adding instruction nip-push-register\n");
6435     JITTER_RULE_APPEND_INSTRUCTION_(nip_mpush_mregister);
6436     //fprintf (stderr, "    instantiating the 0-th argument of nip-push-register\n");
6437     jitter_mutable_routine_append_parameter_copy (jitter_mutable_routine_p,
6438       JITTER_PLACEHOLDER_NAME(a)
6439                                  );
6440     //fprintf (stderr, "  ...End of the rule unnamed\n");
6441   JITTER_RULE_END_BODY
6442   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6443     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6444   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6445 JITTER_RULE_END
6446 
6447 //asm volatile ("\n# checking useless-cons-elimination");
6448 //fprintf (stderr, "Trying rule 66 of 66, \"useless-cons-elimination\" (line 2021)\n");
6449 /* Rewrite rule "useless-cons-elimination" */
6450 JITTER_RULE_BEGIN(4)
6451   JITTER_RULE_BEGIN_PLACEHOLDER_DECLARATIONS
6452     JITTER_RULE_DECLARE_PLACEHOLDER_(a);
6453     JITTER_RULE_DECLARE_PLACEHOLDER_(f);
6454   JITTER_RULE_END_PLACEHOLDER_DECLARATIONS
6455   JITTER_RULE_BEGIN_CONDITIONS
6456     /* Check opcodes first: they are likely not to match, and in */
6457     /* that case we want to fail as early as possible. */
6458     JITTER_RULE_CONDITION_MATCH_OPCODE(0, heap_mallocate)
6459     JITTER_RULE_CONDITION_MATCH_OPCODE(1, gc_mif_mneeded)
6460     JITTER_RULE_CONDITION_MATCH_OPCODE(2, primitive_mcons_mspecial)
6461     JITTER_RULE_CONDITION_MATCH_OPCODE(3, nip_mdrop)
6462     /* Check arguments, binding placeholders.  We don't have to worry */
6463     /* about arity, since the opcodes match if we're here. */
6464     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(0, 0, a)
6465     JITTER_RULE_CONDITION_MATCH_PLACEHOLDER(1, 0, f)
6466     /* Rule guard. */
6467     JITTER_RULE_CONDITION(
6468       true
6469                          )
6470   JITTER_RULE_END_CONDITIONS
6471   JITTER_RULE_BEGIN_PLACEHOLDER_CLONING
6472     JITTER_RULE_CLONE_PLACEHOLDER_(a);
6473     JITTER_RULE_CLONE_PLACEHOLDER_(f);
6474   JITTER_RULE_END_PLACEHOLDER_CLONING
6475   JITTER_RULE_BEGIN_BODY
6476   //fprintf (stderr, "* The rule useless-cons-elimination (line 2021) fires...\n");
6477     //fprintf (stderr, "    rewrite: adding instruction drop\n");
6478     JITTER_RULE_APPEND_INSTRUCTION_(drop);
6479     //fprintf (stderr, "    rewrite: adding instruction drop\n");
6480     JITTER_RULE_APPEND_INSTRUCTION_(drop);
6481     //fprintf (stderr, "  ...End of the rule useless-cons-elimination\n");
6482   JITTER_RULE_END_BODY
6483   JITTER_RULE_BEGIN_PLACEHOLDER_DESTRUCTION
6484     JITTER_RULE_DESTROY_PLACEHOLDER_(a);
6485     JITTER_RULE_DESTROY_PLACEHOLDER_(f);
6486   JITTER_RULE_END_PLACEHOLDER_DESTRUCTION
6487 JITTER_RULE_END
6488 
6489 //fprintf (stderr, "No more rules to try\n");
6490 }
6491 
6492 
6493 //#include <jitter/jitter-fatal.h>
6494 
6495 //#include <jitter/jitter.h>
6496 //#include <jitter/jitter-instruction.h>
6497 //#include <jitter/jitter-specialize.h>
6498 
6499 //#include "jitterlispvm-vm.h"
6500 //#include "jitterlispvm-meta-instructions.h"
6501 //#include "jitterlispvm-specialized-instructions.h"
6502 
6503 
6504 /* Recognizer function prototypes. */
6505 inline static enum jitterlispvm_specialized_instruction_opcode
6506 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister (struct jitter_parameter ** const ps,
6507                                                bool enable_fast_literals)
6508   __attribute__ ((pure));
6509 inline static enum jitterlispvm_specialized_instruction_opcode
6510 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1 (struct jitter_parameter ** const ps,
6511                                                bool enable_fast_literals)
6512   __attribute__ ((pure));
6513 inline static enum jitterlispvm_specialized_instruction_opcode
6514 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1___rrR (struct jitter_parameter ** const ps,
6515                                                bool enable_fast_literals)
6516   __attribute__ ((pure));
6517 inline static enum jitterlispvm_specialized_instruction_opcode
6518 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2 (struct jitter_parameter ** const ps,
6519                                                bool enable_fast_literals)
6520   __attribute__ ((pure));
6521 inline static enum jitterlispvm_specialized_instruction_opcode
6522 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2___rrR (struct jitter_parameter ** const ps,
6523                                                bool enable_fast_literals)
6524   __attribute__ ((pure));
6525 inline static enum jitterlispvm_specialized_instruction_opcode
6526 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3 (struct jitter_parameter ** const ps,
6527                                                bool enable_fast_literals)
6528   __attribute__ ((pure));
6529 inline static enum jitterlispvm_specialized_instruction_opcode
6530 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3___rrR (struct jitter_parameter ** const ps,
6531                                                bool enable_fast_literals)
6532   __attribute__ ((pure));
6533 inline static enum jitterlispvm_specialized_instruction_opcode
6534 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4 (struct jitter_parameter ** const ps,
6535                                                bool enable_fast_literals)
6536   __attribute__ ((pure));
6537 inline static enum jitterlispvm_specialized_instruction_opcode
6538 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4___rrR (struct jitter_parameter ** const ps,
6539                                                bool enable_fast_literals)
6540   __attribute__ ((pure));
6541 inline static enum jitterlispvm_specialized_instruction_opcode
6542 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5 (struct jitter_parameter ** const ps,
6543                                                bool enable_fast_literals)
6544   __attribute__ ((pure));
6545 inline static enum jitterlispvm_specialized_instruction_opcode
6546 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5___rrR (struct jitter_parameter ** const ps,
6547                                                bool enable_fast_literals)
6548   __attribute__ ((pure));
6549 inline static enum jitterlispvm_specialized_instruction_opcode
6550 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6 (struct jitter_parameter ** const ps,
6551                                                bool enable_fast_literals)
6552   __attribute__ ((pure));
6553 inline static enum jitterlispvm_specialized_instruction_opcode
6554 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6___rrR (struct jitter_parameter ** const ps,
6555                                                bool enable_fast_literals)
6556   __attribute__ ((pure));
6557 inline static enum jitterlispvm_specialized_instruction_opcode
6558 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7 (struct jitter_parameter ** const ps,
6559                                                bool enable_fast_literals)
6560   __attribute__ ((pure));
6561 inline static enum jitterlispvm_specialized_instruction_opcode
6562 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7___rrR (struct jitter_parameter ** const ps,
6563                                                bool enable_fast_literals)
6564   __attribute__ ((pure));
6565 inline static enum jitterlispvm_specialized_instruction_opcode
6566 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8 (struct jitter_parameter ** const ps,
6567                                                bool enable_fast_literals)
6568   __attribute__ ((pure));
6569 inline static enum jitterlispvm_specialized_instruction_opcode
6570 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8___rrR (struct jitter_parameter ** const ps,
6571                                                bool enable_fast_literals)
6572   __attribute__ ((pure));
6573 inline static enum jitterlispvm_specialized_instruction_opcode
6574 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9 (struct jitter_parameter ** const ps,
6575                                                bool enable_fast_literals)
6576   __attribute__ ((pure));
6577 inline static enum jitterlispvm_specialized_instruction_opcode
6578 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9___rrR (struct jitter_parameter ** const ps,
6579                                                bool enable_fast_literals)
6580   __attribute__ ((pure));
6581 inline static enum jitterlispvm_specialized_instruction_opcode
6582 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10 (struct jitter_parameter ** const ps,
6583                                                bool enable_fast_literals)
6584   __attribute__ ((pure));
6585 inline static enum jitterlispvm_specialized_instruction_opcode
6586 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10___rrR (struct jitter_parameter ** const ps,
6587                                                bool enable_fast_literals)
6588   __attribute__ ((pure));
6589 inline static enum jitterlispvm_specialized_instruction_opcode
6590 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR (struct jitter_parameter ** const ps,
6591                                                bool enable_fast_literals)
6592   __attribute__ ((pure));
6593 inline static enum jitterlispvm_specialized_instruction_opcode
6594 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR___rrR (struct jitter_parameter ** const ps,
6595                                                bool enable_fast_literals)
6596   __attribute__ ((pure));
6597 inline static enum jitterlispvm_specialized_instruction_opcode
6598 jitterlispvm_recognize_specialized_instruction_branch (struct jitter_parameter ** const ps,
6599                                                bool enable_fast_literals)
6600   __attribute__ ((pure));
6601 inline static enum jitterlispvm_specialized_instruction_opcode
6602 jitterlispvm_recognize_specialized_instruction_branch__fR (struct jitter_parameter ** const ps,
6603                                                bool enable_fast_literals)
6604   __attribute__ ((pure));
6605 inline static enum jitterlispvm_specialized_instruction_opcode
6606 jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse (struct jitter_parameter ** const ps,
6607                                                bool enable_fast_literals)
6608   __attribute__ ((pure));
6609 inline static enum jitterlispvm_specialized_instruction_opcode
6610 jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse__fR (struct jitter_parameter ** const ps,
6611                                                bool enable_fast_literals)
6612   __attribute__ ((pure));
6613 inline static enum jitterlispvm_specialized_instruction_opcode
6614 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless (struct jitter_parameter ** const ps,
6615                                                bool enable_fast_literals)
6616   __attribute__ ((pure));
6617 inline static enum jitterlispvm_specialized_instruction_opcode
6618 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR (struct jitter_parameter ** const ps,
6619                                                bool enable_fast_literals)
6620   __attribute__ ((pure));
6621 inline static enum jitterlispvm_specialized_instruction_opcode
6622 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR__fR (struct jitter_parameter ** const ps,
6623                                                bool enable_fast_literals)
6624   __attribute__ ((pure));
6625 inline static enum jitterlispvm_specialized_instruction_opcode
6626 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull (struct jitter_parameter ** const ps,
6627                                                bool enable_fast_literals)
6628   __attribute__ ((pure));
6629 inline static enum jitterlispvm_specialized_instruction_opcode
6630 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull__fR (struct jitter_parameter ** const ps,
6631                                                bool enable_fast_literals)
6632   __attribute__ ((pure));
6633 inline static enum jitterlispvm_specialized_instruction_opcode
6634 jitterlispvm_recognize_specialized_instruction_branch_mif_mnull (struct jitter_parameter ** const ps,
6635                                                bool enable_fast_literals)
6636   __attribute__ ((pure));
6637 inline static enum jitterlispvm_specialized_instruction_opcode
6638 jitterlispvm_recognize_specialized_instruction_branch_mif_mnull__fR (struct jitter_parameter ** const ps,
6639                                                bool enable_fast_literals)
6640   __attribute__ ((pure));
6641 inline static enum jitterlispvm_specialized_instruction_opcode
6642 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero (struct jitter_parameter ** const ps,
6643                                                bool enable_fast_literals)
6644   __attribute__ ((pure));
6645 inline static enum jitterlispvm_specialized_instruction_opcode
6646 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR (struct jitter_parameter ** const ps,
6647                                                bool enable_fast_literals)
6648   __attribute__ ((pure));
6649 inline static enum jitterlispvm_specialized_instruction_opcode
6650 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR (struct jitter_parameter ** const ps,
6651                                                bool enable_fast_literals)
6652   __attribute__ ((pure));
6653 inline static enum jitterlispvm_specialized_instruction_opcode
6654 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR__fR (struct jitter_parameter ** const ps,
6655                                                bool enable_fast_literals)
6656   __attribute__ ((pure));
6657 inline static enum jitterlispvm_specialized_instruction_opcode
6658 jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue (struct jitter_parameter ** const ps,
6659                                                bool enable_fast_literals)
6660   __attribute__ ((pure));
6661 inline static enum jitterlispvm_specialized_instruction_opcode
6662 jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue__fR (struct jitter_parameter ** const ps,
6663                                                bool enable_fast_literals)
6664   __attribute__ ((pure));
6665 inline static enum jitterlispvm_specialized_instruction_opcode
6666 jitterlispvm_recognize_specialized_instruction_call (struct jitter_parameter ** const ps,
6667                                                bool enable_fast_literals)
6668   __attribute__ ((pure));
6669 inline static enum jitterlispvm_specialized_instruction_opcode
6670 jitterlispvm_recognize_specialized_instruction_call__n0 (struct jitter_parameter ** const ps,
6671                                                bool enable_fast_literals)
6672   __attribute__ ((pure));
6673 inline static enum jitterlispvm_specialized_instruction_opcode
6674 jitterlispvm_recognize_specialized_instruction_call__n1 (struct jitter_parameter ** const ps,
6675                                                bool enable_fast_literals)
6676   __attribute__ ((pure));
6677 inline static enum jitterlispvm_specialized_instruction_opcode
6678 jitterlispvm_recognize_specialized_instruction_call__n2 (struct jitter_parameter ** const ps,
6679                                                bool enable_fast_literals)
6680   __attribute__ ((pure));
6681 inline static enum jitterlispvm_specialized_instruction_opcode
6682 jitterlispvm_recognize_specialized_instruction_call__n3 (struct jitter_parameter ** const ps,
6683                                                bool enable_fast_literals)
6684   __attribute__ ((pure));
6685 inline static enum jitterlispvm_specialized_instruction_opcode
6686 jitterlispvm_recognize_specialized_instruction_call__n4 (struct jitter_parameter ** const ps,
6687                                                bool enable_fast_literals)
6688   __attribute__ ((pure));
6689 inline static enum jitterlispvm_specialized_instruction_opcode
6690 jitterlispvm_recognize_specialized_instruction_call__n5 (struct jitter_parameter ** const ps,
6691                                                bool enable_fast_literals)
6692   __attribute__ ((pure));
6693 inline static enum jitterlispvm_specialized_instruction_opcode
6694 jitterlispvm_recognize_specialized_instruction_call__n6 (struct jitter_parameter ** const ps,
6695                                                bool enable_fast_literals)
6696   __attribute__ ((pure));
6697 inline static enum jitterlispvm_specialized_instruction_opcode
6698 jitterlispvm_recognize_specialized_instruction_call__n7 (struct jitter_parameter ** const ps,
6699                                                bool enable_fast_literals)
6700   __attribute__ ((pure));
6701 inline static enum jitterlispvm_specialized_instruction_opcode
6702 jitterlispvm_recognize_specialized_instruction_call__n8 (struct jitter_parameter ** const ps,
6703                                                bool enable_fast_literals)
6704   __attribute__ ((pure));
6705 inline static enum jitterlispvm_specialized_instruction_opcode
6706 jitterlispvm_recognize_specialized_instruction_call__n9 (struct jitter_parameter ** const ps,
6707                                                bool enable_fast_literals)
6708   __attribute__ ((pure));
6709 inline static enum jitterlispvm_specialized_instruction_opcode
6710 jitterlispvm_recognize_specialized_instruction_call__n10 (struct jitter_parameter ** const ps,
6711                                                bool enable_fast_literals)
6712   __attribute__ ((pure));
6713 inline static enum jitterlispvm_specialized_instruction_opcode
6714 jitterlispvm_recognize_specialized_instruction_call__nR (struct jitter_parameter ** const ps,
6715                                                bool enable_fast_literals)
6716   __attribute__ ((pure));
6717 inline static enum jitterlispvm_specialized_instruction_opcode
6718 jitterlispvm_recognize_specialized_instruction_call_mcompiled (struct jitter_parameter ** const ps,
6719                                                bool enable_fast_literals)
6720   __attribute__ ((pure));
6721 inline static enum jitterlispvm_specialized_instruction_opcode
6722 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n0 (struct jitter_parameter ** const ps,
6723                                                bool enable_fast_literals)
6724   __attribute__ ((pure));
6725 inline static enum jitterlispvm_specialized_instruction_opcode
6726 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n1 (struct jitter_parameter ** const ps,
6727                                                bool enable_fast_literals)
6728   __attribute__ ((pure));
6729 inline static enum jitterlispvm_specialized_instruction_opcode
6730 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n2 (struct jitter_parameter ** const ps,
6731                                                bool enable_fast_literals)
6732   __attribute__ ((pure));
6733 inline static enum jitterlispvm_specialized_instruction_opcode
6734 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n3 (struct jitter_parameter ** const ps,
6735                                                bool enable_fast_literals)
6736   __attribute__ ((pure));
6737 inline static enum jitterlispvm_specialized_instruction_opcode
6738 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n4 (struct jitter_parameter ** const ps,
6739                                                bool enable_fast_literals)
6740   __attribute__ ((pure));
6741 inline static enum jitterlispvm_specialized_instruction_opcode
6742 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n5 (struct jitter_parameter ** const ps,
6743                                                bool enable_fast_literals)
6744   __attribute__ ((pure));
6745 inline static enum jitterlispvm_specialized_instruction_opcode
6746 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n6 (struct jitter_parameter ** const ps,
6747                                                bool enable_fast_literals)
6748   __attribute__ ((pure));
6749 inline static enum jitterlispvm_specialized_instruction_opcode
6750 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n7 (struct jitter_parameter ** const ps,
6751                                                bool enable_fast_literals)
6752   __attribute__ ((pure));
6753 inline static enum jitterlispvm_specialized_instruction_opcode
6754 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n8 (struct jitter_parameter ** const ps,
6755                                                bool enable_fast_literals)
6756   __attribute__ ((pure));
6757 inline static enum jitterlispvm_specialized_instruction_opcode
6758 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n9 (struct jitter_parameter ** const ps,
6759                                                bool enable_fast_literals)
6760   __attribute__ ((pure));
6761 inline static enum jitterlispvm_specialized_instruction_opcode
6762 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n10 (struct jitter_parameter ** const ps,
6763                                                bool enable_fast_literals)
6764   __attribute__ ((pure));
6765 inline static enum jitterlispvm_specialized_instruction_opcode
6766 jitterlispvm_recognize_specialized_instruction_call_mcompiled__nR (struct jitter_parameter ** const ps,
6767                                                bool enable_fast_literals)
6768   __attribute__ ((pure));
6769 inline static enum jitterlispvm_specialized_instruction_opcode
6770 jitterlispvm_recognize_specialized_instruction_call_mfrom_mc (struct jitter_parameter ** const ps,
6771                                                bool enable_fast_literals)
6772   __attribute__ ((pure));
6773 inline static enum jitterlispvm_specialized_instruction_opcode
6774 jitterlispvm_recognize_specialized_instruction_canonicalize_mboolean (struct jitter_parameter ** const ps,
6775                                                bool enable_fast_literals)
6776   __attribute__ ((pure));
6777 inline static enum jitterlispvm_specialized_instruction_opcode
6778 jitterlispvm_recognize_specialized_instruction_check_mclosure (struct jitter_parameter ** const ps,
6779                                                bool enable_fast_literals)
6780   __attribute__ ((pure));
6781 inline static enum jitterlispvm_specialized_instruction_opcode
6782 jitterlispvm_recognize_specialized_instruction_check_mclosure__fR (struct jitter_parameter ** const ps,
6783                                                bool enable_fast_literals)
6784   __attribute__ ((pure));
6785 inline static enum jitterlispvm_specialized_instruction_opcode
6786 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined (struct jitter_parameter ** const ps,
6787                                                bool enable_fast_literals)
6788   __attribute__ ((pure));
6789 inline static enum jitterlispvm_specialized_instruction_opcode
6790 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR (struct jitter_parameter ** const ps,
6791                                                bool enable_fast_literals)
6792   __attribute__ ((pure));
6793 inline static enum jitterlispvm_specialized_instruction_opcode
6794 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR__fR (struct jitter_parameter ** const ps,
6795                                                bool enable_fast_literals)
6796   __attribute__ ((pure));
6797 inline static enum jitterlispvm_specialized_instruction_opcode
6798 jitterlispvm_recognize_specialized_instruction_check_min_marity (struct jitter_parameter ** const ps,
6799                                                bool enable_fast_literals)
6800   __attribute__ ((pure));
6801 inline static enum jitterlispvm_specialized_instruction_opcode
6802 jitterlispvm_recognize_specialized_instruction_check_min_marity__n0 (struct jitter_parameter ** const ps,
6803                                                bool enable_fast_literals)
6804   __attribute__ ((pure));
6805 inline static enum jitterlispvm_specialized_instruction_opcode
6806 jitterlispvm_recognize_specialized_instruction_check_min_marity__n0__fR (struct jitter_parameter ** const ps,
6807                                                bool enable_fast_literals)
6808   __attribute__ ((pure));
6809 inline static enum jitterlispvm_specialized_instruction_opcode
6810 jitterlispvm_recognize_specialized_instruction_check_min_marity__n1 (struct jitter_parameter ** const ps,
6811                                                bool enable_fast_literals)
6812   __attribute__ ((pure));
6813 inline static enum jitterlispvm_specialized_instruction_opcode
6814 jitterlispvm_recognize_specialized_instruction_check_min_marity__n1__fR (struct jitter_parameter ** const ps,
6815                                                bool enable_fast_literals)
6816   __attribute__ ((pure));
6817 inline static enum jitterlispvm_specialized_instruction_opcode
6818 jitterlispvm_recognize_specialized_instruction_check_min_marity__n2 (struct jitter_parameter ** const ps,
6819                                                bool enable_fast_literals)
6820   __attribute__ ((pure));
6821 inline static enum jitterlispvm_specialized_instruction_opcode
6822 jitterlispvm_recognize_specialized_instruction_check_min_marity__n2__fR (struct jitter_parameter ** const ps,
6823                                                bool enable_fast_literals)
6824   __attribute__ ((pure));
6825 inline static enum jitterlispvm_specialized_instruction_opcode
6826 jitterlispvm_recognize_specialized_instruction_check_min_marity__n3 (struct jitter_parameter ** const ps,
6827                                                bool enable_fast_literals)
6828   __attribute__ ((pure));
6829 inline static enum jitterlispvm_specialized_instruction_opcode
6830 jitterlispvm_recognize_specialized_instruction_check_min_marity__n3__fR (struct jitter_parameter ** const ps,
6831                                                bool enable_fast_literals)
6832   __attribute__ ((pure));
6833 inline static enum jitterlispvm_specialized_instruction_opcode
6834 jitterlispvm_recognize_specialized_instruction_check_min_marity__n4 (struct jitter_parameter ** const ps,
6835                                                bool enable_fast_literals)
6836   __attribute__ ((pure));
6837 inline static enum jitterlispvm_specialized_instruction_opcode
6838 jitterlispvm_recognize_specialized_instruction_check_min_marity__n4__fR (struct jitter_parameter ** const ps,
6839                                                bool enable_fast_literals)
6840   __attribute__ ((pure));
6841 inline static enum jitterlispvm_specialized_instruction_opcode
6842 jitterlispvm_recognize_specialized_instruction_check_min_marity__n5 (struct jitter_parameter ** const ps,
6843                                                bool enable_fast_literals)
6844   __attribute__ ((pure));
6845 inline static enum jitterlispvm_specialized_instruction_opcode
6846 jitterlispvm_recognize_specialized_instruction_check_min_marity__n5__fR (struct jitter_parameter ** const ps,
6847                                                bool enable_fast_literals)
6848   __attribute__ ((pure));
6849 inline static enum jitterlispvm_specialized_instruction_opcode
6850 jitterlispvm_recognize_specialized_instruction_check_min_marity__n6 (struct jitter_parameter ** const ps,
6851                                                bool enable_fast_literals)
6852   __attribute__ ((pure));
6853 inline static enum jitterlispvm_specialized_instruction_opcode
6854 jitterlispvm_recognize_specialized_instruction_check_min_marity__n6__fR (struct jitter_parameter ** const ps,
6855                                                bool enable_fast_literals)
6856   __attribute__ ((pure));
6857 inline static enum jitterlispvm_specialized_instruction_opcode
6858 jitterlispvm_recognize_specialized_instruction_check_min_marity__n7 (struct jitter_parameter ** const ps,
6859                                                bool enable_fast_literals)
6860   __attribute__ ((pure));
6861 inline static enum jitterlispvm_specialized_instruction_opcode
6862 jitterlispvm_recognize_specialized_instruction_check_min_marity__n7__fR (struct jitter_parameter ** const ps,
6863                                                bool enable_fast_literals)
6864   __attribute__ ((pure));
6865 inline static enum jitterlispvm_specialized_instruction_opcode
6866 jitterlispvm_recognize_specialized_instruction_check_min_marity__n8 (struct jitter_parameter ** const ps,
6867                                                bool enable_fast_literals)
6868   __attribute__ ((pure));
6869 inline static enum jitterlispvm_specialized_instruction_opcode
6870 jitterlispvm_recognize_specialized_instruction_check_min_marity__n8__fR (struct jitter_parameter ** const ps,
6871                                                bool enable_fast_literals)
6872   __attribute__ ((pure));
6873 inline static enum jitterlispvm_specialized_instruction_opcode
6874 jitterlispvm_recognize_specialized_instruction_check_min_marity__n9 (struct jitter_parameter ** const ps,
6875                                                bool enable_fast_literals)
6876   __attribute__ ((pure));
6877 inline static enum jitterlispvm_specialized_instruction_opcode
6878 jitterlispvm_recognize_specialized_instruction_check_min_marity__n9__fR (struct jitter_parameter ** const ps,
6879                                                bool enable_fast_literals)
6880   __attribute__ ((pure));
6881 inline static enum jitterlispvm_specialized_instruction_opcode
6882 jitterlispvm_recognize_specialized_instruction_check_min_marity__n10 (struct jitter_parameter ** const ps,
6883                                                bool enable_fast_literals)
6884   __attribute__ ((pure));
6885 inline static enum jitterlispvm_specialized_instruction_opcode
6886 jitterlispvm_recognize_specialized_instruction_check_min_marity__n10__fR (struct jitter_parameter ** const ps,
6887                                                bool enable_fast_literals)
6888   __attribute__ ((pure));
6889 inline static enum jitterlispvm_specialized_instruction_opcode
6890 jitterlispvm_recognize_specialized_instruction_check_min_marity__nR (struct jitter_parameter ** const ps,
6891                                                bool enable_fast_literals)
6892   __attribute__ ((pure));
6893 inline static enum jitterlispvm_specialized_instruction_opcode
6894 jitterlispvm_recognize_specialized_instruction_check_min_marity__nR__fR (struct jitter_parameter ** const ps,
6895                                                bool enable_fast_literals)
6896   __attribute__ ((pure));
6897 inline static enum jitterlispvm_specialized_instruction_opcode
6898 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt (struct jitter_parameter ** const ps,
6899                                                bool enable_fast_literals)
6900   __attribute__ ((pure));
6901 inline static enum jitterlispvm_specialized_instruction_opcode
6902 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0 (struct jitter_parameter ** const ps,
6903                                                bool enable_fast_literals)
6904   __attribute__ ((pure));
6905 inline static enum jitterlispvm_specialized_instruction_opcode
6906 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0__fR (struct jitter_parameter ** const ps,
6907                                                bool enable_fast_literals)
6908   __attribute__ ((pure));
6909 inline static enum jitterlispvm_specialized_instruction_opcode
6910 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1 (struct jitter_parameter ** const ps,
6911                                                bool enable_fast_literals)
6912   __attribute__ ((pure));
6913 inline static enum jitterlispvm_specialized_instruction_opcode
6914 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1__fR (struct jitter_parameter ** const ps,
6915                                                bool enable_fast_literals)
6916   __attribute__ ((pure));
6917 inline static enum jitterlispvm_specialized_instruction_opcode
6918 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2 (struct jitter_parameter ** const ps,
6919                                                bool enable_fast_literals)
6920   __attribute__ ((pure));
6921 inline static enum jitterlispvm_specialized_instruction_opcode
6922 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2__fR (struct jitter_parameter ** const ps,
6923                                                bool enable_fast_literals)
6924   __attribute__ ((pure));
6925 inline static enum jitterlispvm_specialized_instruction_opcode
6926 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3 (struct jitter_parameter ** const ps,
6927                                                bool enable_fast_literals)
6928   __attribute__ ((pure));
6929 inline static enum jitterlispvm_specialized_instruction_opcode
6930 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3__fR (struct jitter_parameter ** const ps,
6931                                                bool enable_fast_literals)
6932   __attribute__ ((pure));
6933 inline static enum jitterlispvm_specialized_instruction_opcode
6934 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4 (struct jitter_parameter ** const ps,
6935                                                bool enable_fast_literals)
6936   __attribute__ ((pure));
6937 inline static enum jitterlispvm_specialized_instruction_opcode
6938 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4__fR (struct jitter_parameter ** const ps,
6939                                                bool enable_fast_literals)
6940   __attribute__ ((pure));
6941 inline static enum jitterlispvm_specialized_instruction_opcode
6942 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5 (struct jitter_parameter ** const ps,
6943                                                bool enable_fast_literals)
6944   __attribute__ ((pure));
6945 inline static enum jitterlispvm_specialized_instruction_opcode
6946 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5__fR (struct jitter_parameter ** const ps,
6947                                                bool enable_fast_literals)
6948   __attribute__ ((pure));
6949 inline static enum jitterlispvm_specialized_instruction_opcode
6950 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6 (struct jitter_parameter ** const ps,
6951                                                bool enable_fast_literals)
6952   __attribute__ ((pure));
6953 inline static enum jitterlispvm_specialized_instruction_opcode
6954 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6__fR (struct jitter_parameter ** const ps,
6955                                                bool enable_fast_literals)
6956   __attribute__ ((pure));
6957 inline static enum jitterlispvm_specialized_instruction_opcode
6958 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7 (struct jitter_parameter ** const ps,
6959                                                bool enable_fast_literals)
6960   __attribute__ ((pure));
6961 inline static enum jitterlispvm_specialized_instruction_opcode
6962 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7__fR (struct jitter_parameter ** const ps,
6963                                                bool enable_fast_literals)
6964   __attribute__ ((pure));
6965 inline static enum jitterlispvm_specialized_instruction_opcode
6966 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8 (struct jitter_parameter ** const ps,
6967                                                bool enable_fast_literals)
6968   __attribute__ ((pure));
6969 inline static enum jitterlispvm_specialized_instruction_opcode
6970 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8__fR (struct jitter_parameter ** const ps,
6971                                                bool enable_fast_literals)
6972   __attribute__ ((pure));
6973 inline static enum jitterlispvm_specialized_instruction_opcode
6974 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9 (struct jitter_parameter ** const ps,
6975                                                bool enable_fast_literals)
6976   __attribute__ ((pure));
6977 inline static enum jitterlispvm_specialized_instruction_opcode
6978 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9__fR (struct jitter_parameter ** const ps,
6979                                                bool enable_fast_literals)
6980   __attribute__ ((pure));
6981 inline static enum jitterlispvm_specialized_instruction_opcode
6982 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10 (struct jitter_parameter ** const ps,
6983                                                bool enable_fast_literals)
6984   __attribute__ ((pure));
6985 inline static enum jitterlispvm_specialized_instruction_opcode
6986 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10__fR (struct jitter_parameter ** const ps,
6987                                                bool enable_fast_literals)
6988   __attribute__ ((pure));
6989 inline static enum jitterlispvm_specialized_instruction_opcode
6990 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR (struct jitter_parameter ** const ps,
6991                                                bool enable_fast_literals)
6992   __attribute__ ((pure));
6993 inline static enum jitterlispvm_specialized_instruction_opcode
6994 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR__fR (struct jitter_parameter ** const ps,
6995                                                bool enable_fast_literals)
6996   __attribute__ ((pure));
6997 inline static enum jitterlispvm_specialized_instruction_opcode
6998 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral (struct jitter_parameter ** const ps,
6999                                                bool enable_fast_literals)
7000   __attribute__ ((pure));
7001 inline static enum jitterlispvm_specialized_instruction_opcode
7002 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral__nR (struct jitter_parameter ** const ps,
7003                                                bool enable_fast_literals)
7004   __attribute__ ((pure));
7005 inline static enum jitterlispvm_specialized_instruction_opcode
7006 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister (struct jitter_parameter ** const ps,
7007                                                bool enable_fast_literals)
7008   __attribute__ ((pure));
7009 inline static enum jitterlispvm_specialized_instruction_opcode
7010 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister___rrR (struct jitter_parameter ** const ps,
7011                                                bool enable_fast_literals)
7012   __attribute__ ((pure));
7013 inline static enum jitterlispvm_specialized_instruction_opcode
7014 jitterlispvm_recognize_specialized_instruction_copy_mto_mregister (struct jitter_parameter ** const ps,
7015                                                bool enable_fast_literals)
7016   __attribute__ ((pure));
7017 inline static enum jitterlispvm_specialized_instruction_opcode
7018 jitterlispvm_recognize_specialized_instruction_copy_mto_mregister___rrR (struct jitter_parameter ** const ps,
7019                                                bool enable_fast_literals)
7020   __attribute__ ((pure));
7021 inline static enum jitterlispvm_specialized_instruction_opcode
7022 jitterlispvm_recognize_specialized_instruction_drop (struct jitter_parameter ** const ps,
7023                                                bool enable_fast_literals)
7024   __attribute__ ((pure));
7025 inline static enum jitterlispvm_specialized_instruction_opcode
7026 jitterlispvm_recognize_specialized_instruction_drop_mnip (struct jitter_parameter ** const ps,
7027                                                bool enable_fast_literals)
7028   __attribute__ ((pure));
7029 inline static enum jitterlispvm_specialized_instruction_opcode
7030 jitterlispvm_recognize_specialized_instruction_dup (struct jitter_parameter ** const ps,
7031                                                bool enable_fast_literals)
7032   __attribute__ ((pure));
7033 inline static enum jitterlispvm_specialized_instruction_opcode
7034 jitterlispvm_recognize_specialized_instruction_exitvm (struct jitter_parameter ** const ps,
7035                                                bool enable_fast_literals)
7036   __attribute__ ((pure));
7037 inline static enum jitterlispvm_specialized_instruction_opcode
7038 jitterlispvm_recognize_specialized_instruction_fail (struct jitter_parameter ** const ps,
7039                                                bool enable_fast_literals)
7040   __attribute__ ((pure));
7041 inline static enum jitterlispvm_specialized_instruction_opcode
7042 jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded (struct jitter_parameter ** const ps,
7043                                                bool enable_fast_literals)
7044   __attribute__ ((pure));
7045 inline static enum jitterlispvm_specialized_instruction_opcode
7046 jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded__fR (struct jitter_parameter ** const ps,
7047                                                bool enable_fast_literals)
7048   __attribute__ ((pure));
7049 inline static enum jitterlispvm_specialized_instruction_opcode
7050 jitterlispvm_recognize_specialized_instruction_heap_mallocate (struct jitter_parameter ** const ps,
7051                                                bool enable_fast_literals)
7052   __attribute__ ((pure));
7053 inline static enum jitterlispvm_specialized_instruction_opcode
7054 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n4 (struct jitter_parameter ** const ps,
7055                                                bool enable_fast_literals)
7056   __attribute__ ((pure));
7057 inline static enum jitterlispvm_specialized_instruction_opcode
7058 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n8 (struct jitter_parameter ** const ps,
7059                                                bool enable_fast_literals)
7060   __attribute__ ((pure));
7061 inline static enum jitterlispvm_specialized_instruction_opcode
7062 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n12 (struct jitter_parameter ** const ps,
7063                                                bool enable_fast_literals)
7064   __attribute__ ((pure));
7065 inline static enum jitterlispvm_specialized_instruction_opcode
7066 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n16 (struct jitter_parameter ** const ps,
7067                                                bool enable_fast_literals)
7068   __attribute__ ((pure));
7069 inline static enum jitterlispvm_specialized_instruction_opcode
7070 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n24 (struct jitter_parameter ** const ps,
7071                                                bool enable_fast_literals)
7072   __attribute__ ((pure));
7073 inline static enum jitterlispvm_specialized_instruction_opcode
7074 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n32 (struct jitter_parameter ** const ps,
7075                                                bool enable_fast_literals)
7076   __attribute__ ((pure));
7077 inline static enum jitterlispvm_specialized_instruction_opcode
7078 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n36 (struct jitter_parameter ** const ps,
7079                                                bool enable_fast_literals)
7080   __attribute__ ((pure));
7081 inline static enum jitterlispvm_specialized_instruction_opcode
7082 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n48 (struct jitter_parameter ** const ps,
7083                                                bool enable_fast_literals)
7084   __attribute__ ((pure));
7085 inline static enum jitterlispvm_specialized_instruction_opcode
7086 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n52 (struct jitter_parameter ** const ps,
7087                                                bool enable_fast_literals)
7088   __attribute__ ((pure));
7089 inline static enum jitterlispvm_specialized_instruction_opcode
7090 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n64 (struct jitter_parameter ** const ps,
7091                                                bool enable_fast_literals)
7092   __attribute__ ((pure));
7093 inline static enum jitterlispvm_specialized_instruction_opcode
7094 jitterlispvm_recognize_specialized_instruction_heap_mallocate__nR (struct jitter_parameter ** const ps,
7095                                                bool enable_fast_literals)
7096   __attribute__ ((pure));
7097 inline static enum jitterlispvm_specialized_instruction_opcode
7098 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister (struct jitter_parameter ** const ps,
7099                                                bool enable_fast_literals)
7100   __attribute__ ((pure));
7101 inline static enum jitterlispvm_specialized_instruction_opcode
7102 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR (struct jitter_parameter ** const ps,
7103                                                bool enable_fast_literals)
7104   __attribute__ ((pure));
7105 inline static enum jitterlispvm_specialized_instruction_opcode
7106 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR___rrR (struct jitter_parameter ** const ps,
7107                                                bool enable_fast_literals)
7108   __attribute__ ((pure));
7109 inline static enum jitterlispvm_specialized_instruction_opcode
7110 jitterlispvm_recognize_specialized_instruction_nip (struct jitter_parameter ** const ps,
7111                                                bool enable_fast_literals)
7112   __attribute__ ((pure));
7113 inline static enum jitterlispvm_specialized_instruction_opcode
7114 jitterlispvm_recognize_specialized_instruction_nip_mdrop (struct jitter_parameter ** const ps,
7115                                                bool enable_fast_literals)
7116   __attribute__ ((pure));
7117 inline static enum jitterlispvm_specialized_instruction_opcode
7118 jitterlispvm_recognize_specialized_instruction_nip_mfive (struct jitter_parameter ** const ps,
7119                                                bool enable_fast_literals)
7120   __attribute__ ((pure));
7121 inline static enum jitterlispvm_specialized_instruction_opcode
7122 jitterlispvm_recognize_specialized_instruction_nip_mfive_mdrop (struct jitter_parameter ** const ps,
7123                                                bool enable_fast_literals)
7124   __attribute__ ((pure));
7125 inline static enum jitterlispvm_specialized_instruction_opcode
7126 jitterlispvm_recognize_specialized_instruction_nip_mfour (struct jitter_parameter ** const ps,
7127                                                bool enable_fast_literals)
7128   __attribute__ ((pure));
7129 inline static enum jitterlispvm_specialized_instruction_opcode
7130 jitterlispvm_recognize_specialized_instruction_nip_mfour_mdrop (struct jitter_parameter ** const ps,
7131                                                bool enable_fast_literals)
7132   __attribute__ ((pure));
7133 inline static enum jitterlispvm_specialized_instruction_opcode
7134 jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral (struct jitter_parameter ** const ps,
7135                                                bool enable_fast_literals)
7136   __attribute__ ((pure));
7137 inline static enum jitterlispvm_specialized_instruction_opcode
7138 jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral__nR (struct jitter_parameter ** const ps,
7139                                                bool enable_fast_literals)
7140   __attribute__ ((pure));
7141 inline static enum jitterlispvm_specialized_instruction_opcode
7142 jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister (struct jitter_parameter ** const ps,
7143                                                bool enable_fast_literals)
7144   __attribute__ ((pure));
7145 inline static enum jitterlispvm_specialized_instruction_opcode
7146 jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister___rrR (struct jitter_parameter ** const ps,
7147                                                bool enable_fast_literals)
7148   __attribute__ ((pure));
7149 inline static enum jitterlispvm_specialized_instruction_opcode
7150 jitterlispvm_recognize_specialized_instruction_nip_msix (struct jitter_parameter ** const ps,
7151                                                bool enable_fast_literals)
7152   __attribute__ ((pure));
7153 inline static enum jitterlispvm_specialized_instruction_opcode
7154 jitterlispvm_recognize_specialized_instruction_nip_msix_mdrop (struct jitter_parameter ** const ps,
7155                                                bool enable_fast_literals)
7156   __attribute__ ((pure));
7157 inline static enum jitterlispvm_specialized_instruction_opcode
7158 jitterlispvm_recognize_specialized_instruction_nip_mthree (struct jitter_parameter ** const ps,
7159                                                bool enable_fast_literals)
7160   __attribute__ ((pure));
7161 inline static enum jitterlispvm_specialized_instruction_opcode
7162 jitterlispvm_recognize_specialized_instruction_nip_mthree_mdrop (struct jitter_parameter ** const ps,
7163                                                bool enable_fast_literals)
7164   __attribute__ ((pure));
7165 inline static enum jitterlispvm_specialized_instruction_opcode
7166 jitterlispvm_recognize_specialized_instruction_nip_mtwo (struct jitter_parameter ** const ps,
7167                                                bool enable_fast_literals)
7168   __attribute__ ((pure));
7169 inline static enum jitterlispvm_specialized_instruction_opcode
7170 jitterlispvm_recognize_specialized_instruction_nip_mtwo_mdrop (struct jitter_parameter ** const ps,
7171                                                bool enable_fast_literals)
7172   __attribute__ ((pure));
7173 inline static enum jitterlispvm_specialized_instruction_opcode
7174 jitterlispvm_recognize_specialized_instruction_nop (struct jitter_parameter ** const ps,
7175                                                bool enable_fast_literals)
7176   __attribute__ ((pure));
7177 inline static enum jitterlispvm_specialized_instruction_opcode
7178 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal (struct jitter_parameter ** const ps,
7179                                                bool enable_fast_literals)
7180   __attribute__ ((pure));
7181 inline static enum jitterlispvm_specialized_instruction_opcode
7182 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR (struct jitter_parameter ** const ps,
7183                                                bool enable_fast_literals)
7184   __attribute__ ((pure));
7185 inline static enum jitterlispvm_specialized_instruction_opcode
7186 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR__fR (struct jitter_parameter ** const ps,
7187                                                bool enable_fast_literals)
7188   __attribute__ ((pure));
7189 inline static enum jitterlispvm_specialized_instruction_opcode
7190 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined (struct jitter_parameter ** const ps,
7191                                                bool enable_fast_literals)
7192   __attribute__ ((pure));
7193 inline static enum jitterlispvm_specialized_instruction_opcode
7194 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR (struct jitter_parameter ** const ps,
7195                                                bool enable_fast_literals)
7196   __attribute__ ((pure));
7197 inline static enum jitterlispvm_specialized_instruction_opcode
7198 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR__fR (struct jitter_parameter ** const ps,
7199                                                bool enable_fast_literals)
7200   __attribute__ ((pure));
7201 inline static enum jitterlispvm_specialized_instruction_opcode
7202 jitterlispvm_recognize_specialized_instruction_pop_mto_mregister (struct jitter_parameter ** const ps,
7203                                                bool enable_fast_literals)
7204   __attribute__ ((pure));
7205 inline static enum jitterlispvm_specialized_instruction_opcode
7206 jitterlispvm_recognize_specialized_instruction_pop_mto_mregister___rrR (struct jitter_parameter ** const ps,
7207                                                bool enable_fast_literals)
7208   __attribute__ ((pure));
7209 inline static enum jitterlispvm_specialized_instruction_opcode
7210 jitterlispvm_recognize_specialized_instruction_primitive (struct jitter_parameter ** const ps,
7211                                                bool enable_fast_literals)
7212   __attribute__ ((pure));
7213 inline static enum jitterlispvm_specialized_instruction_opcode
7214 jitterlispvm_recognize_specialized_instruction_primitive__nR (struct jitter_parameter ** const ps,
7215                                                bool enable_fast_literals)
7216   __attribute__ ((pure));
7217 inline static enum jitterlispvm_specialized_instruction_opcode
7218 jitterlispvm_recognize_specialized_instruction_primitive__nR__n0 (struct jitter_parameter ** const ps,
7219                                                bool enable_fast_literals)
7220   __attribute__ ((pure));
7221 inline static enum jitterlispvm_specialized_instruction_opcode
7222 jitterlispvm_recognize_specialized_instruction_primitive__nR__n0__fR (struct jitter_parameter ** const ps,
7223                                                bool enable_fast_literals)
7224   __attribute__ ((pure));
7225 inline static enum jitterlispvm_specialized_instruction_opcode
7226 jitterlispvm_recognize_specialized_instruction_primitive__nR__n1 (struct jitter_parameter ** const ps,
7227                                                bool enable_fast_literals)
7228   __attribute__ ((pure));
7229 inline static enum jitterlispvm_specialized_instruction_opcode
7230 jitterlispvm_recognize_specialized_instruction_primitive__nR__n1__fR (struct jitter_parameter ** const ps,
7231                                                bool enable_fast_literals)
7232   __attribute__ ((pure));
7233 inline static enum jitterlispvm_specialized_instruction_opcode
7234 jitterlispvm_recognize_specialized_instruction_primitive__nR__n2 (struct jitter_parameter ** const ps,
7235                                                bool enable_fast_literals)
7236   __attribute__ ((pure));
7237 inline static enum jitterlispvm_specialized_instruction_opcode
7238 jitterlispvm_recognize_specialized_instruction_primitive__nR__n2__fR (struct jitter_parameter ** const ps,
7239                                                bool enable_fast_literals)
7240   __attribute__ ((pure));
7241 inline static enum jitterlispvm_specialized_instruction_opcode
7242 jitterlispvm_recognize_specialized_instruction_primitive__nR__n3 (struct jitter_parameter ** const ps,
7243                                                bool enable_fast_literals)
7244   __attribute__ ((pure));
7245 inline static enum jitterlispvm_specialized_instruction_opcode
7246 jitterlispvm_recognize_specialized_instruction_primitive__nR__n3__fR (struct jitter_parameter ** const ps,
7247                                                bool enable_fast_literals)
7248   __attribute__ ((pure));
7249 inline static enum jitterlispvm_specialized_instruction_opcode
7250 jitterlispvm_recognize_specialized_instruction_primitive__nR__n4 (struct jitter_parameter ** const ps,
7251                                                bool enable_fast_literals)
7252   __attribute__ ((pure));
7253 inline static enum jitterlispvm_specialized_instruction_opcode
7254 jitterlispvm_recognize_specialized_instruction_primitive__nR__n4__fR (struct jitter_parameter ** const ps,
7255                                                bool enable_fast_literals)
7256   __attribute__ ((pure));
7257 inline static enum jitterlispvm_specialized_instruction_opcode
7258 jitterlispvm_recognize_specialized_instruction_primitive__nR__nR (struct jitter_parameter ** const ps,
7259                                                bool enable_fast_literals)
7260   __attribute__ ((pure));
7261 inline static enum jitterlispvm_specialized_instruction_opcode
7262 jitterlispvm_recognize_specialized_instruction_primitive__nR__nR__fR (struct jitter_parameter ** const ps,
7263                                                bool enable_fast_literals)
7264   __attribute__ ((pure));
7265 inline static enum jitterlispvm_specialized_instruction_opcode
7266 jitterlispvm_recognize_specialized_instruction_primitive_mboolean_mcanonicalize (struct jitter_parameter ** const ps,
7267                                                bool enable_fast_literals)
7268   __attribute__ ((pure));
7269 inline static enum jitterlispvm_specialized_instruction_opcode
7270 jitterlispvm_recognize_specialized_instruction_primitive_mbox (struct jitter_parameter ** const ps,
7271                                                bool enable_fast_literals)
7272   __attribute__ ((pure));
7273 inline static enum jitterlispvm_specialized_instruction_opcode
7274 jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget (struct jitter_parameter ** const ps,
7275                                                bool enable_fast_literals)
7276   __attribute__ ((pure));
7277 inline static enum jitterlispvm_specialized_instruction_opcode
7278 jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget__fR (struct jitter_parameter ** const ps,
7279                                                bool enable_fast_literals)
7280   __attribute__ ((pure));
7281 inline static enum jitterlispvm_specialized_instruction_opcode
7282 jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial (struct jitter_parameter ** const ps,
7283                                                bool enable_fast_literals)
7284   __attribute__ ((pure));
7285 inline static enum jitterlispvm_specialized_instruction_opcode
7286 jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial__fR (struct jitter_parameter ** const ps,
7287                                                bool enable_fast_literals)
7288   __attribute__ ((pure));
7289 inline static enum jitterlispvm_specialized_instruction_opcode
7290 jitterlispvm_recognize_specialized_instruction_primitive_mcar (struct jitter_parameter ** const ps,
7291                                                bool enable_fast_literals)
7292   __attribute__ ((pure));
7293 inline static enum jitterlispvm_specialized_instruction_opcode
7294 jitterlispvm_recognize_specialized_instruction_primitive_mcar__fR (struct jitter_parameter ** const ps,
7295                                                bool enable_fast_literals)
7296   __attribute__ ((pure));
7297 inline static enum jitterlispvm_specialized_instruction_opcode
7298 jitterlispvm_recognize_specialized_instruction_primitive_mcdr (struct jitter_parameter ** const ps,
7299                                                bool enable_fast_literals)
7300   __attribute__ ((pure));
7301 inline static enum jitterlispvm_specialized_instruction_opcode
7302 jitterlispvm_recognize_specialized_instruction_primitive_mcdr__fR (struct jitter_parameter ** const ps,
7303                                                bool enable_fast_literals)
7304   __attribute__ ((pure));
7305 inline static enum jitterlispvm_specialized_instruction_opcode
7306 jitterlispvm_recognize_specialized_instruction_primitive_mcharacterp (struct jitter_parameter ** const ps,
7307                                                bool enable_fast_literals)
7308   __attribute__ ((pure));
7309 inline static enum jitterlispvm_specialized_instruction_opcode
7310 jitterlispvm_recognize_specialized_instruction_primitive_mcons_mspecial (struct jitter_parameter ** const ps,
7311                                                bool enable_fast_literals)
7312   __attribute__ ((pure));
7313 inline static enum jitterlispvm_specialized_instruction_opcode
7314 jitterlispvm_recognize_specialized_instruction_primitive_mconsp (struct jitter_parameter ** const ps,
7315                                                bool enable_fast_literals)
7316   __attribute__ ((pure));
7317 inline static enum jitterlispvm_specialized_instruction_opcode
7318 jitterlispvm_recognize_specialized_instruction_primitive_meqp (struct jitter_parameter ** const ps,
7319                                                bool enable_fast_literals)
7320   __attribute__ ((pure));
7321 inline static enum jitterlispvm_specialized_instruction_opcode
7322 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp (struct jitter_parameter ** const ps,
7323                                                bool enable_fast_literals)
7324   __attribute__ ((pure));
7325 inline static enum jitterlispvm_specialized_instruction_opcode
7326 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp__fR (struct jitter_parameter ** const ps,
7327                                                bool enable_fast_literals)
7328   __attribute__ ((pure));
7329 inline static enum jitterlispvm_specialized_instruction_opcode
7330 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp (struct jitter_parameter ** const ps,
7331                                                bool enable_fast_literals)
7332   __attribute__ ((pure));
7333 inline static enum jitterlispvm_specialized_instruction_opcode
7334 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp__fR (struct jitter_parameter ** const ps,
7335                                                bool enable_fast_literals)
7336   __attribute__ ((pure));
7337 inline static enum jitterlispvm_specialized_instruction_opcode
7338 jitterlispvm_recognize_specialized_instruction_primitive_mfixnump (struct jitter_parameter ** const ps,
7339                                                bool enable_fast_literals)
7340   __attribute__ ((pure));
7341 inline static enum jitterlispvm_specialized_instruction_opcode
7342 jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp (struct jitter_parameter ** const ps,
7343                                                bool enable_fast_literals)
7344   __attribute__ ((pure));
7345 inline static enum jitterlispvm_specialized_instruction_opcode
7346 jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp__fR (struct jitter_parameter ** const ps,
7347                                                bool enable_fast_literals)
7348   __attribute__ ((pure));
7349 inline static enum jitterlispvm_specialized_instruction_opcode
7350 jitterlispvm_recognize_specialized_instruction_primitive_mlessp (struct jitter_parameter ** const ps,
7351                                                bool enable_fast_literals)
7352   __attribute__ ((pure));
7353 inline static enum jitterlispvm_specialized_instruction_opcode
7354 jitterlispvm_recognize_specialized_instruction_primitive_mlessp__fR (struct jitter_parameter ** const ps,
7355                                                bool enable_fast_literals)
7356   __attribute__ ((pure));
7357 inline static enum jitterlispvm_specialized_instruction_opcode
7358 jitterlispvm_recognize_specialized_instruction_primitive_mnegate (struct jitter_parameter ** const ps,
7359                                                bool enable_fast_literals)
7360   __attribute__ ((pure));
7361 inline static enum jitterlispvm_specialized_instruction_opcode
7362 jitterlispvm_recognize_specialized_instruction_primitive_mnegate__fR (struct jitter_parameter ** const ps,
7363                                                bool enable_fast_literals)
7364   __attribute__ ((pure));
7365 inline static enum jitterlispvm_specialized_instruction_opcode
7366 jitterlispvm_recognize_specialized_instruction_primitive_mnegativep (struct jitter_parameter ** const ps,
7367                                                bool enable_fast_literals)
7368   __attribute__ ((pure));
7369 inline static enum jitterlispvm_specialized_instruction_opcode
7370 jitterlispvm_recognize_specialized_instruction_primitive_mnegativep__fR (struct jitter_parameter ** const ps,
7371                                                bool enable_fast_literals)
7372   __attribute__ ((pure));
7373 inline static enum jitterlispvm_specialized_instruction_opcode
7374 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mconsp (struct jitter_parameter ** const ps,
7375                                                bool enable_fast_literals)
7376   __attribute__ ((pure));
7377 inline static enum jitterlispvm_specialized_instruction_opcode
7378 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep (struct jitter_parameter ** const ps,
7379                                                bool enable_fast_literals)
7380   __attribute__ ((pure));
7381 inline static enum jitterlispvm_specialized_instruction_opcode
7382 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep__fR (struct jitter_parameter ** const ps,
7383                                                bool enable_fast_literals)
7384   __attribute__ ((pure));
7385 inline static enum jitterlispvm_specialized_instruction_opcode
7386 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnullp (struct jitter_parameter ** const ps,
7387                                                bool enable_fast_literals)
7388   __attribute__ ((pure));
7389 inline static enum jitterlispvm_specialized_instruction_opcode
7390 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep (struct jitter_parameter ** const ps,
7391                                                bool enable_fast_literals)
7392   __attribute__ ((pure));
7393 inline static enum jitterlispvm_specialized_instruction_opcode
7394 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep__fR (struct jitter_parameter ** const ps,
7395                                                bool enable_fast_literals)
7396   __attribute__ ((pure));
7397 inline static enum jitterlispvm_specialized_instruction_opcode
7398 jitterlispvm_recognize_specialized_instruction_primitive_mnon_msymbolp (struct jitter_parameter ** const ps,
7399                                                bool enable_fast_literals)
7400   __attribute__ ((pure));
7401 inline static enum jitterlispvm_specialized_instruction_opcode
7402 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop (struct jitter_parameter ** const ps,
7403                                                bool enable_fast_literals)
7404   __attribute__ ((pure));
7405 inline static enum jitterlispvm_specialized_instruction_opcode
7406 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop__fR (struct jitter_parameter ** const ps,
7407                                                bool enable_fast_literals)
7408   __attribute__ ((pure));
7409 inline static enum jitterlispvm_specialized_instruction_opcode
7410 jitterlispvm_recognize_specialized_instruction_primitive_mnot (struct jitter_parameter ** const ps,
7411                                                bool enable_fast_literals)
7412   __attribute__ ((pure));
7413 inline static enum jitterlispvm_specialized_instruction_opcode
7414 jitterlispvm_recognize_specialized_instruction_primitive_mnot_meqp (struct jitter_parameter ** const ps,
7415                                                bool enable_fast_literals)
7416   __attribute__ ((pure));
7417 inline static enum jitterlispvm_specialized_instruction_opcode
7418 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp (struct jitter_parameter ** const ps,
7419                                                bool enable_fast_literals)
7420   __attribute__ ((pure));
7421 inline static enum jitterlispvm_specialized_instruction_opcode
7422 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp__fR (struct jitter_parameter ** const ps,
7423                                                bool enable_fast_literals)
7424   __attribute__ ((pure));
7425 inline static enum jitterlispvm_specialized_instruction_opcode
7426 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp (struct jitter_parameter ** const ps,
7427                                                bool enable_fast_literals)
7428   __attribute__ ((pure));
7429 inline static enum jitterlispvm_specialized_instruction_opcode
7430 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp__fR (struct jitter_parameter ** const ps,
7431                                                bool enable_fast_literals)
7432   __attribute__ ((pure));
7433 inline static enum jitterlispvm_specialized_instruction_opcode
7434 jitterlispvm_recognize_specialized_instruction_primitive_mnothingp (struct jitter_parameter ** const ps,
7435                                                bool enable_fast_literals)
7436   __attribute__ ((pure));
7437 inline static enum jitterlispvm_specialized_instruction_opcode
7438 jitterlispvm_recognize_specialized_instruction_primitive_mnullp (struct jitter_parameter ** const ps,
7439                                                bool enable_fast_literals)
7440   __attribute__ ((pure));
7441 inline static enum jitterlispvm_specialized_instruction_opcode
7442 jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus (struct jitter_parameter ** const ps,
7443                                                bool enable_fast_literals)
7444   __attribute__ ((pure));
7445 inline static enum jitterlispvm_specialized_instruction_opcode
7446 jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus__fR (struct jitter_parameter ** const ps,
7447                                                bool enable_fast_literals)
7448   __attribute__ ((pure));
7449 inline static enum jitterlispvm_specialized_instruction_opcode
7450 jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus (struct jitter_parameter ** const ps,
7451                                                bool enable_fast_literals)
7452   __attribute__ ((pure));
7453 inline static enum jitterlispvm_specialized_instruction_opcode
7454 jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus__fR (struct jitter_parameter ** const ps,
7455                                                bool enable_fast_literals)
7456   __attribute__ ((pure));
7457 inline static enum jitterlispvm_specialized_instruction_opcode
7458 jitterlispvm_recognize_specialized_instruction_primitive_mpositivep (struct jitter_parameter ** const ps,
7459                                                bool enable_fast_literals)
7460   __attribute__ ((pure));
7461 inline static enum jitterlispvm_specialized_instruction_opcode
7462 jitterlispvm_recognize_specialized_instruction_primitive_mpositivep__fR (struct jitter_parameter ** const ps,
7463                                                bool enable_fast_literals)
7464   __attribute__ ((pure));
7465 inline static enum jitterlispvm_specialized_instruction_opcode
7466 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided (struct jitter_parameter ** const ps,
7467                                                bool enable_fast_literals)
7468   __attribute__ ((pure));
7469 inline static enum jitterlispvm_specialized_instruction_opcode
7470 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided__fR (struct jitter_parameter ** const ps,
7471                                                bool enable_fast_literals)
7472   __attribute__ ((pure));
7473 inline static enum jitterlispvm_specialized_instruction_opcode
7474 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe (struct jitter_parameter ** const ps,
7475                                                bool enable_fast_literals)
7476   __attribute__ ((pure));
7477 inline static enum jitterlispvm_specialized_instruction_opcode
7478 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe__fR (struct jitter_parameter ** const ps,
7479                                                bool enable_fast_literals)
7480   __attribute__ ((pure));
7481 inline static enum jitterlispvm_specialized_instruction_opcode
7482 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus (struct jitter_parameter ** const ps,
7483                                                bool enable_fast_literals)
7484   __attribute__ ((pure));
7485 inline static enum jitterlispvm_specialized_instruction_opcode
7486 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus__fR (struct jitter_parameter ** const ps,
7487                                                bool enable_fast_literals)
7488   __attribute__ ((pure));
7489 inline static enum jitterlispvm_specialized_instruction_opcode
7490 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus (struct jitter_parameter ** const ps,
7491                                                bool enable_fast_literals)
7492   __attribute__ ((pure));
7493 inline static enum jitterlispvm_specialized_instruction_opcode
7494 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus__fR (struct jitter_parameter ** const ps,
7495                                                bool enable_fast_literals)
7496   __attribute__ ((pure));
7497 inline static enum jitterlispvm_specialized_instruction_opcode
7498 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes (struct jitter_parameter ** const ps,
7499                                                bool enable_fast_literals)
7500   __attribute__ ((pure));
7501 inline static enum jitterlispvm_specialized_instruction_opcode
7502 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes__fR (struct jitter_parameter ** const ps,
7503                                                bool enable_fast_literals)
7504   __attribute__ ((pure));
7505 inline static enum jitterlispvm_specialized_instruction_opcode
7506 jitterlispvm_recognize_specialized_instruction_primitive_mquotient (struct jitter_parameter ** const ps,
7507                                                bool enable_fast_literals)
7508   __attribute__ ((pure));
7509 inline static enum jitterlispvm_specialized_instruction_opcode
7510 jitterlispvm_recognize_specialized_instruction_primitive_mquotient__fR (struct jitter_parameter ** const ps,
7511                                                bool enable_fast_literals)
7512   __attribute__ ((pure));
7513 inline static enum jitterlispvm_specialized_instruction_opcode
7514 jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe (struct jitter_parameter ** const ps,
7515                                                bool enable_fast_literals)
7516   __attribute__ ((pure));
7517 inline static enum jitterlispvm_specialized_instruction_opcode
7518 jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe__fR (struct jitter_parameter ** const ps,
7519                                                bool enable_fast_literals)
7520   __attribute__ ((pure));
7521 inline static enum jitterlispvm_specialized_instruction_opcode
7522 jitterlispvm_recognize_specialized_instruction_primitive_mremainder (struct jitter_parameter ** const ps,
7523                                                bool enable_fast_literals)
7524   __attribute__ ((pure));
7525 inline static enum jitterlispvm_specialized_instruction_opcode
7526 jitterlispvm_recognize_specialized_instruction_primitive_mremainder__fR (struct jitter_parameter ** const ps,
7527                                                bool enable_fast_literals)
7528   __attribute__ ((pure));
7529 inline static enum jitterlispvm_specialized_instruction_opcode
7530 jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe (struct jitter_parameter ** const ps,
7531                                                bool enable_fast_literals)
7532   __attribute__ ((pure));
7533 inline static enum jitterlispvm_specialized_instruction_opcode
7534 jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe__fR (struct jitter_parameter ** const ps,
7535                                                bool enable_fast_literals)
7536   __attribute__ ((pure));
7537 inline static enum jitterlispvm_specialized_instruction_opcode
7538 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial (struct jitter_parameter ** const ps,
7539                                                bool enable_fast_literals)
7540   __attribute__ ((pure));
7541 inline static enum jitterlispvm_specialized_instruction_opcode
7542 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial__fR (struct jitter_parameter ** const ps,
7543                                                bool enable_fast_literals)
7544   __attribute__ ((pure));
7545 inline static enum jitterlispvm_specialized_instruction_opcode
7546 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial (struct jitter_parameter ** const ps,
7547                                                bool enable_fast_literals)
7548   __attribute__ ((pure));
7549 inline static enum jitterlispvm_specialized_instruction_opcode
7550 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial__fR (struct jitter_parameter ** const ps,
7551                                                bool enable_fast_literals)
7552   __attribute__ ((pure));
7553 inline static enum jitterlispvm_specialized_instruction_opcode
7554 jitterlispvm_recognize_specialized_instruction_primitive_msymbolp (struct jitter_parameter ** const ps,
7555                                                bool enable_fast_literals)
7556   __attribute__ ((pure));
7557 inline static enum jitterlispvm_specialized_instruction_opcode
7558 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided (struct jitter_parameter ** const ps,
7559                                                bool enable_fast_literals)
7560   __attribute__ ((pure));
7561 inline static enum jitterlispvm_specialized_instruction_opcode
7562 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided__fR (struct jitter_parameter ** const ps,
7563                                                bool enable_fast_literals)
7564   __attribute__ ((pure));
7565 inline static enum jitterlispvm_specialized_instruction_opcode
7566 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient (struct jitter_parameter ** const ps,
7567                                                bool enable_fast_literals)
7568   __attribute__ ((pure));
7569 inline static enum jitterlispvm_specialized_instruction_opcode
7570 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient__fR (struct jitter_parameter ** const ps,
7571                                                bool enable_fast_literals)
7572   __attribute__ ((pure));
7573 inline static enum jitterlispvm_specialized_instruction_opcode
7574 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder (struct jitter_parameter ** const ps,
7575                                                bool enable_fast_literals)
7576   __attribute__ ((pure));
7577 inline static enum jitterlispvm_specialized_instruction_opcode
7578 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder__fR (struct jitter_parameter ** const ps,
7579                                                bool enable_fast_literals)
7580   __attribute__ ((pure));
7581 inline static enum jitterlispvm_specialized_instruction_opcode
7582 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes (struct jitter_parameter ** const ps,
7583                                                bool enable_fast_literals)
7584   __attribute__ ((pure));
7585 inline static enum jitterlispvm_specialized_instruction_opcode
7586 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes__fR (struct jitter_parameter ** const ps,
7587                                                bool enable_fast_literals)
7588   __attribute__ ((pure));
7589 inline static enum jitterlispvm_specialized_instruction_opcode
7590 jitterlispvm_recognize_specialized_instruction_primitive_muniquep (struct jitter_parameter ** const ps,
7591                                                bool enable_fast_literals)
7592   __attribute__ ((pure));
7593 inline static enum jitterlispvm_specialized_instruction_opcode
7594 jitterlispvm_recognize_specialized_instruction_primitive_mzerop (struct jitter_parameter ** const ps,
7595                                                bool enable_fast_literals)
7596   __attribute__ ((pure));
7597 inline static enum jitterlispvm_specialized_instruction_opcode
7598 jitterlispvm_recognize_specialized_instruction_primitive_mzerop__fR (struct jitter_parameter ** const ps,
7599                                                bool enable_fast_literals)
7600   __attribute__ ((pure));
7601 inline static enum jitterlispvm_specialized_instruction_opcode
7602 jitterlispvm_recognize_specialized_instruction_procedure_mprolog (struct jitter_parameter ** const ps,
7603                                                bool enable_fast_literals)
7604   __attribute__ ((pure));
7605 inline static enum jitterlispvm_specialized_instruction_opcode
7606 jitterlispvm_recognize_specialized_instruction_push_mfalse (struct jitter_parameter ** const ps,
7607                                                bool enable_fast_literals)
7608   __attribute__ ((pure));
7609 inline static enum jitterlispvm_specialized_instruction_opcode
7610 jitterlispvm_recognize_specialized_instruction_push_mglobal (struct jitter_parameter ** const ps,
7611                                                bool enable_fast_literals)
7612   __attribute__ ((pure));
7613 inline static enum jitterlispvm_specialized_instruction_opcode
7614 jitterlispvm_recognize_specialized_instruction_push_mglobal__nR (struct jitter_parameter ** const ps,
7615                                                bool enable_fast_literals)
7616   __attribute__ ((pure));
7617 inline static enum jitterlispvm_specialized_instruction_opcode
7618 jitterlispvm_recognize_specialized_instruction_push_mglobal__nR__fR (struct jitter_parameter ** const ps,
7619                                                bool enable_fast_literals)
7620   __attribute__ ((pure));
7621 inline static enum jitterlispvm_specialized_instruction_opcode
7622 jitterlispvm_recognize_specialized_instruction_push_mliteral (struct jitter_parameter ** const ps,
7623                                                bool enable_fast_literals)
7624   __attribute__ ((pure));
7625 inline static enum jitterlispvm_specialized_instruction_opcode
7626 jitterlispvm_recognize_specialized_instruction_push_mliteral__nR (struct jitter_parameter ** const ps,
7627                                                bool enable_fast_literals)
7628   __attribute__ ((pure));
7629 inline static enum jitterlispvm_specialized_instruction_opcode
7630 jitterlispvm_recognize_specialized_instruction_push_mnil (struct jitter_parameter ** const ps,
7631                                                bool enable_fast_literals)
7632   __attribute__ ((pure));
7633 inline static enum jitterlispvm_specialized_instruction_opcode
7634 jitterlispvm_recognize_specialized_instruction_push_mnothing (struct jitter_parameter ** const ps,
7635                                                bool enable_fast_literals)
7636   __attribute__ ((pure));
7637 inline static enum jitterlispvm_specialized_instruction_opcode
7638 jitterlispvm_recognize_specialized_instruction_push_mone (struct jitter_parameter ** const ps,
7639                                                bool enable_fast_literals)
7640   __attribute__ ((pure));
7641 inline static enum jitterlispvm_specialized_instruction_opcode
7642 jitterlispvm_recognize_specialized_instruction_push_mregister (struct jitter_parameter ** const ps,
7643                                                bool enable_fast_literals)
7644   __attribute__ ((pure));
7645 inline static enum jitterlispvm_specialized_instruction_opcode
7646 jitterlispvm_recognize_specialized_instruction_push_mregister___rrR (struct jitter_parameter ** const ps,
7647                                                bool enable_fast_literals)
7648   __attribute__ ((pure));
7649 inline static enum jitterlispvm_specialized_instruction_opcode
7650 jitterlispvm_recognize_specialized_instruction_push_munspecified (struct jitter_parameter ** const ps,
7651                                                bool enable_fast_literals)
7652   __attribute__ ((pure));
7653 inline static enum jitterlispvm_specialized_instruction_opcode
7654 jitterlispvm_recognize_specialized_instruction_push_mzero (struct jitter_parameter ** const ps,
7655                                                bool enable_fast_literals)
7656   __attribute__ ((pure));
7657 inline static enum jitterlispvm_specialized_instruction_opcode
7658 jitterlispvm_recognize_specialized_instruction_register_mto_mregister (struct jitter_parameter ** const ps,
7659                                                bool enable_fast_literals)
7660   __attribute__ ((pure));
7661 inline static enum jitterlispvm_specialized_instruction_opcode
7662 jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR (struct jitter_parameter ** const ps,
7663                                                bool enable_fast_literals)
7664   __attribute__ ((pure));
7665 inline static enum jitterlispvm_specialized_instruction_opcode
7666 jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR___rrR (struct jitter_parameter ** const ps,
7667                                                bool enable_fast_literals)
7668   __attribute__ ((pure));
7669 inline static enum jitterlispvm_specialized_instruction_opcode
7670 jitterlispvm_recognize_specialized_instruction_restore_mregister (struct jitter_parameter ** const ps,
7671                                                bool enable_fast_literals)
7672   __attribute__ ((pure));
7673 inline static enum jitterlispvm_specialized_instruction_opcode
7674 jitterlispvm_recognize_specialized_instruction_restore_mregister___rrR (struct jitter_parameter ** const ps,
7675                                                bool enable_fast_literals)
7676   __attribute__ ((pure));
7677 inline static enum jitterlispvm_specialized_instruction_opcode
7678 jitterlispvm_recognize_specialized_instruction_return (struct jitter_parameter ** const ps,
7679                                                bool enable_fast_literals)
7680   __attribute__ ((pure));
7681 inline static enum jitterlispvm_specialized_instruction_opcode
7682 jitterlispvm_recognize_specialized_instruction_save_mregister (struct jitter_parameter ** const ps,
7683                                                bool enable_fast_literals)
7684   __attribute__ ((pure));
7685 inline static enum jitterlispvm_specialized_instruction_opcode
7686 jitterlispvm_recognize_specialized_instruction_save_mregister___rrR (struct jitter_parameter ** const ps,
7687                                                bool enable_fast_literals)
7688   __attribute__ ((pure));
7689 inline static enum jitterlispvm_specialized_instruction_opcode
7690 jitterlispvm_recognize_specialized_instruction_tail_mcall (struct jitter_parameter ** const ps,
7691                                                bool enable_fast_literals)
7692   __attribute__ ((pure));
7693 inline static enum jitterlispvm_specialized_instruction_opcode
7694 jitterlispvm_recognize_specialized_instruction_tail_mcall__n0 (struct jitter_parameter ** const ps,
7695                                                bool enable_fast_literals)
7696   __attribute__ ((pure));
7697 inline static enum jitterlispvm_specialized_instruction_opcode
7698 jitterlispvm_recognize_specialized_instruction_tail_mcall__n1 (struct jitter_parameter ** const ps,
7699                                                bool enable_fast_literals)
7700   __attribute__ ((pure));
7701 inline static enum jitterlispvm_specialized_instruction_opcode
7702 jitterlispvm_recognize_specialized_instruction_tail_mcall__n2 (struct jitter_parameter ** const ps,
7703                                                bool enable_fast_literals)
7704   __attribute__ ((pure));
7705 inline static enum jitterlispvm_specialized_instruction_opcode
7706 jitterlispvm_recognize_specialized_instruction_tail_mcall__n3 (struct jitter_parameter ** const ps,
7707                                                bool enable_fast_literals)
7708   __attribute__ ((pure));
7709 inline static enum jitterlispvm_specialized_instruction_opcode
7710 jitterlispvm_recognize_specialized_instruction_tail_mcall__n4 (struct jitter_parameter ** const ps,
7711                                                bool enable_fast_literals)
7712   __attribute__ ((pure));
7713 inline static enum jitterlispvm_specialized_instruction_opcode
7714 jitterlispvm_recognize_specialized_instruction_tail_mcall__n5 (struct jitter_parameter ** const ps,
7715                                                bool enable_fast_literals)
7716   __attribute__ ((pure));
7717 inline static enum jitterlispvm_specialized_instruction_opcode
7718 jitterlispvm_recognize_specialized_instruction_tail_mcall__n6 (struct jitter_parameter ** const ps,
7719                                                bool enable_fast_literals)
7720   __attribute__ ((pure));
7721 inline static enum jitterlispvm_specialized_instruction_opcode
7722 jitterlispvm_recognize_specialized_instruction_tail_mcall__n7 (struct jitter_parameter ** const ps,
7723                                                bool enable_fast_literals)
7724   __attribute__ ((pure));
7725 inline static enum jitterlispvm_specialized_instruction_opcode
7726 jitterlispvm_recognize_specialized_instruction_tail_mcall__n8 (struct jitter_parameter ** const ps,
7727                                                bool enable_fast_literals)
7728   __attribute__ ((pure));
7729 inline static enum jitterlispvm_specialized_instruction_opcode
7730 jitterlispvm_recognize_specialized_instruction_tail_mcall__n9 (struct jitter_parameter ** const ps,
7731                                                bool enable_fast_literals)
7732   __attribute__ ((pure));
7733 inline static enum jitterlispvm_specialized_instruction_opcode
7734 jitterlispvm_recognize_specialized_instruction_tail_mcall__n10 (struct jitter_parameter ** const ps,
7735                                                bool enable_fast_literals)
7736   __attribute__ ((pure));
7737 inline static enum jitterlispvm_specialized_instruction_opcode
7738 jitterlispvm_recognize_specialized_instruction_tail_mcall__nR (struct jitter_parameter ** const ps,
7739                                                bool enable_fast_literals)
7740   __attribute__ ((pure));
7741 inline static enum jitterlispvm_specialized_instruction_opcode
7742 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled (struct jitter_parameter ** const ps,
7743                                                bool enable_fast_literals)
7744   __attribute__ ((pure));
7745 inline static enum jitterlispvm_specialized_instruction_opcode
7746 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n0 (struct jitter_parameter ** const ps,
7747                                                bool enable_fast_literals)
7748   __attribute__ ((pure));
7749 inline static enum jitterlispvm_specialized_instruction_opcode
7750 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n1 (struct jitter_parameter ** const ps,
7751                                                bool enable_fast_literals)
7752   __attribute__ ((pure));
7753 inline static enum jitterlispvm_specialized_instruction_opcode
7754 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n2 (struct jitter_parameter ** const ps,
7755                                                bool enable_fast_literals)
7756   __attribute__ ((pure));
7757 inline static enum jitterlispvm_specialized_instruction_opcode
7758 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n3 (struct jitter_parameter ** const ps,
7759                                                bool enable_fast_literals)
7760   __attribute__ ((pure));
7761 inline static enum jitterlispvm_specialized_instruction_opcode
7762 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n4 (struct jitter_parameter ** const ps,
7763                                                bool enable_fast_literals)
7764   __attribute__ ((pure));
7765 inline static enum jitterlispvm_specialized_instruction_opcode
7766 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n5 (struct jitter_parameter ** const ps,
7767                                                bool enable_fast_literals)
7768   __attribute__ ((pure));
7769 inline static enum jitterlispvm_specialized_instruction_opcode
7770 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n6 (struct jitter_parameter ** const ps,
7771                                                bool enable_fast_literals)
7772   __attribute__ ((pure));
7773 inline static enum jitterlispvm_specialized_instruction_opcode
7774 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n7 (struct jitter_parameter ** const ps,
7775                                                bool enable_fast_literals)
7776   __attribute__ ((pure));
7777 inline static enum jitterlispvm_specialized_instruction_opcode
7778 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n8 (struct jitter_parameter ** const ps,
7779                                                bool enable_fast_literals)
7780   __attribute__ ((pure));
7781 inline static enum jitterlispvm_specialized_instruction_opcode
7782 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n9 (struct jitter_parameter ** const ps,
7783                                                bool enable_fast_literals)
7784   __attribute__ ((pure));
7785 inline static enum jitterlispvm_specialized_instruction_opcode
7786 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n10 (struct jitter_parameter ** const ps,
7787                                                bool enable_fast_literals)
7788   __attribute__ ((pure));
7789 inline static enum jitterlispvm_specialized_instruction_opcode
7790 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__nR (struct jitter_parameter ** const ps,
7791                                                bool enable_fast_literals)
7792   __attribute__ ((pure));
7793 inline static enum jitterlispvm_specialized_instruction_opcode
7794 jitterlispvm_recognize_specialized_instruction_unreachable (struct jitter_parameter ** const ps,
7795                                                bool enable_fast_literals)
7796   __attribute__ ((pure));
7797 
7798 
7799 /* Recognizer function definitions. */
7800 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)7801 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister (struct jitter_parameter ** const ps,
7802                                                bool enable_fast_literals)
7803 {
7804   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7805   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
7806       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1 (ps + 1, enable_fast_literals)))
7807     goto done;
7808   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
7809       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2 (ps + 1, enable_fast_literals)))
7810     goto done;
7811   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
7812       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3 (ps + 1, enable_fast_literals)))
7813     goto done;
7814   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
7815       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4 (ps + 1, enable_fast_literals)))
7816     goto done;
7817   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
7818       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5 (ps + 1, enable_fast_literals)))
7819     goto done;
7820   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
7821       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6 (ps + 1, enable_fast_literals)))
7822     goto done;
7823   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
7824       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7 (ps + 1, enable_fast_literals)))
7825     goto done;
7826   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
7827       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8 (ps + 1, enable_fast_literals)))
7828     goto done;
7829   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
7830       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9 (ps + 1, enable_fast_literals)))
7831     goto done;
7832   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
7833       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10 (ps + 1, enable_fast_literals)))
7834     goto done;
7835   if (((* ps)->type == jitter_parameter_type_literal)
7836       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR (ps + 1, enable_fast_literals)))
7837     goto done;
7838 done:
7839   return res;
7840 }
7841 
7842 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)7843 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1 (struct jitter_parameter ** const ps,
7844                                                bool enable_fast_literals)
7845 {
7846   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7847   if (((* ps)->type == jitter_parameter_type_register_id)
7848       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1___rrR (ps + 1, enable_fast_literals)))
7849     goto done;
7850 done:
7851   return res;
7852 }
7853 
7854 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7855 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n1___rrR (struct jitter_parameter ** const ps,
7856                                                bool enable_fast_literals)
7857 {
7858   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7859   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n1___rrR;
7860 }
7861 
7862 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)7863 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2 (struct jitter_parameter ** const ps,
7864                                                bool enable_fast_literals)
7865 {
7866   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7867   if (((* ps)->type == jitter_parameter_type_register_id)
7868       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2___rrR (ps + 1, enable_fast_literals)))
7869     goto done;
7870 done:
7871   return res;
7872 }
7873 
7874 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7875 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n2___rrR (struct jitter_parameter ** const ps,
7876                                                bool enable_fast_literals)
7877 {
7878   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7879   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n2___rrR;
7880 }
7881 
7882 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)7883 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3 (struct jitter_parameter ** const ps,
7884                                                bool enable_fast_literals)
7885 {
7886   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7887   if (((* ps)->type == jitter_parameter_type_register_id)
7888       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3___rrR (ps + 1, enable_fast_literals)))
7889     goto done;
7890 done:
7891   return res;
7892 }
7893 
7894 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7895 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n3___rrR (struct jitter_parameter ** const ps,
7896                                                bool enable_fast_literals)
7897 {
7898   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7899   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n3___rrR;
7900 }
7901 
7902 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)7903 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4 (struct jitter_parameter ** const ps,
7904                                                bool enable_fast_literals)
7905 {
7906   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7907   if (((* ps)->type == jitter_parameter_type_register_id)
7908       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4___rrR (ps + 1, enable_fast_literals)))
7909     goto done;
7910 done:
7911   return res;
7912 }
7913 
7914 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7915 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n4___rrR (struct jitter_parameter ** const ps,
7916                                                bool enable_fast_literals)
7917 {
7918   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7919   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n4___rrR;
7920 }
7921 
7922 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)7923 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5 (struct jitter_parameter ** const ps,
7924                                                bool enable_fast_literals)
7925 {
7926   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7927   if (((* ps)->type == jitter_parameter_type_register_id)
7928       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5___rrR (ps + 1, enable_fast_literals)))
7929     goto done;
7930 done:
7931   return res;
7932 }
7933 
7934 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7935 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n5___rrR (struct jitter_parameter ** const ps,
7936                                                bool enable_fast_literals)
7937 {
7938   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7939   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n5___rrR;
7940 }
7941 
7942 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)7943 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6 (struct jitter_parameter ** const ps,
7944                                                bool enable_fast_literals)
7945 {
7946   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7947   if (((* ps)->type == jitter_parameter_type_register_id)
7948       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6___rrR (ps + 1, enable_fast_literals)))
7949     goto done;
7950 done:
7951   return res;
7952 }
7953 
7954 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7955 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n6___rrR (struct jitter_parameter ** const ps,
7956                                                bool enable_fast_literals)
7957 {
7958   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7959   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n6___rrR;
7960 }
7961 
7962 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)7963 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7 (struct jitter_parameter ** const ps,
7964                                                bool enable_fast_literals)
7965 {
7966   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7967   if (((* ps)->type == jitter_parameter_type_register_id)
7968       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7___rrR (ps + 1, enable_fast_literals)))
7969     goto done;
7970 done:
7971   return res;
7972 }
7973 
7974 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7975 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n7___rrR (struct jitter_parameter ** const ps,
7976                                                bool enable_fast_literals)
7977 {
7978   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7979   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n7___rrR;
7980 }
7981 
7982 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)7983 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8 (struct jitter_parameter ** const ps,
7984                                                bool enable_fast_literals)
7985 {
7986   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
7987   if (((* ps)->type == jitter_parameter_type_register_id)
7988       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8___rrR (ps + 1, enable_fast_literals)))
7989     goto done;
7990 done:
7991   return res;
7992 }
7993 
7994 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)7995 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n8___rrR (struct jitter_parameter ** const ps,
7996                                                bool enable_fast_literals)
7997 {
7998   /* The prefix is a full specialized instruction.  We're done recognizing it. */
7999   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n8___rrR;
8000 }
8001 
8002 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)8003 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9 (struct jitter_parameter ** const ps,
8004                                                bool enable_fast_literals)
8005 {
8006   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8007   if (((* ps)->type == jitter_parameter_type_register_id)
8008       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9___rrR (ps + 1, enable_fast_literals)))
8009     goto done;
8010 done:
8011   return res;
8012 }
8013 
8014 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)8015 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n9___rrR (struct jitter_parameter ** const ps,
8016                                                bool enable_fast_literals)
8017 {
8018   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8019   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n9___rrR;
8020 }
8021 
8022 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)8023 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10 (struct jitter_parameter ** const ps,
8024                                                bool enable_fast_literals)
8025 {
8026   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8027   if (((* ps)->type == jitter_parameter_type_register_id)
8028       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10___rrR (ps + 1, enable_fast_literals)))
8029     goto done;
8030 done:
8031   return res;
8032 }
8033 
8034 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)8035 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__n10___rrR (struct jitter_parameter ** const ps,
8036                                                bool enable_fast_literals)
8037 {
8038   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8039   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n10___rrR;
8040 }
8041 
8042 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)8043 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR (struct jitter_parameter ** const ps,
8044                                                bool enable_fast_literals)
8045 {
8046   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8047   if (((* ps)->type == jitter_parameter_type_register_id)
8048       && (res = jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR___rrR (ps + 1, enable_fast_literals)))
8049     goto done;
8050 done:
8051   return res;
8052 }
8053 
8054 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)8055 jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister__nR___rrR (struct jitter_parameter ** const ps,
8056                                                bool enable_fast_literals)
8057 {
8058   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8059   return jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__nR___rrR;
8060 }
8061 
8062 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch(struct jitter_parameter ** const ps,bool enable_fast_literals)8063 jitterlispvm_recognize_specialized_instruction_branch (struct jitter_parameter ** const ps,
8064                                                bool enable_fast_literals)
8065 {
8066   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8067   if (((* ps)->type == jitter_parameter_type_label)
8068       && (res = jitterlispvm_recognize_specialized_instruction_branch__fR (ps + 1, enable_fast_literals)))
8069     goto done;
8070 done:
8071   return res;
8072 }
8073 
8074 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8075 jitterlispvm_recognize_specialized_instruction_branch__fR (struct jitter_parameter ** const ps,
8076                                                bool enable_fast_literals)
8077 {
8078   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8079   return jitterlispvm_specialized_instruction_opcode_branch__fR;
8080 }
8081 
8082 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse(struct jitter_parameter ** const ps,bool enable_fast_literals)8083 jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse (struct jitter_parameter ** const ps,
8084                                                bool enable_fast_literals)
8085 {
8086   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8087   if (((* ps)->type == jitter_parameter_type_label)
8088       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse__fR (ps + 1, enable_fast_literals)))
8089     goto done;
8090 done:
8091   return res;
8092 }
8093 
8094 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8095 jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse__fR (struct jitter_parameter ** const ps,
8096                                                bool enable_fast_literals)
8097 {
8098   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8099   return jitterlispvm_specialized_instruction_opcode_branch_mif_mfalse__fR;
8100 }
8101 
8102 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless(struct jitter_parameter ** const ps,bool enable_fast_literals)8103 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless (struct jitter_parameter ** const ps,
8104                                                bool enable_fast_literals)
8105 {
8106   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8107   if (((* ps)->type == jitter_parameter_type_label)
8108       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR (ps + 1, enable_fast_literals)))
8109     goto done;
8110 done:
8111   return res;
8112 }
8113 
8114 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8115 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR (struct jitter_parameter ** const ps,
8116                                                bool enable_fast_literals)
8117 {
8118   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8119   if (((* ps)->type == jitter_parameter_type_label)
8120       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR__fR (ps + 1, enable_fast_literals)))
8121     goto done;
8122 done:
8123   return res;
8124 }
8125 
8126 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8127 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless__fR__fR (struct jitter_parameter ** const ps,
8128                                                bool enable_fast_literals)
8129 {
8130   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8131   return jitterlispvm_specialized_instruction_opcode_branch_mif_mnot_mless__fR__fR;
8132 }
8133 
8134 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull(struct jitter_parameter ** const ps,bool enable_fast_literals)8135 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull (struct jitter_parameter ** const ps,
8136                                                bool enable_fast_literals)
8137 {
8138   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8139   if (((* ps)->type == jitter_parameter_type_label)
8140       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull__fR (ps + 1, enable_fast_literals)))
8141     goto done;
8142 done:
8143   return res;
8144 }
8145 
8146 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8147 jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull__fR (struct jitter_parameter ** const ps,
8148                                                bool enable_fast_literals)
8149 {
8150   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8151   return jitterlispvm_specialized_instruction_opcode_branch_mif_mnot_mnull__fR;
8152 }
8153 
8154 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnull(struct jitter_parameter ** const ps,bool enable_fast_literals)8155 jitterlispvm_recognize_specialized_instruction_branch_mif_mnull (struct jitter_parameter ** const ps,
8156                                                bool enable_fast_literals)
8157 {
8158   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8159   if (((* ps)->type == jitter_parameter_type_label)
8160       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mnull__fR (ps + 1, enable_fast_literals)))
8161     goto done;
8162 done:
8163   return res;
8164 }
8165 
8166 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mnull__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8167 jitterlispvm_recognize_specialized_instruction_branch_mif_mnull__fR (struct jitter_parameter ** const ps,
8168                                                bool enable_fast_literals)
8169 {
8170   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8171   return jitterlispvm_specialized_instruction_opcode_branch_mif_mnull__fR;
8172 }
8173 
8174 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero(struct jitter_parameter ** const ps,bool enable_fast_literals)8175 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero (struct jitter_parameter ** const ps,
8176                                                bool enable_fast_literals)
8177 {
8178   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8179   if (((* ps)->type == jitter_parameter_type_register_id)
8180       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR (ps + 1, enable_fast_literals)))
8181     goto done;
8182 done:
8183   return res;
8184 }
8185 
8186 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)8187 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR (struct jitter_parameter ** const ps,
8188                                                bool enable_fast_literals)
8189 {
8190   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8191   if (((* ps)->type == jitter_parameter_type_label)
8192       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR (ps + 1, enable_fast_literals)))
8193     goto done;
8194 done:
8195   return res;
8196 }
8197 
8198 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8199 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR (struct jitter_parameter ** const ps,
8200                                                bool enable_fast_literals)
8201 {
8202   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8203   if (((* ps)->type == jitter_parameter_type_label)
8204       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR__fR (ps + 1, enable_fast_literals)))
8205     goto done;
8206 done:
8207   return res;
8208 }
8209 
8210 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8211 jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero___rrR__fR__fR (struct jitter_parameter ** const ps,
8212                                                bool enable_fast_literals)
8213 {
8214   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8215   return jitterlispvm_specialized_instruction_opcode_branch_mif_mregister_mnon_mzero___rrR__fR__fR;
8216 }
8217 
8218 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue(struct jitter_parameter ** const ps,bool enable_fast_literals)8219 jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue (struct jitter_parameter ** const ps,
8220                                                bool enable_fast_literals)
8221 {
8222   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8223   if (((* ps)->type == jitter_parameter_type_label)
8224       && (res = jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue__fR (ps + 1, enable_fast_literals)))
8225     goto done;
8226 done:
8227   return res;
8228 }
8229 
8230 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8231 jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue__fR (struct jitter_parameter ** const ps,
8232                                                bool enable_fast_literals)
8233 {
8234   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8235   return jitterlispvm_specialized_instruction_opcode_branch_mif_mtrue__fR;
8236 }
8237 
8238 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call(struct jitter_parameter ** const ps,bool enable_fast_literals)8239 jitterlispvm_recognize_specialized_instruction_call (struct jitter_parameter ** const ps,
8240                                                bool enable_fast_literals)
8241 {
8242   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8243   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
8244       && (res = jitterlispvm_recognize_specialized_instruction_call__n0 (ps + 1, enable_fast_literals)))
8245     goto done;
8246   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
8247       && (res = jitterlispvm_recognize_specialized_instruction_call__n1 (ps + 1, enable_fast_literals)))
8248     goto done;
8249   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
8250       && (res = jitterlispvm_recognize_specialized_instruction_call__n2 (ps + 1, enable_fast_literals)))
8251     goto done;
8252   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
8253       && (res = jitterlispvm_recognize_specialized_instruction_call__n3 (ps + 1, enable_fast_literals)))
8254     goto done;
8255   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
8256       && (res = jitterlispvm_recognize_specialized_instruction_call__n4 (ps + 1, enable_fast_literals)))
8257     goto done;
8258   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
8259       && (res = jitterlispvm_recognize_specialized_instruction_call__n5 (ps + 1, enable_fast_literals)))
8260     goto done;
8261   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
8262       && (res = jitterlispvm_recognize_specialized_instruction_call__n6 (ps + 1, enable_fast_literals)))
8263     goto done;
8264   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
8265       && (res = jitterlispvm_recognize_specialized_instruction_call__n7 (ps + 1, enable_fast_literals)))
8266     goto done;
8267   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
8268       && (res = jitterlispvm_recognize_specialized_instruction_call__n8 (ps + 1, enable_fast_literals)))
8269     goto done;
8270   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
8271       && (res = jitterlispvm_recognize_specialized_instruction_call__n9 (ps + 1, enable_fast_literals)))
8272     goto done;
8273   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
8274       && (res = jitterlispvm_recognize_specialized_instruction_call__n10 (ps + 1, enable_fast_literals)))
8275     goto done;
8276   if (((* ps)->type == jitter_parameter_type_literal)
8277       && (res = jitterlispvm_recognize_specialized_instruction_call__nR (ps + 1, enable_fast_literals)))
8278     goto done;
8279 done:
8280   return res;
8281 }
8282 
8283 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)8284 jitterlispvm_recognize_specialized_instruction_call__n0 (struct jitter_parameter ** const ps,
8285                                                bool enable_fast_literals)
8286 {
8287   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8288   return jitterlispvm_specialized_instruction_opcode_call__n0__retR;
8289 }
8290 
8291 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)8292 jitterlispvm_recognize_specialized_instruction_call__n1 (struct jitter_parameter ** const ps,
8293                                                bool enable_fast_literals)
8294 {
8295   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8296   return jitterlispvm_specialized_instruction_opcode_call__n1__retR;
8297 }
8298 
8299 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)8300 jitterlispvm_recognize_specialized_instruction_call__n2 (struct jitter_parameter ** const ps,
8301                                                bool enable_fast_literals)
8302 {
8303   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8304   return jitterlispvm_specialized_instruction_opcode_call__n2__retR;
8305 }
8306 
8307 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)8308 jitterlispvm_recognize_specialized_instruction_call__n3 (struct jitter_parameter ** const ps,
8309                                                bool enable_fast_literals)
8310 {
8311   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8312   return jitterlispvm_specialized_instruction_opcode_call__n3__retR;
8313 }
8314 
8315 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)8316 jitterlispvm_recognize_specialized_instruction_call__n4 (struct jitter_parameter ** const ps,
8317                                                bool enable_fast_literals)
8318 {
8319   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8320   return jitterlispvm_specialized_instruction_opcode_call__n4__retR;
8321 }
8322 
8323 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)8324 jitterlispvm_recognize_specialized_instruction_call__n5 (struct jitter_parameter ** const ps,
8325                                                bool enable_fast_literals)
8326 {
8327   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8328   return jitterlispvm_specialized_instruction_opcode_call__n5__retR;
8329 }
8330 
8331 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)8332 jitterlispvm_recognize_specialized_instruction_call__n6 (struct jitter_parameter ** const ps,
8333                                                bool enable_fast_literals)
8334 {
8335   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8336   return jitterlispvm_specialized_instruction_opcode_call__n6__retR;
8337 }
8338 
8339 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)8340 jitterlispvm_recognize_specialized_instruction_call__n7 (struct jitter_parameter ** const ps,
8341                                                bool enable_fast_literals)
8342 {
8343   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8344   return jitterlispvm_specialized_instruction_opcode_call__n7__retR;
8345 }
8346 
8347 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)8348 jitterlispvm_recognize_specialized_instruction_call__n8 (struct jitter_parameter ** const ps,
8349                                                bool enable_fast_literals)
8350 {
8351   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8352   return jitterlispvm_specialized_instruction_opcode_call__n8__retR;
8353 }
8354 
8355 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)8356 jitterlispvm_recognize_specialized_instruction_call__n9 (struct jitter_parameter ** const ps,
8357                                                bool enable_fast_literals)
8358 {
8359   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8360   return jitterlispvm_specialized_instruction_opcode_call__n9__retR;
8361 }
8362 
8363 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)8364 jitterlispvm_recognize_specialized_instruction_call__n10 (struct jitter_parameter ** const ps,
8365                                                bool enable_fast_literals)
8366 {
8367   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8368   return jitterlispvm_specialized_instruction_opcode_call__n10__retR;
8369 }
8370 
8371 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)8372 jitterlispvm_recognize_specialized_instruction_call__nR (struct jitter_parameter ** const ps,
8373                                                bool enable_fast_literals)
8374 {
8375   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8376   return jitterlispvm_specialized_instruction_opcode_call__nR__retR;
8377 }
8378 
8379 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled(struct jitter_parameter ** const ps,bool enable_fast_literals)8380 jitterlispvm_recognize_specialized_instruction_call_mcompiled (struct jitter_parameter ** const ps,
8381                                                bool enable_fast_literals)
8382 {
8383   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8384   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
8385       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n0 (ps + 1, enable_fast_literals)))
8386     goto done;
8387   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
8388       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n1 (ps + 1, enable_fast_literals)))
8389     goto done;
8390   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
8391       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n2 (ps + 1, enable_fast_literals)))
8392     goto done;
8393   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
8394       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n3 (ps + 1, enable_fast_literals)))
8395     goto done;
8396   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
8397       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n4 (ps + 1, enable_fast_literals)))
8398     goto done;
8399   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
8400       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n5 (ps + 1, enable_fast_literals)))
8401     goto done;
8402   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
8403       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n6 (ps + 1, enable_fast_literals)))
8404     goto done;
8405   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
8406       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n7 (ps + 1, enable_fast_literals)))
8407     goto done;
8408   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
8409       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n8 (ps + 1, enable_fast_literals)))
8410     goto done;
8411   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
8412       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n9 (ps + 1, enable_fast_literals)))
8413     goto done;
8414   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
8415       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__n10 (ps + 1, enable_fast_literals)))
8416     goto done;
8417   if (((* ps)->type == jitter_parameter_type_literal)
8418       && (res = jitterlispvm_recognize_specialized_instruction_call_mcompiled__nR (ps + 1, enable_fast_literals)))
8419     goto done;
8420 done:
8421   return res;
8422 }
8423 
8424 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)8425 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n0 (struct jitter_parameter ** const ps,
8426                                                bool enable_fast_literals)
8427 {
8428   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8429   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n0__retR;
8430 }
8431 
8432 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)8433 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n1 (struct jitter_parameter ** const ps,
8434                                                bool enable_fast_literals)
8435 {
8436   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8437   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n1__retR;
8438 }
8439 
8440 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)8441 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n2 (struct jitter_parameter ** const ps,
8442                                                bool enable_fast_literals)
8443 {
8444   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8445   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n2__retR;
8446 }
8447 
8448 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)8449 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n3 (struct jitter_parameter ** const ps,
8450                                                bool enable_fast_literals)
8451 {
8452   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8453   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n3__retR;
8454 }
8455 
8456 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)8457 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n4 (struct jitter_parameter ** const ps,
8458                                                bool enable_fast_literals)
8459 {
8460   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8461   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n4__retR;
8462 }
8463 
8464 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)8465 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n5 (struct jitter_parameter ** const ps,
8466                                                bool enable_fast_literals)
8467 {
8468   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8469   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n5__retR;
8470 }
8471 
8472 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)8473 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n6 (struct jitter_parameter ** const ps,
8474                                                bool enable_fast_literals)
8475 {
8476   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8477   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n6__retR;
8478 }
8479 
8480 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)8481 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n7 (struct jitter_parameter ** const ps,
8482                                                bool enable_fast_literals)
8483 {
8484   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8485   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n7__retR;
8486 }
8487 
8488 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)8489 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n8 (struct jitter_parameter ** const ps,
8490                                                bool enable_fast_literals)
8491 {
8492   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8493   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n8__retR;
8494 }
8495 
8496 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)8497 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n9 (struct jitter_parameter ** const ps,
8498                                                bool enable_fast_literals)
8499 {
8500   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8501   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n9__retR;
8502 }
8503 
8504 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)8505 jitterlispvm_recognize_specialized_instruction_call_mcompiled__n10 (struct jitter_parameter ** const ps,
8506                                                bool enable_fast_literals)
8507 {
8508   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8509   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__n10__retR;
8510 }
8511 
8512 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mcompiled__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)8513 jitterlispvm_recognize_specialized_instruction_call_mcompiled__nR (struct jitter_parameter ** const ps,
8514                                                bool enable_fast_literals)
8515 {
8516   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8517   return jitterlispvm_specialized_instruction_opcode_call_mcompiled__nR__retR;
8518 }
8519 
8520 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_call_mfrom_mc(struct jitter_parameter ** const ps,bool enable_fast_literals)8521 jitterlispvm_recognize_specialized_instruction_call_mfrom_mc (struct jitter_parameter ** const ps,
8522                                                bool enable_fast_literals)
8523 {
8524   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8525   return jitterlispvm_specialized_instruction_opcode_call_mfrom_mc__retR;
8526 }
8527 
8528 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_canonicalize_mboolean(struct jitter_parameter ** const ps,bool enable_fast_literals)8529 jitterlispvm_recognize_specialized_instruction_canonicalize_mboolean (struct jitter_parameter ** const ps,
8530                                                bool enable_fast_literals)
8531 {
8532   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8533   return jitterlispvm_specialized_instruction_opcode_canonicalize_mboolean;
8534 }
8535 
8536 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_mclosure(struct jitter_parameter ** const ps,bool enable_fast_literals)8537 jitterlispvm_recognize_specialized_instruction_check_mclosure (struct jitter_parameter ** const ps,
8538                                                bool enable_fast_literals)
8539 {
8540   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8541   if (((* ps)->type == jitter_parameter_type_label)
8542       && (res = jitterlispvm_recognize_specialized_instruction_check_mclosure__fR (ps + 1, enable_fast_literals)))
8543     goto done;
8544 done:
8545   return res;
8546 }
8547 
8548 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_mclosure__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8549 jitterlispvm_recognize_specialized_instruction_check_mclosure__fR (struct jitter_parameter ** const ps,
8550                                                bool enable_fast_literals)
8551 {
8552   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8553   return jitterlispvm_specialized_instruction_opcode_check_mclosure__fR;
8554 }
8555 
8556 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined(struct jitter_parameter ** const ps,bool enable_fast_literals)8557 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined (struct jitter_parameter ** const ps,
8558                                                bool enable_fast_literals)
8559 {
8560   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8561   if (((* ps)->type == jitter_parameter_type_literal)
8562       && (res = jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR (ps + 1, enable_fast_literals)))
8563     goto done;
8564 done:
8565   return res;
8566 }
8567 
8568 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)8569 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR (struct jitter_parameter ** const ps,
8570                                                bool enable_fast_literals)
8571 {
8572   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8573   if (((* ps)->type == jitter_parameter_type_label)
8574       && (res = jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR__fR (ps + 1, enable_fast_literals)))
8575     goto done;
8576 done:
8577   return res;
8578 }
8579 
8580 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8581 jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined__nR__fR (struct jitter_parameter ** const ps,
8582                                                bool enable_fast_literals)
8583 {
8584   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8585   return jitterlispvm_specialized_instruction_opcode_check_mglobal_mdefined__nR__fR;
8586 }
8587 
8588 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity(struct jitter_parameter ** const ps,bool enable_fast_literals)8589 jitterlispvm_recognize_specialized_instruction_check_min_marity (struct jitter_parameter ** const ps,
8590                                                bool enable_fast_literals)
8591 {
8592   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8593   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
8594       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n0 (ps + 1, enable_fast_literals)))
8595     goto done;
8596   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
8597       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n1 (ps + 1, enable_fast_literals)))
8598     goto done;
8599   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
8600       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n2 (ps + 1, enable_fast_literals)))
8601     goto done;
8602   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
8603       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n3 (ps + 1, enable_fast_literals)))
8604     goto done;
8605   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
8606       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n4 (ps + 1, enable_fast_literals)))
8607     goto done;
8608   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
8609       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n5 (ps + 1, enable_fast_literals)))
8610     goto done;
8611   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
8612       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n6 (ps + 1, enable_fast_literals)))
8613     goto done;
8614   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
8615       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n7 (ps + 1, enable_fast_literals)))
8616     goto done;
8617   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
8618       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n8 (ps + 1, enable_fast_literals)))
8619     goto done;
8620   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
8621       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n9 (ps + 1, enable_fast_literals)))
8622     goto done;
8623   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
8624       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n10 (ps + 1, enable_fast_literals)))
8625     goto done;
8626   if (((* ps)->type == jitter_parameter_type_literal)
8627       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__nR (ps + 1, enable_fast_literals)))
8628     goto done;
8629 done:
8630   return res;
8631 }
8632 
8633 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)8634 jitterlispvm_recognize_specialized_instruction_check_min_marity__n0 (struct jitter_parameter ** const ps,
8635                                                bool enable_fast_literals)
8636 {
8637   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8638   if (((* ps)->type == jitter_parameter_type_label)
8639       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n0__fR (ps + 1, enable_fast_literals)))
8640     goto done;
8641 done:
8642   return res;
8643 }
8644 
8645 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n0__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8646 jitterlispvm_recognize_specialized_instruction_check_min_marity__n0__fR (struct jitter_parameter ** const ps,
8647                                                bool enable_fast_literals)
8648 {
8649   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8650   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n0__fR;
8651 }
8652 
8653 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)8654 jitterlispvm_recognize_specialized_instruction_check_min_marity__n1 (struct jitter_parameter ** const ps,
8655                                                bool enable_fast_literals)
8656 {
8657   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8658   if (((* ps)->type == jitter_parameter_type_label)
8659       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n1__fR (ps + 1, enable_fast_literals)))
8660     goto done;
8661 done:
8662   return res;
8663 }
8664 
8665 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n1__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8666 jitterlispvm_recognize_specialized_instruction_check_min_marity__n1__fR (struct jitter_parameter ** const ps,
8667                                                bool enable_fast_literals)
8668 {
8669   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8670   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n1__fR;
8671 }
8672 
8673 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)8674 jitterlispvm_recognize_specialized_instruction_check_min_marity__n2 (struct jitter_parameter ** const ps,
8675                                                bool enable_fast_literals)
8676 {
8677   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8678   if (((* ps)->type == jitter_parameter_type_label)
8679       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n2__fR (ps + 1, enable_fast_literals)))
8680     goto done;
8681 done:
8682   return res;
8683 }
8684 
8685 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n2__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8686 jitterlispvm_recognize_specialized_instruction_check_min_marity__n2__fR (struct jitter_parameter ** const ps,
8687                                                bool enable_fast_literals)
8688 {
8689   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8690   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n2__fR;
8691 }
8692 
8693 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)8694 jitterlispvm_recognize_specialized_instruction_check_min_marity__n3 (struct jitter_parameter ** const ps,
8695                                                bool enable_fast_literals)
8696 {
8697   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8698   if (((* ps)->type == jitter_parameter_type_label)
8699       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n3__fR (ps + 1, enable_fast_literals)))
8700     goto done;
8701 done:
8702   return res;
8703 }
8704 
8705 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n3__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8706 jitterlispvm_recognize_specialized_instruction_check_min_marity__n3__fR (struct jitter_parameter ** const ps,
8707                                                bool enable_fast_literals)
8708 {
8709   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8710   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n3__fR;
8711 }
8712 
8713 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)8714 jitterlispvm_recognize_specialized_instruction_check_min_marity__n4 (struct jitter_parameter ** const ps,
8715                                                bool enable_fast_literals)
8716 {
8717   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8718   if (((* ps)->type == jitter_parameter_type_label)
8719       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n4__fR (ps + 1, enable_fast_literals)))
8720     goto done;
8721 done:
8722   return res;
8723 }
8724 
8725 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n4__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8726 jitterlispvm_recognize_specialized_instruction_check_min_marity__n4__fR (struct jitter_parameter ** const ps,
8727                                                bool enable_fast_literals)
8728 {
8729   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8730   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n4__fR;
8731 }
8732 
8733 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)8734 jitterlispvm_recognize_specialized_instruction_check_min_marity__n5 (struct jitter_parameter ** const ps,
8735                                                bool enable_fast_literals)
8736 {
8737   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8738   if (((* ps)->type == jitter_parameter_type_label)
8739       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n5__fR (ps + 1, enable_fast_literals)))
8740     goto done;
8741 done:
8742   return res;
8743 }
8744 
8745 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n5__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8746 jitterlispvm_recognize_specialized_instruction_check_min_marity__n5__fR (struct jitter_parameter ** const ps,
8747                                                bool enable_fast_literals)
8748 {
8749   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8750   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n5__fR;
8751 }
8752 
8753 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)8754 jitterlispvm_recognize_specialized_instruction_check_min_marity__n6 (struct jitter_parameter ** const ps,
8755                                                bool enable_fast_literals)
8756 {
8757   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8758   if (((* ps)->type == jitter_parameter_type_label)
8759       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n6__fR (ps + 1, enable_fast_literals)))
8760     goto done;
8761 done:
8762   return res;
8763 }
8764 
8765 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n6__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8766 jitterlispvm_recognize_specialized_instruction_check_min_marity__n6__fR (struct jitter_parameter ** const ps,
8767                                                bool enable_fast_literals)
8768 {
8769   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8770   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n6__fR;
8771 }
8772 
8773 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)8774 jitterlispvm_recognize_specialized_instruction_check_min_marity__n7 (struct jitter_parameter ** const ps,
8775                                                bool enable_fast_literals)
8776 {
8777   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8778   if (((* ps)->type == jitter_parameter_type_label)
8779       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n7__fR (ps + 1, enable_fast_literals)))
8780     goto done;
8781 done:
8782   return res;
8783 }
8784 
8785 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n7__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8786 jitterlispvm_recognize_specialized_instruction_check_min_marity__n7__fR (struct jitter_parameter ** const ps,
8787                                                bool enable_fast_literals)
8788 {
8789   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8790   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n7__fR;
8791 }
8792 
8793 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)8794 jitterlispvm_recognize_specialized_instruction_check_min_marity__n8 (struct jitter_parameter ** const ps,
8795                                                bool enable_fast_literals)
8796 {
8797   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8798   if (((* ps)->type == jitter_parameter_type_label)
8799       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n8__fR (ps + 1, enable_fast_literals)))
8800     goto done;
8801 done:
8802   return res;
8803 }
8804 
8805 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n8__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8806 jitterlispvm_recognize_specialized_instruction_check_min_marity__n8__fR (struct jitter_parameter ** const ps,
8807                                                bool enable_fast_literals)
8808 {
8809   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8810   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n8__fR;
8811 }
8812 
8813 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)8814 jitterlispvm_recognize_specialized_instruction_check_min_marity__n9 (struct jitter_parameter ** const ps,
8815                                                bool enable_fast_literals)
8816 {
8817   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8818   if (((* ps)->type == jitter_parameter_type_label)
8819       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n9__fR (ps + 1, enable_fast_literals)))
8820     goto done;
8821 done:
8822   return res;
8823 }
8824 
8825 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n9__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8826 jitterlispvm_recognize_specialized_instruction_check_min_marity__n9__fR (struct jitter_parameter ** const ps,
8827                                                bool enable_fast_literals)
8828 {
8829   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8830   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n9__fR;
8831 }
8832 
8833 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)8834 jitterlispvm_recognize_specialized_instruction_check_min_marity__n10 (struct jitter_parameter ** const ps,
8835                                                bool enable_fast_literals)
8836 {
8837   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8838   if (((* ps)->type == jitter_parameter_type_label)
8839       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__n10__fR (ps + 1, enable_fast_literals)))
8840     goto done;
8841 done:
8842   return res;
8843 }
8844 
8845 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__n10__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8846 jitterlispvm_recognize_specialized_instruction_check_min_marity__n10__fR (struct jitter_parameter ** const ps,
8847                                                bool enable_fast_literals)
8848 {
8849   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8850   return jitterlispvm_specialized_instruction_opcode_check_min_marity__n10__fR;
8851 }
8852 
8853 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)8854 jitterlispvm_recognize_specialized_instruction_check_min_marity__nR (struct jitter_parameter ** const ps,
8855                                                bool enable_fast_literals)
8856 {
8857   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8858   if (((* ps)->type == jitter_parameter_type_label)
8859       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity__nR__fR (ps + 1, enable_fast_literals)))
8860     goto done;
8861 done:
8862   return res;
8863 }
8864 
8865 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8866 jitterlispvm_recognize_specialized_instruction_check_min_marity__nR__fR (struct jitter_parameter ** const ps,
8867                                                bool enable_fast_literals)
8868 {
8869   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8870   return jitterlispvm_specialized_instruction_opcode_check_min_marity__nR__fR;
8871 }
8872 
8873 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt(struct jitter_parameter ** const ps,bool enable_fast_literals)8874 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt (struct jitter_parameter ** const ps,
8875                                                bool enable_fast_literals)
8876 {
8877   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8878   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
8879       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0 (ps + 1, enable_fast_literals)))
8880     goto done;
8881   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
8882       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1 (ps + 1, enable_fast_literals)))
8883     goto done;
8884   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
8885       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2 (ps + 1, enable_fast_literals)))
8886     goto done;
8887   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
8888       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3 (ps + 1, enable_fast_literals)))
8889     goto done;
8890   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
8891       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4 (ps + 1, enable_fast_literals)))
8892     goto done;
8893   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
8894       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5 (ps + 1, enable_fast_literals)))
8895     goto done;
8896   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
8897       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6 (ps + 1, enable_fast_literals)))
8898     goto done;
8899   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
8900       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7 (ps + 1, enable_fast_literals)))
8901     goto done;
8902   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
8903       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8 (ps + 1, enable_fast_literals)))
8904     goto done;
8905   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
8906       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9 (ps + 1, enable_fast_literals)))
8907     goto done;
8908   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
8909       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10 (ps + 1, enable_fast_literals)))
8910     goto done;
8911   if (((* ps)->type == jitter_parameter_type_literal)
8912       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR (ps + 1, enable_fast_literals)))
8913     goto done;
8914 done:
8915   return res;
8916 }
8917 
8918 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)8919 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0 (struct jitter_parameter ** const ps,
8920                                                bool enable_fast_literals)
8921 {
8922   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8923   if (((* ps)->type == jitter_parameter_type_label)
8924       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0__fR (ps + 1, enable_fast_literals)))
8925     goto done;
8926 done:
8927   return res;
8928 }
8929 
8930 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8931 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n0__fR (struct jitter_parameter ** const ps,
8932                                                bool enable_fast_literals)
8933 {
8934   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8935   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n0__fR;
8936 }
8937 
8938 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)8939 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1 (struct jitter_parameter ** const ps,
8940                                                bool enable_fast_literals)
8941 {
8942   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8943   if (((* ps)->type == jitter_parameter_type_label)
8944       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1__fR (ps + 1, enable_fast_literals)))
8945     goto done;
8946 done:
8947   return res;
8948 }
8949 
8950 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8951 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n1__fR (struct jitter_parameter ** const ps,
8952                                                bool enable_fast_literals)
8953 {
8954   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8955   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n1__fR;
8956 }
8957 
8958 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)8959 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2 (struct jitter_parameter ** const ps,
8960                                                bool enable_fast_literals)
8961 {
8962   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8963   if (((* ps)->type == jitter_parameter_type_label)
8964       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2__fR (ps + 1, enable_fast_literals)))
8965     goto done;
8966 done:
8967   return res;
8968 }
8969 
8970 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8971 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n2__fR (struct jitter_parameter ** const ps,
8972                                                bool enable_fast_literals)
8973 {
8974   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8975   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n2__fR;
8976 }
8977 
8978 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)8979 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3 (struct jitter_parameter ** const ps,
8980                                                bool enable_fast_literals)
8981 {
8982   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
8983   if (((* ps)->type == jitter_parameter_type_label)
8984       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3__fR (ps + 1, enable_fast_literals)))
8985     goto done;
8986 done:
8987   return res;
8988 }
8989 
8990 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)8991 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n3__fR (struct jitter_parameter ** const ps,
8992                                                bool enable_fast_literals)
8993 {
8994   /* The prefix is a full specialized instruction.  We're done recognizing it. */
8995   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n3__fR;
8996 }
8997 
8998 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)8999 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4 (struct jitter_parameter ** const ps,
9000                                                bool enable_fast_literals)
9001 {
9002   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9003   if (((* ps)->type == jitter_parameter_type_label)
9004       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4__fR (ps + 1, enable_fast_literals)))
9005     goto done;
9006 done:
9007   return res;
9008 }
9009 
9010 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9011 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n4__fR (struct jitter_parameter ** const ps,
9012                                                bool enable_fast_literals)
9013 {
9014   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9015   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n4__fR;
9016 }
9017 
9018 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)9019 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5 (struct jitter_parameter ** const ps,
9020                                                bool enable_fast_literals)
9021 {
9022   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9023   if (((* ps)->type == jitter_parameter_type_label)
9024       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5__fR (ps + 1, enable_fast_literals)))
9025     goto done;
9026 done:
9027   return res;
9028 }
9029 
9030 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9031 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n5__fR (struct jitter_parameter ** const ps,
9032                                                bool enable_fast_literals)
9033 {
9034   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9035   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n5__fR;
9036 }
9037 
9038 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)9039 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6 (struct jitter_parameter ** const ps,
9040                                                bool enable_fast_literals)
9041 {
9042   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9043   if (((* ps)->type == jitter_parameter_type_label)
9044       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6__fR (ps + 1, enable_fast_literals)))
9045     goto done;
9046 done:
9047   return res;
9048 }
9049 
9050 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9051 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n6__fR (struct jitter_parameter ** const ps,
9052                                                bool enable_fast_literals)
9053 {
9054   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9055   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n6__fR;
9056 }
9057 
9058 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)9059 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7 (struct jitter_parameter ** const ps,
9060                                                bool enable_fast_literals)
9061 {
9062   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9063   if (((* ps)->type == jitter_parameter_type_label)
9064       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7__fR (ps + 1, enable_fast_literals)))
9065     goto done;
9066 done:
9067   return res;
9068 }
9069 
9070 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9071 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n7__fR (struct jitter_parameter ** const ps,
9072                                                bool enable_fast_literals)
9073 {
9074   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9075   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n7__fR;
9076 }
9077 
9078 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)9079 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8 (struct jitter_parameter ** const ps,
9080                                                bool enable_fast_literals)
9081 {
9082   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9083   if (((* ps)->type == jitter_parameter_type_label)
9084       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8__fR (ps + 1, enable_fast_literals)))
9085     goto done;
9086 done:
9087   return res;
9088 }
9089 
9090 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9091 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n8__fR (struct jitter_parameter ** const ps,
9092                                                bool enable_fast_literals)
9093 {
9094   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9095   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n8__fR;
9096 }
9097 
9098 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)9099 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9 (struct jitter_parameter ** const ps,
9100                                                bool enable_fast_literals)
9101 {
9102   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9103   if (((* ps)->type == jitter_parameter_type_label)
9104       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9__fR (ps + 1, enable_fast_literals)))
9105     goto done;
9106 done:
9107   return res;
9108 }
9109 
9110 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9111 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n9__fR (struct jitter_parameter ** const ps,
9112                                                bool enable_fast_literals)
9113 {
9114   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9115   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n9__fR;
9116 }
9117 
9118 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)9119 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10 (struct jitter_parameter ** const ps,
9120                                                bool enable_fast_literals)
9121 {
9122   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9123   if (((* ps)->type == jitter_parameter_type_label)
9124       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10__fR (ps + 1, enable_fast_literals)))
9125     goto done;
9126 done:
9127   return res;
9128 }
9129 
9130 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9131 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__n10__fR (struct jitter_parameter ** const ps,
9132                                                bool enable_fast_literals)
9133 {
9134   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9135   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n10__fR;
9136 }
9137 
9138 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9139 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR (struct jitter_parameter ** const ps,
9140                                                bool enable_fast_literals)
9141 {
9142   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9143   if (((* ps)->type == jitter_parameter_type_label)
9144       && (res = jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR__fR (ps + 1, enable_fast_literals)))
9145     goto done;
9146 done:
9147   return res;
9148 }
9149 
9150 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9151 jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt__nR__fR (struct jitter_parameter ** const ps,
9152                                                bool enable_fast_literals)
9153 {
9154   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9155   return jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__nR__fR;
9156 }
9157 
9158 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral(struct jitter_parameter ** const ps,bool enable_fast_literals)9159 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral (struct jitter_parameter ** const ps,
9160                                                bool enable_fast_literals)
9161 {
9162   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9163   if (((* ps)->type == jitter_parameter_type_literal)
9164       && (res = jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral__nR (ps + 1, enable_fast_literals)))
9165     goto done;
9166 done:
9167   return res;
9168 }
9169 
9170 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9171 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral__nR (struct jitter_parameter ** const ps,
9172                                                bool enable_fast_literals)
9173 {
9174   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9175   return jitterlispvm_specialized_instruction_opcode_copy_mfrom_mliteral__nR;
9176 }
9177 
9178 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)9179 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister (struct jitter_parameter ** const ps,
9180                                                bool enable_fast_literals)
9181 {
9182   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9183   if (((* ps)->type == jitter_parameter_type_register_id)
9184       && (res = jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister___rrR (ps + 1, enable_fast_literals)))
9185     goto done;
9186 done:
9187   return res;
9188 }
9189 
9190 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)9191 jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister___rrR (struct jitter_parameter ** const ps,
9192                                                bool enable_fast_literals)
9193 {
9194   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9195   return jitterlispvm_specialized_instruction_opcode_copy_mfrom_mregister___rrR;
9196 }
9197 
9198 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mto_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)9199 jitterlispvm_recognize_specialized_instruction_copy_mto_mregister (struct jitter_parameter ** const ps,
9200                                                bool enable_fast_literals)
9201 {
9202   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9203   if (((* ps)->type == jitter_parameter_type_register_id)
9204       && (res = jitterlispvm_recognize_specialized_instruction_copy_mto_mregister___rrR (ps + 1, enable_fast_literals)))
9205     goto done;
9206 done:
9207   return res;
9208 }
9209 
9210 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_copy_mto_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)9211 jitterlispvm_recognize_specialized_instruction_copy_mto_mregister___rrR (struct jitter_parameter ** const ps,
9212                                                bool enable_fast_literals)
9213 {
9214   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9215   return jitterlispvm_specialized_instruction_opcode_copy_mto_mregister___rrR;
9216 }
9217 
9218 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_drop(struct jitter_parameter ** const ps,bool enable_fast_literals)9219 jitterlispvm_recognize_specialized_instruction_drop (struct jitter_parameter ** const ps,
9220                                                bool enable_fast_literals)
9221 {
9222   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9223   return jitterlispvm_specialized_instruction_opcode_drop;
9224 }
9225 
9226 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_drop_mnip(struct jitter_parameter ** const ps,bool enable_fast_literals)9227 jitterlispvm_recognize_specialized_instruction_drop_mnip (struct jitter_parameter ** const ps,
9228                                                bool enable_fast_literals)
9229 {
9230   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9231   return jitterlispvm_specialized_instruction_opcode_drop_mnip;
9232 }
9233 
9234 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_dup(struct jitter_parameter ** const ps,bool enable_fast_literals)9235 jitterlispvm_recognize_specialized_instruction_dup (struct jitter_parameter ** const ps,
9236                                                bool enable_fast_literals)
9237 {
9238   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9239   return jitterlispvm_specialized_instruction_opcode_dup;
9240 }
9241 
9242 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_exitvm(struct jitter_parameter ** const ps,bool enable_fast_literals)9243 jitterlispvm_recognize_specialized_instruction_exitvm (struct jitter_parameter ** const ps,
9244                                                bool enable_fast_literals)
9245 {
9246   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9247   return jitterlispvm_specialized_instruction_opcode_exitvm;
9248 }
9249 
9250 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_fail(struct jitter_parameter ** const ps,bool enable_fast_literals)9251 jitterlispvm_recognize_specialized_instruction_fail (struct jitter_parameter ** const ps,
9252                                                bool enable_fast_literals)
9253 {
9254   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9255   return jitterlispvm_specialized_instruction_opcode_fail__retR;
9256 }
9257 
9258 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded(struct jitter_parameter ** const ps,bool enable_fast_literals)9259 jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded (struct jitter_parameter ** const ps,
9260                                                bool enable_fast_literals)
9261 {
9262   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9263   if (((* ps)->type == jitter_parameter_type_label)
9264       && (res = jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded__fR (ps + 1, enable_fast_literals)))
9265     goto done;
9266 done:
9267   return res;
9268 }
9269 
9270 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9271 jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded__fR (struct jitter_parameter ** const ps,
9272                                                bool enable_fast_literals)
9273 {
9274   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9275   return jitterlispvm_specialized_instruction_opcode_gc_mif_mneeded__fR;
9276 }
9277 
9278 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate(struct jitter_parameter ** const ps,bool enable_fast_literals)9279 jitterlispvm_recognize_specialized_instruction_heap_mallocate (struct jitter_parameter ** const ps,
9280                                                bool enable_fast_literals)
9281 {
9282   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9283   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
9284       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n4 (ps + 1, enable_fast_literals)))
9285     goto done;
9286   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
9287       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n8 (ps + 1, enable_fast_literals)))
9288     goto done;
9289   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 12 && enable_fast_literals)
9290       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n12 (ps + 1, enable_fast_literals)))
9291     goto done;
9292   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 16 && enable_fast_literals)
9293       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n16 (ps + 1, enable_fast_literals)))
9294     goto done;
9295   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 24 && enable_fast_literals)
9296       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n24 (ps + 1, enable_fast_literals)))
9297     goto done;
9298   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 32 && enable_fast_literals)
9299       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n32 (ps + 1, enable_fast_literals)))
9300     goto done;
9301   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 36 && enable_fast_literals)
9302       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n36 (ps + 1, enable_fast_literals)))
9303     goto done;
9304   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 48 && enable_fast_literals)
9305       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n48 (ps + 1, enable_fast_literals)))
9306     goto done;
9307   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 52 && enable_fast_literals)
9308       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n52 (ps + 1, enable_fast_literals)))
9309     goto done;
9310   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 64 && enable_fast_literals)
9311       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__n64 (ps + 1, enable_fast_literals)))
9312     goto done;
9313   if (((* ps)->type == jitter_parameter_type_literal)
9314       && (res = jitterlispvm_recognize_specialized_instruction_heap_mallocate__nR (ps + 1, enable_fast_literals)))
9315     goto done;
9316 done:
9317   return res;
9318 }
9319 
9320 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)9321 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n4 (struct jitter_parameter ** const ps,
9322                                                bool enable_fast_literals)
9323 {
9324   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9325   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n4;
9326 }
9327 
9328 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)9329 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n8 (struct jitter_parameter ** const ps,
9330                                                bool enable_fast_literals)
9331 {
9332   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9333   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n8;
9334 }
9335 
9336 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n12(struct jitter_parameter ** const ps,bool enable_fast_literals)9337 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n12 (struct jitter_parameter ** const ps,
9338                                                bool enable_fast_literals)
9339 {
9340   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9341   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n12;
9342 }
9343 
9344 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n16(struct jitter_parameter ** const ps,bool enable_fast_literals)9345 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n16 (struct jitter_parameter ** const ps,
9346                                                bool enable_fast_literals)
9347 {
9348   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9349   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n16;
9350 }
9351 
9352 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n24(struct jitter_parameter ** const ps,bool enable_fast_literals)9353 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n24 (struct jitter_parameter ** const ps,
9354                                                bool enable_fast_literals)
9355 {
9356   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9357   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n24;
9358 }
9359 
9360 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n32(struct jitter_parameter ** const ps,bool enable_fast_literals)9361 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n32 (struct jitter_parameter ** const ps,
9362                                                bool enable_fast_literals)
9363 {
9364   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9365   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n32;
9366 }
9367 
9368 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n36(struct jitter_parameter ** const ps,bool enable_fast_literals)9369 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n36 (struct jitter_parameter ** const ps,
9370                                                bool enable_fast_literals)
9371 {
9372   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9373   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n36;
9374 }
9375 
9376 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n48(struct jitter_parameter ** const ps,bool enable_fast_literals)9377 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n48 (struct jitter_parameter ** const ps,
9378                                                bool enable_fast_literals)
9379 {
9380   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9381   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n48;
9382 }
9383 
9384 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n52(struct jitter_parameter ** const ps,bool enable_fast_literals)9385 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n52 (struct jitter_parameter ** const ps,
9386                                                bool enable_fast_literals)
9387 {
9388   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9389   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n52;
9390 }
9391 
9392 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__n64(struct jitter_parameter ** const ps,bool enable_fast_literals)9393 jitterlispvm_recognize_specialized_instruction_heap_mallocate__n64 (struct jitter_parameter ** const ps,
9394                                                bool enable_fast_literals)
9395 {
9396   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9397   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__n64;
9398 }
9399 
9400 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_heap_mallocate__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9401 jitterlispvm_recognize_specialized_instruction_heap_mallocate__nR (struct jitter_parameter ** const ps,
9402                                                bool enable_fast_literals)
9403 {
9404   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9405   return jitterlispvm_specialized_instruction_opcode_heap_mallocate__nR;
9406 }
9407 
9408 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_literal_mto_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)9409 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister (struct jitter_parameter ** const ps,
9410                                                bool enable_fast_literals)
9411 {
9412   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9413   if (((* ps)->type == jitter_parameter_type_literal)
9414       && (res = jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR (ps + 1, enable_fast_literals)))
9415     goto done;
9416 done:
9417   return res;
9418 }
9419 
9420 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9421 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR (struct jitter_parameter ** const ps,
9422                                                bool enable_fast_literals)
9423 {
9424   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9425   if (((* ps)->type == jitter_parameter_type_register_id)
9426       && (res = jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR___rrR (ps + 1, enable_fast_literals)))
9427     goto done;
9428 done:
9429   return res;
9430 }
9431 
9432 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)9433 jitterlispvm_recognize_specialized_instruction_literal_mto_mregister__nR___rrR (struct jitter_parameter ** const ps,
9434                                                bool enable_fast_literals)
9435 {
9436   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9437   return jitterlispvm_specialized_instruction_opcode_literal_mto_mregister__nR___rrR;
9438 }
9439 
9440 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip(struct jitter_parameter ** const ps,bool enable_fast_literals)9441 jitterlispvm_recognize_specialized_instruction_nip (struct jitter_parameter ** const ps,
9442                                                bool enable_fast_literals)
9443 {
9444   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9445   return jitterlispvm_specialized_instruction_opcode_nip;
9446 }
9447 
9448 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9449 jitterlispvm_recognize_specialized_instruction_nip_mdrop (struct jitter_parameter ** const ps,
9450                                                bool enable_fast_literals)
9451 {
9452   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9453   return jitterlispvm_specialized_instruction_opcode_nip_mdrop;
9454 }
9455 
9456 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mfive(struct jitter_parameter ** const ps,bool enable_fast_literals)9457 jitterlispvm_recognize_specialized_instruction_nip_mfive (struct jitter_parameter ** const ps,
9458                                                bool enable_fast_literals)
9459 {
9460   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9461   return jitterlispvm_specialized_instruction_opcode_nip_mfive;
9462 }
9463 
9464 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mfive_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9465 jitterlispvm_recognize_specialized_instruction_nip_mfive_mdrop (struct jitter_parameter ** const ps,
9466                                                bool enable_fast_literals)
9467 {
9468   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9469   return jitterlispvm_specialized_instruction_opcode_nip_mfive_mdrop;
9470 }
9471 
9472 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mfour(struct jitter_parameter ** const ps,bool enable_fast_literals)9473 jitterlispvm_recognize_specialized_instruction_nip_mfour (struct jitter_parameter ** const ps,
9474                                                bool enable_fast_literals)
9475 {
9476   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9477   return jitterlispvm_specialized_instruction_opcode_nip_mfour;
9478 }
9479 
9480 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mfour_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9481 jitterlispvm_recognize_specialized_instruction_nip_mfour_mdrop (struct jitter_parameter ** const ps,
9482                                                bool enable_fast_literals)
9483 {
9484   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9485   return jitterlispvm_specialized_instruction_opcode_nip_mfour_mdrop;
9486 }
9487 
9488 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral(struct jitter_parameter ** const ps,bool enable_fast_literals)9489 jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral (struct jitter_parameter ** const ps,
9490                                                bool enable_fast_literals)
9491 {
9492   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9493   if (((* ps)->type == jitter_parameter_type_literal)
9494       && (res = jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral__nR (ps + 1, enable_fast_literals)))
9495     goto done;
9496 done:
9497   return res;
9498 }
9499 
9500 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9501 jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral__nR (struct jitter_parameter ** const ps,
9502                                                bool enable_fast_literals)
9503 {
9504   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9505   return jitterlispvm_specialized_instruction_opcode_nip_mpush_mliteral__nR;
9506 }
9507 
9508 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)9509 jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister (struct jitter_parameter ** const ps,
9510                                                bool enable_fast_literals)
9511 {
9512   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9513   if (((* ps)->type == jitter_parameter_type_register_id)
9514       && (res = jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister___rrR (ps + 1, enable_fast_literals)))
9515     goto done;
9516 done:
9517   return res;
9518 }
9519 
9520 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)9521 jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister___rrR (struct jitter_parameter ** const ps,
9522                                                bool enable_fast_literals)
9523 {
9524   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9525   return jitterlispvm_specialized_instruction_opcode_nip_mpush_mregister___rrR;
9526 }
9527 
9528 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_msix(struct jitter_parameter ** const ps,bool enable_fast_literals)9529 jitterlispvm_recognize_specialized_instruction_nip_msix (struct jitter_parameter ** const ps,
9530                                                bool enable_fast_literals)
9531 {
9532   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9533   return jitterlispvm_specialized_instruction_opcode_nip_msix;
9534 }
9535 
9536 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_msix_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9537 jitterlispvm_recognize_specialized_instruction_nip_msix_mdrop (struct jitter_parameter ** const ps,
9538                                                bool enable_fast_literals)
9539 {
9540   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9541   return jitterlispvm_specialized_instruction_opcode_nip_msix_mdrop;
9542 }
9543 
9544 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mthree(struct jitter_parameter ** const ps,bool enable_fast_literals)9545 jitterlispvm_recognize_specialized_instruction_nip_mthree (struct jitter_parameter ** const ps,
9546                                                bool enable_fast_literals)
9547 {
9548   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9549   return jitterlispvm_specialized_instruction_opcode_nip_mthree;
9550 }
9551 
9552 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mthree_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9553 jitterlispvm_recognize_specialized_instruction_nip_mthree_mdrop (struct jitter_parameter ** const ps,
9554                                                bool enable_fast_literals)
9555 {
9556   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9557   return jitterlispvm_specialized_instruction_opcode_nip_mthree_mdrop;
9558 }
9559 
9560 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mtwo(struct jitter_parameter ** const ps,bool enable_fast_literals)9561 jitterlispvm_recognize_specialized_instruction_nip_mtwo (struct jitter_parameter ** const ps,
9562                                                bool enable_fast_literals)
9563 {
9564   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9565   return jitterlispvm_specialized_instruction_opcode_nip_mtwo;
9566 }
9567 
9568 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nip_mtwo_mdrop(struct jitter_parameter ** const ps,bool enable_fast_literals)9569 jitterlispvm_recognize_specialized_instruction_nip_mtwo_mdrop (struct jitter_parameter ** const ps,
9570                                                bool enable_fast_literals)
9571 {
9572   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9573   return jitterlispvm_specialized_instruction_opcode_nip_mtwo_mdrop;
9574 }
9575 
9576 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_nop(struct jitter_parameter ** const ps,bool enable_fast_literals)9577 jitterlispvm_recognize_specialized_instruction_nop (struct jitter_parameter ** const ps,
9578                                                bool enable_fast_literals)
9579 {
9580   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9581   return jitterlispvm_specialized_instruction_opcode_nop;
9582 }
9583 
9584 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal(struct jitter_parameter ** const ps,bool enable_fast_literals)9585 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal (struct jitter_parameter ** const ps,
9586                                                bool enable_fast_literals)
9587 {
9588   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9589   if (((* ps)->type == jitter_parameter_type_literal)
9590       && (res = jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR (ps + 1, enable_fast_literals)))
9591     goto done;
9592 done:
9593   return res;
9594 }
9595 
9596 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9597 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR (struct jitter_parameter ** const ps,
9598                                                bool enable_fast_literals)
9599 {
9600   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9601   if (((* ps)->type == jitter_parameter_type_label)
9602       && (res = jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR__fR (ps + 1, enable_fast_literals)))
9603     goto done;
9604 done:
9605   return res;
9606 }
9607 
9608 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9609 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal__nR__fR (struct jitter_parameter ** const ps,
9610                                                bool enable_fast_literals)
9611 {
9612   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9613   return jitterlispvm_specialized_instruction_opcode_pop_mto_mglobal__nR__fR;
9614 }
9615 
9616 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined(struct jitter_parameter ** const ps,bool enable_fast_literals)9617 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined (struct jitter_parameter ** const ps,
9618                                                bool enable_fast_literals)
9619 {
9620   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9621   if (((* ps)->type == jitter_parameter_type_literal)
9622       && (res = jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR (ps + 1, enable_fast_literals)))
9623     goto done;
9624 done:
9625   return res;
9626 }
9627 
9628 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9629 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR (struct jitter_parameter ** const ps,
9630                                                bool enable_fast_literals)
9631 {
9632   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9633   if (((* ps)->type == jitter_parameter_type_label)
9634       && (res = jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR__fR (ps + 1, enable_fast_literals)))
9635     goto done;
9636 done:
9637   return res;
9638 }
9639 
9640 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9641 jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined__nR__fR (struct jitter_parameter ** const ps,
9642                                                bool enable_fast_literals)
9643 {
9644   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9645   return jitterlispvm_specialized_instruction_opcode_pop_mto_mglobal_mdefined__nR__fR;
9646 }
9647 
9648 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)9649 jitterlispvm_recognize_specialized_instruction_pop_mto_mregister (struct jitter_parameter ** const ps,
9650                                                bool enable_fast_literals)
9651 {
9652   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9653   if (((* ps)->type == jitter_parameter_type_register_id)
9654       && (res = jitterlispvm_recognize_specialized_instruction_pop_mto_mregister___rrR (ps + 1, enable_fast_literals)))
9655     goto done;
9656 done:
9657   return res;
9658 }
9659 
9660 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_pop_mto_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)9661 jitterlispvm_recognize_specialized_instruction_pop_mto_mregister___rrR (struct jitter_parameter ** const ps,
9662                                                bool enable_fast_literals)
9663 {
9664   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9665   return jitterlispvm_specialized_instruction_opcode_pop_mto_mregister___rrR;
9666 }
9667 
9668 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive(struct jitter_parameter ** const ps,bool enable_fast_literals)9669 jitterlispvm_recognize_specialized_instruction_primitive (struct jitter_parameter ** const ps,
9670                                                bool enable_fast_literals)
9671 {
9672   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9673   if (((* ps)->type == jitter_parameter_type_literal)
9674       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR (ps + 1, enable_fast_literals)))
9675     goto done;
9676 done:
9677   return res;
9678 }
9679 
9680 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9681 jitterlispvm_recognize_specialized_instruction_primitive__nR (struct jitter_parameter ** const ps,
9682                                                bool enable_fast_literals)
9683 {
9684   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9685   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
9686       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n0 (ps + 1, enable_fast_literals)))
9687     goto done;
9688   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
9689       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n1 (ps + 1, enable_fast_literals)))
9690     goto done;
9691   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
9692       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n2 (ps + 1, enable_fast_literals)))
9693     goto done;
9694   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
9695       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n3 (ps + 1, enable_fast_literals)))
9696     goto done;
9697   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
9698       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n4 (ps + 1, enable_fast_literals)))
9699     goto done;
9700   if (((* ps)->type == jitter_parameter_type_literal)
9701       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__nR (ps + 1, enable_fast_literals)))
9702     goto done;
9703 done:
9704   return res;
9705 }
9706 
9707 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)9708 jitterlispvm_recognize_specialized_instruction_primitive__nR__n0 (struct jitter_parameter ** const ps,
9709                                                bool enable_fast_literals)
9710 {
9711   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9712   if (((* ps)->type == jitter_parameter_type_label)
9713       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n0__fR (ps + 1, enable_fast_literals)))
9714     goto done;
9715 done:
9716   return res;
9717 }
9718 
9719 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n0__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9720 jitterlispvm_recognize_specialized_instruction_primitive__nR__n0__fR (struct jitter_parameter ** const ps,
9721                                                bool enable_fast_literals)
9722 {
9723   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9724   return jitterlispvm_specialized_instruction_opcode_primitive__nR__n0__fR;
9725 }
9726 
9727 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)9728 jitterlispvm_recognize_specialized_instruction_primitive__nR__n1 (struct jitter_parameter ** const ps,
9729                                                bool enable_fast_literals)
9730 {
9731   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9732   if (((* ps)->type == jitter_parameter_type_label)
9733       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n1__fR (ps + 1, enable_fast_literals)))
9734     goto done;
9735 done:
9736   return res;
9737 }
9738 
9739 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n1__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9740 jitterlispvm_recognize_specialized_instruction_primitive__nR__n1__fR (struct jitter_parameter ** const ps,
9741                                                bool enable_fast_literals)
9742 {
9743   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9744   return jitterlispvm_specialized_instruction_opcode_primitive__nR__n1__fR;
9745 }
9746 
9747 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)9748 jitterlispvm_recognize_specialized_instruction_primitive__nR__n2 (struct jitter_parameter ** const ps,
9749                                                bool enable_fast_literals)
9750 {
9751   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9752   if (((* ps)->type == jitter_parameter_type_label)
9753       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n2__fR (ps + 1, enable_fast_literals)))
9754     goto done;
9755 done:
9756   return res;
9757 }
9758 
9759 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n2__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9760 jitterlispvm_recognize_specialized_instruction_primitive__nR__n2__fR (struct jitter_parameter ** const ps,
9761                                                bool enable_fast_literals)
9762 {
9763   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9764   return jitterlispvm_specialized_instruction_opcode_primitive__nR__n2__fR;
9765 }
9766 
9767 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)9768 jitterlispvm_recognize_specialized_instruction_primitive__nR__n3 (struct jitter_parameter ** const ps,
9769                                                bool enable_fast_literals)
9770 {
9771   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9772   if (((* ps)->type == jitter_parameter_type_label)
9773       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n3__fR (ps + 1, enable_fast_literals)))
9774     goto done;
9775 done:
9776   return res;
9777 }
9778 
9779 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n3__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9780 jitterlispvm_recognize_specialized_instruction_primitive__nR__n3__fR (struct jitter_parameter ** const ps,
9781                                                bool enable_fast_literals)
9782 {
9783   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9784   return jitterlispvm_specialized_instruction_opcode_primitive__nR__n3__fR;
9785 }
9786 
9787 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)9788 jitterlispvm_recognize_specialized_instruction_primitive__nR__n4 (struct jitter_parameter ** const ps,
9789                                                bool enable_fast_literals)
9790 {
9791   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9792   if (((* ps)->type == jitter_parameter_type_label)
9793       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__n4__fR (ps + 1, enable_fast_literals)))
9794     goto done;
9795 done:
9796   return res;
9797 }
9798 
9799 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__n4__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9800 jitterlispvm_recognize_specialized_instruction_primitive__nR__n4__fR (struct jitter_parameter ** const ps,
9801                                                bool enable_fast_literals)
9802 {
9803   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9804   return jitterlispvm_specialized_instruction_opcode_primitive__nR__n4__fR;
9805 }
9806 
9807 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)9808 jitterlispvm_recognize_specialized_instruction_primitive__nR__nR (struct jitter_parameter ** const ps,
9809                                                bool enable_fast_literals)
9810 {
9811   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9812   if (((* ps)->type == jitter_parameter_type_label)
9813       && (res = jitterlispvm_recognize_specialized_instruction_primitive__nR__nR__fR (ps + 1, enable_fast_literals)))
9814     goto done;
9815 done:
9816   return res;
9817 }
9818 
9819 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive__nR__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9820 jitterlispvm_recognize_specialized_instruction_primitive__nR__nR__fR (struct jitter_parameter ** const ps,
9821                                                bool enable_fast_literals)
9822 {
9823   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9824   return jitterlispvm_specialized_instruction_opcode_primitive__nR__nR__fR;
9825 }
9826 
9827 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mboolean_mcanonicalize(struct jitter_parameter ** const ps,bool enable_fast_literals)9828 jitterlispvm_recognize_specialized_instruction_primitive_mboolean_mcanonicalize (struct jitter_parameter ** const ps,
9829                                                bool enable_fast_literals)
9830 {
9831   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9832   return jitterlispvm_specialized_instruction_opcode_primitive_mboolean_mcanonicalize;
9833 }
9834 
9835 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mbox(struct jitter_parameter ** const ps,bool enable_fast_literals)9836 jitterlispvm_recognize_specialized_instruction_primitive_mbox (struct jitter_parameter ** const ps,
9837                                                bool enable_fast_literals)
9838 {
9839   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9840   return jitterlispvm_specialized_instruction_opcode_primitive_mbox;
9841 }
9842 
9843 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget(struct jitter_parameter ** const ps,bool enable_fast_literals)9844 jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget (struct jitter_parameter ** const ps,
9845                                                bool enable_fast_literals)
9846 {
9847   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9848   if (((* ps)->type == jitter_parameter_type_label)
9849       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget__fR (ps + 1, enable_fast_literals)))
9850     goto done;
9851 done:
9852   return res;
9853 }
9854 
9855 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9856 jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget__fR (struct jitter_parameter ** const ps,
9857                                                bool enable_fast_literals)
9858 {
9859   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9860   return jitterlispvm_specialized_instruction_opcode_primitive_mbox_mget__fR;
9861 }
9862 
9863 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial(struct jitter_parameter ** const ps,bool enable_fast_literals)9864 jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial (struct jitter_parameter ** const ps,
9865                                                bool enable_fast_literals)
9866 {
9867   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9868   if (((* ps)->type == jitter_parameter_type_label)
9869       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial__fR (ps + 1, enable_fast_literals)))
9870     goto done;
9871 done:
9872   return res;
9873 }
9874 
9875 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9876 jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial__fR (struct jitter_parameter ** const ps,
9877                                                bool enable_fast_literals)
9878 {
9879   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9880   return jitterlispvm_specialized_instruction_opcode_primitive_mbox_msetb_mspecial__fR;
9881 }
9882 
9883 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcar(struct jitter_parameter ** const ps,bool enable_fast_literals)9884 jitterlispvm_recognize_specialized_instruction_primitive_mcar (struct jitter_parameter ** const ps,
9885                                                bool enable_fast_literals)
9886 {
9887   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9888   if (((* ps)->type == jitter_parameter_type_label)
9889       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mcar__fR (ps + 1, enable_fast_literals)))
9890     goto done;
9891 done:
9892   return res;
9893 }
9894 
9895 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcar__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9896 jitterlispvm_recognize_specialized_instruction_primitive_mcar__fR (struct jitter_parameter ** const ps,
9897                                                bool enable_fast_literals)
9898 {
9899   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9900   return jitterlispvm_specialized_instruction_opcode_primitive_mcar__fR;
9901 }
9902 
9903 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcdr(struct jitter_parameter ** const ps,bool enable_fast_literals)9904 jitterlispvm_recognize_specialized_instruction_primitive_mcdr (struct jitter_parameter ** const ps,
9905                                                bool enable_fast_literals)
9906 {
9907   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9908   if (((* ps)->type == jitter_parameter_type_label)
9909       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mcdr__fR (ps + 1, enable_fast_literals)))
9910     goto done;
9911 done:
9912   return res;
9913 }
9914 
9915 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcdr__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9916 jitterlispvm_recognize_specialized_instruction_primitive_mcdr__fR (struct jitter_parameter ** const ps,
9917                                                bool enable_fast_literals)
9918 {
9919   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9920   return jitterlispvm_specialized_instruction_opcode_primitive_mcdr__fR;
9921 }
9922 
9923 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcharacterp(struct jitter_parameter ** const ps,bool enable_fast_literals)9924 jitterlispvm_recognize_specialized_instruction_primitive_mcharacterp (struct jitter_parameter ** const ps,
9925                                                bool enable_fast_literals)
9926 {
9927   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9928   return jitterlispvm_specialized_instruction_opcode_primitive_mcharacterp;
9929 }
9930 
9931 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mcons_mspecial(struct jitter_parameter ** const ps,bool enable_fast_literals)9932 jitterlispvm_recognize_specialized_instruction_primitive_mcons_mspecial (struct jitter_parameter ** const ps,
9933                                                bool enable_fast_literals)
9934 {
9935   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9936   return jitterlispvm_specialized_instruction_opcode_primitive_mcons_mspecial;
9937 }
9938 
9939 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mconsp(struct jitter_parameter ** const ps,bool enable_fast_literals)9940 jitterlispvm_recognize_specialized_instruction_primitive_mconsp (struct jitter_parameter ** const ps,
9941                                                bool enable_fast_literals)
9942 {
9943   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9944   return jitterlispvm_specialized_instruction_opcode_primitive_mconsp;
9945 }
9946 
9947 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_meqp(struct jitter_parameter ** const ps,bool enable_fast_literals)9948 jitterlispvm_recognize_specialized_instruction_primitive_meqp (struct jitter_parameter ** const ps,
9949                                                bool enable_fast_literals)
9950 {
9951   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9952   return jitterlispvm_specialized_instruction_opcode_primitive_meqp;
9953 }
9954 
9955 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp(struct jitter_parameter ** const ps,bool enable_fast_literals)9956 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp (struct jitter_parameter ** const ps,
9957                                                bool enable_fast_literals)
9958 {
9959   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9960   if (((* ps)->type == jitter_parameter_type_label)
9961       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp__fR (ps + 1, enable_fast_literals)))
9962     goto done;
9963 done:
9964   return res;
9965 }
9966 
9967 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9968 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp__fR (struct jitter_parameter ** const ps,
9969                                                bool enable_fast_literals)
9970 {
9971   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9972   return jitterlispvm_specialized_instruction_opcode_primitive_mfixnum_meqp__fR;
9973 }
9974 
9975 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp(struct jitter_parameter ** const ps,bool enable_fast_literals)9976 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp (struct jitter_parameter ** const ps,
9977                                                bool enable_fast_literals)
9978 {
9979   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
9980   if (((* ps)->type == jitter_parameter_type_label)
9981       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp__fR (ps + 1, enable_fast_literals)))
9982     goto done;
9983 done:
9984   return res;
9985 }
9986 
9987 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)9988 jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp__fR (struct jitter_parameter ** const ps,
9989                                                bool enable_fast_literals)
9990 {
9991   /* The prefix is a full specialized instruction.  We're done recognizing it. */
9992   return jitterlispvm_specialized_instruction_opcode_primitive_mfixnum_mnot_meqp__fR;
9993 }
9994 
9995 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mfixnump(struct jitter_parameter ** const ps,bool enable_fast_literals)9996 jitterlispvm_recognize_specialized_instruction_primitive_mfixnump (struct jitter_parameter ** const ps,
9997                                                bool enable_fast_literals)
9998 {
9999   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10000   return jitterlispvm_specialized_instruction_opcode_primitive_mfixnump;
10001 }
10002 
10003 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp(struct jitter_parameter ** const ps,bool enable_fast_literals)10004 jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp (struct jitter_parameter ** const ps,
10005                                                bool enable_fast_literals)
10006 {
10007   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10008   if (((* ps)->type == jitter_parameter_type_label)
10009       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp__fR (ps + 1, enable_fast_literals)))
10010     goto done;
10011 done:
10012   return res;
10013 }
10014 
10015 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10016 jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp__fR (struct jitter_parameter ** const ps,
10017                                                bool enable_fast_literals)
10018 {
10019   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10020   return jitterlispvm_specialized_instruction_opcode_primitive_mgreaterp__fR;
10021 }
10022 
10023 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mlessp(struct jitter_parameter ** const ps,bool enable_fast_literals)10024 jitterlispvm_recognize_specialized_instruction_primitive_mlessp (struct jitter_parameter ** const ps,
10025                                                bool enable_fast_literals)
10026 {
10027   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10028   if (((* ps)->type == jitter_parameter_type_label)
10029       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mlessp__fR (ps + 1, enable_fast_literals)))
10030     goto done;
10031 done:
10032   return res;
10033 }
10034 
10035 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mlessp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10036 jitterlispvm_recognize_specialized_instruction_primitive_mlessp__fR (struct jitter_parameter ** const ps,
10037                                                bool enable_fast_literals)
10038 {
10039   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10040   return jitterlispvm_specialized_instruction_opcode_primitive_mlessp__fR;
10041 }
10042 
10043 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnegate(struct jitter_parameter ** const ps,bool enable_fast_literals)10044 jitterlispvm_recognize_specialized_instruction_primitive_mnegate (struct jitter_parameter ** const ps,
10045                                                bool enable_fast_literals)
10046 {
10047   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10048   if (((* ps)->type == jitter_parameter_type_label)
10049       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnegate__fR (ps + 1, enable_fast_literals)))
10050     goto done;
10051 done:
10052   return res;
10053 }
10054 
10055 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnegate__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10056 jitterlispvm_recognize_specialized_instruction_primitive_mnegate__fR (struct jitter_parameter ** const ps,
10057                                                bool enable_fast_literals)
10058 {
10059   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10060   return jitterlispvm_specialized_instruction_opcode_primitive_mnegate__fR;
10061 }
10062 
10063 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnegativep(struct jitter_parameter ** const ps,bool enable_fast_literals)10064 jitterlispvm_recognize_specialized_instruction_primitive_mnegativep (struct jitter_parameter ** const ps,
10065                                                bool enable_fast_literals)
10066 {
10067   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10068   if (((* ps)->type == jitter_parameter_type_label)
10069       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnegativep__fR (ps + 1, enable_fast_literals)))
10070     goto done;
10071 done:
10072   return res;
10073 }
10074 
10075 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnegativep__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10076 jitterlispvm_recognize_specialized_instruction_primitive_mnegativep__fR (struct jitter_parameter ** const ps,
10077                                                bool enable_fast_literals)
10078 {
10079   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10080   return jitterlispvm_specialized_instruction_opcode_primitive_mnegativep__fR;
10081 }
10082 
10083 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mconsp(struct jitter_parameter ** const ps,bool enable_fast_literals)10084 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mconsp (struct jitter_parameter ** const ps,
10085                                                bool enable_fast_literals)
10086 {
10087   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10088   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_mconsp;
10089 }
10090 
10091 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep(struct jitter_parameter ** const ps,bool enable_fast_literals)10092 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep (struct jitter_parameter ** const ps,
10093                                                bool enable_fast_literals)
10094 {
10095   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10096   if (((* ps)->type == jitter_parameter_type_label)
10097       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep__fR (ps + 1, enable_fast_literals)))
10098     goto done;
10099 done:
10100   return res;
10101 }
10102 
10103 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10104 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep__fR (struct jitter_parameter ** const ps,
10105                                                bool enable_fast_literals)
10106 {
10107   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10108   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_mnegativep__fR;
10109 }
10110 
10111 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnullp(struct jitter_parameter ** const ps,bool enable_fast_literals)10112 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnullp (struct jitter_parameter ** const ps,
10113                                                bool enable_fast_literals)
10114 {
10115   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10116   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_mnullp;
10117 }
10118 
10119 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep(struct jitter_parameter ** const ps,bool enable_fast_literals)10120 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep (struct jitter_parameter ** const ps,
10121                                                bool enable_fast_literals)
10122 {
10123   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10124   if (((* ps)->type == jitter_parameter_type_label)
10125       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep__fR (ps + 1, enable_fast_literals)))
10126     goto done;
10127 done:
10128   return res;
10129 }
10130 
10131 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10132 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep__fR (struct jitter_parameter ** const ps,
10133                                                bool enable_fast_literals)
10134 {
10135   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10136   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_mpositivep__fR;
10137 }
10138 
10139 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_msymbolp(struct jitter_parameter ** const ps,bool enable_fast_literals)10140 jitterlispvm_recognize_specialized_instruction_primitive_mnon_msymbolp (struct jitter_parameter ** const ps,
10141                                                bool enable_fast_literals)
10142 {
10143   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10144   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_msymbolp;
10145 }
10146 
10147 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop(struct jitter_parameter ** const ps,bool enable_fast_literals)10148 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop (struct jitter_parameter ** const ps,
10149                                                bool enable_fast_literals)
10150 {
10151   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10152   if (((* ps)->type == jitter_parameter_type_label)
10153       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop__fR (ps + 1, enable_fast_literals)))
10154     goto done;
10155 done:
10156   return res;
10157 }
10158 
10159 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10160 jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop__fR (struct jitter_parameter ** const ps,
10161                                                bool enable_fast_literals)
10162 {
10163   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10164   return jitterlispvm_specialized_instruction_opcode_primitive_mnon_mzerop__fR;
10165 }
10166 
10167 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot(struct jitter_parameter ** const ps,bool enable_fast_literals)10168 jitterlispvm_recognize_specialized_instruction_primitive_mnot (struct jitter_parameter ** const ps,
10169                                                bool enable_fast_literals)
10170 {
10171   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10172   return jitterlispvm_specialized_instruction_opcode_primitive_mnot;
10173 }
10174 
10175 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot_meqp(struct jitter_parameter ** const ps,bool enable_fast_literals)10176 jitterlispvm_recognize_specialized_instruction_primitive_mnot_meqp (struct jitter_parameter ** const ps,
10177                                                bool enable_fast_literals)
10178 {
10179   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10180   return jitterlispvm_specialized_instruction_opcode_primitive_mnot_meqp;
10181 }
10182 
10183 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp(struct jitter_parameter ** const ps,bool enable_fast_literals)10184 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp (struct jitter_parameter ** const ps,
10185                                                bool enable_fast_literals)
10186 {
10187   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10188   if (((* ps)->type == jitter_parameter_type_label)
10189       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp__fR (ps + 1, enable_fast_literals)))
10190     goto done;
10191 done:
10192   return res;
10193 }
10194 
10195 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10196 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp__fR (struct jitter_parameter ** const ps,
10197                                                bool enable_fast_literals)
10198 {
10199   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10200   return jitterlispvm_specialized_instruction_opcode_primitive_mnot_mgreaterp__fR;
10201 }
10202 
10203 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp(struct jitter_parameter ** const ps,bool enable_fast_literals)10204 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp (struct jitter_parameter ** const ps,
10205                                                bool enable_fast_literals)
10206 {
10207   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10208   if (((* ps)->type == jitter_parameter_type_label)
10209       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp__fR (ps + 1, enable_fast_literals)))
10210     goto done;
10211 done:
10212   return res;
10213 }
10214 
10215 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10216 jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp__fR (struct jitter_parameter ** const ps,
10217                                                bool enable_fast_literals)
10218 {
10219   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10220   return jitterlispvm_specialized_instruction_opcode_primitive_mnot_mlessp__fR;
10221 }
10222 
10223 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnothingp(struct jitter_parameter ** const ps,bool enable_fast_literals)10224 jitterlispvm_recognize_specialized_instruction_primitive_mnothingp (struct jitter_parameter ** const ps,
10225                                                bool enable_fast_literals)
10226 {
10227   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10228   return jitterlispvm_specialized_instruction_opcode_primitive_mnothingp;
10229 }
10230 
10231 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mnullp(struct jitter_parameter ** const ps,bool enable_fast_literals)10232 jitterlispvm_recognize_specialized_instruction_primitive_mnullp (struct jitter_parameter ** const ps,
10233                                                bool enable_fast_literals)
10234 {
10235   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10236   return jitterlispvm_specialized_instruction_opcode_primitive_mnullp;
10237 }
10238 
10239 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus(struct jitter_parameter ** const ps,bool enable_fast_literals)10240 jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus (struct jitter_parameter ** const ps,
10241                                                bool enable_fast_literals)
10242 {
10243   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10244   if (((* ps)->type == jitter_parameter_type_label)
10245       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus__fR (ps + 1, enable_fast_literals)))
10246     goto done;
10247 done:
10248   return res;
10249 }
10250 
10251 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10252 jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus__fR (struct jitter_parameter ** const ps,
10253                                                bool enable_fast_literals)
10254 {
10255   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10256   return jitterlispvm_specialized_instruction_opcode_primitive_mone_mminus__fR;
10257 }
10258 
10259 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus(struct jitter_parameter ** const ps,bool enable_fast_literals)10260 jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus (struct jitter_parameter ** const ps,
10261                                                bool enable_fast_literals)
10262 {
10263   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10264   if (((* ps)->type == jitter_parameter_type_label)
10265       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus__fR (ps + 1, enable_fast_literals)))
10266     goto done;
10267 done:
10268   return res;
10269 }
10270 
10271 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10272 jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus__fR (struct jitter_parameter ** const ps,
10273                                                bool enable_fast_literals)
10274 {
10275   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10276   return jitterlispvm_specialized_instruction_opcode_primitive_mone_mplus__fR;
10277 }
10278 
10279 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mpositivep(struct jitter_parameter ** const ps,bool enable_fast_literals)10280 jitterlispvm_recognize_specialized_instruction_primitive_mpositivep (struct jitter_parameter ** const ps,
10281                                                bool enable_fast_literals)
10282 {
10283   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10284   if (((* ps)->type == jitter_parameter_type_label)
10285       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mpositivep__fR (ps + 1, enable_fast_literals)))
10286     goto done;
10287 done:
10288   return res;
10289 }
10290 
10291 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mpositivep__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10292 jitterlispvm_recognize_specialized_instruction_primitive_mpositivep__fR (struct jitter_parameter ** const ps,
10293                                                bool enable_fast_literals)
10294 {
10295   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10296   return jitterlispvm_specialized_instruction_opcode_primitive_mpositivep__fR;
10297 }
10298 
10299 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided(struct jitter_parameter ** const ps,bool enable_fast_literals)10300 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided (struct jitter_parameter ** const ps,
10301                                                bool enable_fast_literals)
10302 {
10303   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10304   if (((* ps)->type == jitter_parameter_type_label)
10305       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided__fR (ps + 1, enable_fast_literals)))
10306     goto done;
10307 done:
10308   return res;
10309 }
10310 
10311 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10312 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided__fR (struct jitter_parameter ** const ps,
10313                                                bool enable_fast_literals)
10314 {
10315   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10316   return jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mdivided__fR;
10317 }
10318 
10319 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe(struct jitter_parameter ** const ps,bool enable_fast_literals)10320 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe (struct jitter_parameter ** const ps,
10321                                                bool enable_fast_literals)
10322 {
10323   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10324   if (((* ps)->type == jitter_parameter_type_label)
10325       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe__fR (ps + 1, enable_fast_literals)))
10326     goto done;
10327 done:
10328   return res;
10329 }
10330 
10331 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10332 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe__fR (struct jitter_parameter ** const ps,
10333                                                bool enable_fast_literals)
10334 {
10335   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10336   return jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mdivided_munsafe__fR;
10337 }
10338 
10339 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus(struct jitter_parameter ** const ps,bool enable_fast_literals)10340 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus (struct jitter_parameter ** const ps,
10341                                                bool enable_fast_literals)
10342 {
10343   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10344   if (((* ps)->type == jitter_parameter_type_label)
10345       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus__fR (ps + 1, enable_fast_literals)))
10346     goto done;
10347 done:
10348   return res;
10349 }
10350 
10351 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10352 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus__fR (struct jitter_parameter ** const ps,
10353                                                bool enable_fast_literals)
10354 {
10355   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10356   return jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mminus__fR;
10357 }
10358 
10359 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus(struct jitter_parameter ** const ps,bool enable_fast_literals)10360 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus (struct jitter_parameter ** const ps,
10361                                                bool enable_fast_literals)
10362 {
10363   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10364   if (((* ps)->type == jitter_parameter_type_label)
10365       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus__fR (ps + 1, enable_fast_literals)))
10366     goto done;
10367 done:
10368   return res;
10369 }
10370 
10371 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10372 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus__fR (struct jitter_parameter ** const ps,
10373                                                bool enable_fast_literals)
10374 {
10375   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10376   return jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mplus__fR;
10377 }
10378 
10379 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes(struct jitter_parameter ** const ps,bool enable_fast_literals)10380 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes (struct jitter_parameter ** const ps,
10381                                                bool enable_fast_literals)
10382 {
10383   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10384   if (((* ps)->type == jitter_parameter_type_label)
10385       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes__fR (ps + 1, enable_fast_literals)))
10386     goto done;
10387 done:
10388   return res;
10389 }
10390 
10391 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10392 jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes__fR (struct jitter_parameter ** const ps,
10393                                                bool enable_fast_literals)
10394 {
10395   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10396   return jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mtimes__fR;
10397 }
10398 
10399 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mquotient(struct jitter_parameter ** const ps,bool enable_fast_literals)10400 jitterlispvm_recognize_specialized_instruction_primitive_mquotient (struct jitter_parameter ** const ps,
10401                                                bool enable_fast_literals)
10402 {
10403   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10404   if (((* ps)->type == jitter_parameter_type_label)
10405       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mquotient__fR (ps + 1, enable_fast_literals)))
10406     goto done;
10407 done:
10408   return res;
10409 }
10410 
10411 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mquotient__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10412 jitterlispvm_recognize_specialized_instruction_primitive_mquotient__fR (struct jitter_parameter ** const ps,
10413                                                bool enable_fast_literals)
10414 {
10415   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10416   return jitterlispvm_specialized_instruction_opcode_primitive_mquotient__fR;
10417 }
10418 
10419 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe(struct jitter_parameter ** const ps,bool enable_fast_literals)10420 jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe (struct jitter_parameter ** const ps,
10421                                                bool enable_fast_literals)
10422 {
10423   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10424   if (((* ps)->type == jitter_parameter_type_label)
10425       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe__fR (ps + 1, enable_fast_literals)))
10426     goto done;
10427 done:
10428   return res;
10429 }
10430 
10431 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10432 jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe__fR (struct jitter_parameter ** const ps,
10433                                                bool enable_fast_literals)
10434 {
10435   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10436   return jitterlispvm_specialized_instruction_opcode_primitive_mquotient_munsafe__fR;
10437 }
10438 
10439 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mremainder(struct jitter_parameter ** const ps,bool enable_fast_literals)10440 jitterlispvm_recognize_specialized_instruction_primitive_mremainder (struct jitter_parameter ** const ps,
10441                                                bool enable_fast_literals)
10442 {
10443   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10444   if (((* ps)->type == jitter_parameter_type_label)
10445       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mremainder__fR (ps + 1, enable_fast_literals)))
10446     goto done;
10447 done:
10448   return res;
10449 }
10450 
10451 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mremainder__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10452 jitterlispvm_recognize_specialized_instruction_primitive_mremainder__fR (struct jitter_parameter ** const ps,
10453                                                bool enable_fast_literals)
10454 {
10455   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10456   return jitterlispvm_specialized_instruction_opcode_primitive_mremainder__fR;
10457 }
10458 
10459 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe(struct jitter_parameter ** const ps,bool enable_fast_literals)10460 jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe (struct jitter_parameter ** const ps,
10461                                                bool enable_fast_literals)
10462 {
10463   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10464   if (((* ps)->type == jitter_parameter_type_label)
10465       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe__fR (ps + 1, enable_fast_literals)))
10466     goto done;
10467 done:
10468   return res;
10469 }
10470 
10471 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10472 jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe__fR (struct jitter_parameter ** const ps,
10473                                                bool enable_fast_literals)
10474 {
10475   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10476   return jitterlispvm_specialized_instruction_opcode_primitive_mremainder_munsafe__fR;
10477 }
10478 
10479 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial(struct jitter_parameter ** const ps,bool enable_fast_literals)10480 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial (struct jitter_parameter ** const ps,
10481                                                bool enable_fast_literals)
10482 {
10483   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10484   if (((* ps)->type == jitter_parameter_type_label)
10485       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial__fR (ps + 1, enable_fast_literals)))
10486     goto done;
10487 done:
10488   return res;
10489 }
10490 
10491 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10492 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial__fR (struct jitter_parameter ** const ps,
10493                                                bool enable_fast_literals)
10494 {
10495   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10496   return jitterlispvm_specialized_instruction_opcode_primitive_mset_mcarb_mspecial__fR;
10497 }
10498 
10499 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial(struct jitter_parameter ** const ps,bool enable_fast_literals)10500 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial (struct jitter_parameter ** const ps,
10501                                                bool enable_fast_literals)
10502 {
10503   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10504   if (((* ps)->type == jitter_parameter_type_label)
10505       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial__fR (ps + 1, enable_fast_literals)))
10506     goto done;
10507 done:
10508   return res;
10509 }
10510 
10511 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10512 jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial__fR (struct jitter_parameter ** const ps,
10513                                                bool enable_fast_literals)
10514 {
10515   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10516   return jitterlispvm_specialized_instruction_opcode_primitive_mset_mcdrb_mspecial__fR;
10517 }
10518 
10519 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_msymbolp(struct jitter_parameter ** const ps,bool enable_fast_literals)10520 jitterlispvm_recognize_specialized_instruction_primitive_msymbolp (struct jitter_parameter ** const ps,
10521                                                bool enable_fast_literals)
10522 {
10523   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10524   return jitterlispvm_specialized_instruction_opcode_primitive_msymbolp;
10525 }
10526 
10527 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided(struct jitter_parameter ** const ps,bool enable_fast_literals)10528 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided (struct jitter_parameter ** const ps,
10529                                                bool enable_fast_literals)
10530 {
10531   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10532   if (((* ps)->type == jitter_parameter_type_label)
10533       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided__fR (ps + 1, enable_fast_literals)))
10534     goto done;
10535 done:
10536   return res;
10537 }
10538 
10539 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10540 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided__fR (struct jitter_parameter ** const ps,
10541                                                bool enable_fast_literals)
10542 {
10543   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10544   return jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mdivided__fR;
10545 }
10546 
10547 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient(struct jitter_parameter ** const ps,bool enable_fast_literals)10548 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient (struct jitter_parameter ** const ps,
10549                                                bool enable_fast_literals)
10550 {
10551   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10552   if (((* ps)->type == jitter_parameter_type_label)
10553       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient__fR (ps + 1, enable_fast_literals)))
10554     goto done;
10555 done:
10556   return res;
10557 }
10558 
10559 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10560 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient__fR (struct jitter_parameter ** const ps,
10561                                                bool enable_fast_literals)
10562 {
10563   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10564   return jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mquotient__fR;
10565 }
10566 
10567 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder(struct jitter_parameter ** const ps,bool enable_fast_literals)10568 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder (struct jitter_parameter ** const ps,
10569                                                bool enable_fast_literals)
10570 {
10571   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10572   if (((* ps)->type == jitter_parameter_type_label)
10573       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder__fR (ps + 1, enable_fast_literals)))
10574     goto done;
10575 done:
10576   return res;
10577 }
10578 
10579 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10580 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder__fR (struct jitter_parameter ** const ps,
10581                                                bool enable_fast_literals)
10582 {
10583   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10584   return jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mremainder__fR;
10585 }
10586 
10587 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes(struct jitter_parameter ** const ps,bool enable_fast_literals)10588 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes (struct jitter_parameter ** const ps,
10589                                                bool enable_fast_literals)
10590 {
10591   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10592   if (((* ps)->type == jitter_parameter_type_label)
10593       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes__fR (ps + 1, enable_fast_literals)))
10594     goto done;
10595 done:
10596   return res;
10597 }
10598 
10599 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10600 jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes__fR (struct jitter_parameter ** const ps,
10601                                                bool enable_fast_literals)
10602 {
10603   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10604   return jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mtimes__fR;
10605 }
10606 
10607 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_muniquep(struct jitter_parameter ** const ps,bool enable_fast_literals)10608 jitterlispvm_recognize_specialized_instruction_primitive_muniquep (struct jitter_parameter ** const ps,
10609                                                bool enable_fast_literals)
10610 {
10611   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10612   return jitterlispvm_specialized_instruction_opcode_primitive_muniquep;
10613 }
10614 
10615 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mzerop(struct jitter_parameter ** const ps,bool enable_fast_literals)10616 jitterlispvm_recognize_specialized_instruction_primitive_mzerop (struct jitter_parameter ** const ps,
10617                                                bool enable_fast_literals)
10618 {
10619   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10620   if (((* ps)->type == jitter_parameter_type_label)
10621       && (res = jitterlispvm_recognize_specialized_instruction_primitive_mzerop__fR (ps + 1, enable_fast_literals)))
10622     goto done;
10623 done:
10624   return res;
10625 }
10626 
10627 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_primitive_mzerop__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10628 jitterlispvm_recognize_specialized_instruction_primitive_mzerop__fR (struct jitter_parameter ** const ps,
10629                                                bool enable_fast_literals)
10630 {
10631   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10632   return jitterlispvm_specialized_instruction_opcode_primitive_mzerop__fR;
10633 }
10634 
10635 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_procedure_mprolog(struct jitter_parameter ** const ps,bool enable_fast_literals)10636 jitterlispvm_recognize_specialized_instruction_procedure_mprolog (struct jitter_parameter ** const ps,
10637                                                bool enable_fast_literals)
10638 {
10639   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10640   return jitterlispvm_specialized_instruction_opcode_procedure_mprolog;
10641 }
10642 
10643 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mfalse(struct jitter_parameter ** const ps,bool enable_fast_literals)10644 jitterlispvm_recognize_specialized_instruction_push_mfalse (struct jitter_parameter ** const ps,
10645                                                bool enable_fast_literals)
10646 {
10647   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10648   return jitterlispvm_specialized_instruction_opcode_push_mfalse;
10649 }
10650 
10651 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mglobal(struct jitter_parameter ** const ps,bool enable_fast_literals)10652 jitterlispvm_recognize_specialized_instruction_push_mglobal (struct jitter_parameter ** const ps,
10653                                                bool enable_fast_literals)
10654 {
10655   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10656   if (((* ps)->type == jitter_parameter_type_literal)
10657       && (res = jitterlispvm_recognize_specialized_instruction_push_mglobal__nR (ps + 1, enable_fast_literals)))
10658     goto done;
10659 done:
10660   return res;
10661 }
10662 
10663 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mglobal__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)10664 jitterlispvm_recognize_specialized_instruction_push_mglobal__nR (struct jitter_parameter ** const ps,
10665                                                bool enable_fast_literals)
10666 {
10667   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10668   if (((* ps)->type == jitter_parameter_type_label)
10669       && (res = jitterlispvm_recognize_specialized_instruction_push_mglobal__nR__fR (ps + 1, enable_fast_literals)))
10670     goto done;
10671 done:
10672   return res;
10673 }
10674 
10675 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mglobal__nR__fR(struct jitter_parameter ** const ps,bool enable_fast_literals)10676 jitterlispvm_recognize_specialized_instruction_push_mglobal__nR__fR (struct jitter_parameter ** const ps,
10677                                                bool enable_fast_literals)
10678 {
10679   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10680   return jitterlispvm_specialized_instruction_opcode_push_mglobal__nR__fR;
10681 }
10682 
10683 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mliteral(struct jitter_parameter ** const ps,bool enable_fast_literals)10684 jitterlispvm_recognize_specialized_instruction_push_mliteral (struct jitter_parameter ** const ps,
10685                                                bool enable_fast_literals)
10686 {
10687   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10688   if (((* ps)->type == jitter_parameter_type_literal)
10689       && (res = jitterlispvm_recognize_specialized_instruction_push_mliteral__nR (ps + 1, enable_fast_literals)))
10690     goto done;
10691 done:
10692   return res;
10693 }
10694 
10695 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mliteral__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)10696 jitterlispvm_recognize_specialized_instruction_push_mliteral__nR (struct jitter_parameter ** const ps,
10697                                                bool enable_fast_literals)
10698 {
10699   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10700   return jitterlispvm_specialized_instruction_opcode_push_mliteral__nR;
10701 }
10702 
10703 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mnil(struct jitter_parameter ** const ps,bool enable_fast_literals)10704 jitterlispvm_recognize_specialized_instruction_push_mnil (struct jitter_parameter ** const ps,
10705                                                bool enable_fast_literals)
10706 {
10707   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10708   return jitterlispvm_specialized_instruction_opcode_push_mnil;
10709 }
10710 
10711 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mnothing(struct jitter_parameter ** const ps,bool enable_fast_literals)10712 jitterlispvm_recognize_specialized_instruction_push_mnothing (struct jitter_parameter ** const ps,
10713                                                bool enable_fast_literals)
10714 {
10715   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10716   return jitterlispvm_specialized_instruction_opcode_push_mnothing;
10717 }
10718 
10719 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mone(struct jitter_parameter ** const ps,bool enable_fast_literals)10720 jitterlispvm_recognize_specialized_instruction_push_mone (struct jitter_parameter ** const ps,
10721                                                bool enable_fast_literals)
10722 {
10723   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10724   return jitterlispvm_specialized_instruction_opcode_push_mone;
10725 }
10726 
10727 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)10728 jitterlispvm_recognize_specialized_instruction_push_mregister (struct jitter_parameter ** const ps,
10729                                                bool enable_fast_literals)
10730 {
10731   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10732   if (((* ps)->type == jitter_parameter_type_register_id)
10733       && (res = jitterlispvm_recognize_specialized_instruction_push_mregister___rrR (ps + 1, enable_fast_literals)))
10734     goto done;
10735 done:
10736   return res;
10737 }
10738 
10739 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)10740 jitterlispvm_recognize_specialized_instruction_push_mregister___rrR (struct jitter_parameter ** const ps,
10741                                                bool enable_fast_literals)
10742 {
10743   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10744   return jitterlispvm_specialized_instruction_opcode_push_mregister___rrR;
10745 }
10746 
10747 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_munspecified(struct jitter_parameter ** const ps,bool enable_fast_literals)10748 jitterlispvm_recognize_specialized_instruction_push_munspecified (struct jitter_parameter ** const ps,
10749                                                bool enable_fast_literals)
10750 {
10751   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10752   return jitterlispvm_specialized_instruction_opcode_push_munspecified;
10753 }
10754 
10755 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_push_mzero(struct jitter_parameter ** const ps,bool enable_fast_literals)10756 jitterlispvm_recognize_specialized_instruction_push_mzero (struct jitter_parameter ** const ps,
10757                                                bool enable_fast_literals)
10758 {
10759   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10760   return jitterlispvm_specialized_instruction_opcode_push_mzero;
10761 }
10762 
10763 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_register_mto_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)10764 jitterlispvm_recognize_specialized_instruction_register_mto_mregister (struct jitter_parameter ** const ps,
10765                                                bool enable_fast_literals)
10766 {
10767   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10768   if (((* ps)->type == jitter_parameter_type_register_id)
10769       && (res = jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR (ps + 1, enable_fast_literals)))
10770     goto done;
10771 done:
10772   return res;
10773 }
10774 
10775 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)10776 jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR (struct jitter_parameter ** const ps,
10777                                                bool enable_fast_literals)
10778 {
10779   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10780   if (((* ps)->type == jitter_parameter_type_register_id)
10781       && (res = jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR___rrR (ps + 1, enable_fast_literals)))
10782     goto done;
10783 done:
10784   return res;
10785 }
10786 
10787 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)10788 jitterlispvm_recognize_specialized_instruction_register_mto_mregister___rrR___rrR (struct jitter_parameter ** const ps,
10789                                                bool enable_fast_literals)
10790 {
10791   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10792   return jitterlispvm_specialized_instruction_opcode_register_mto_mregister___rrR___rrR;
10793 }
10794 
10795 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_restore_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)10796 jitterlispvm_recognize_specialized_instruction_restore_mregister (struct jitter_parameter ** const ps,
10797                                                bool enable_fast_literals)
10798 {
10799   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10800   if (((* ps)->type == jitter_parameter_type_register_id)
10801       && (res = jitterlispvm_recognize_specialized_instruction_restore_mregister___rrR (ps + 1, enable_fast_literals)))
10802     goto done;
10803 done:
10804   return res;
10805 }
10806 
10807 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_restore_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)10808 jitterlispvm_recognize_specialized_instruction_restore_mregister___rrR (struct jitter_parameter ** const ps,
10809                                                bool enable_fast_literals)
10810 {
10811   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10812   return jitterlispvm_specialized_instruction_opcode_restore_mregister___rrR;
10813 }
10814 
10815 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_return(struct jitter_parameter ** const ps,bool enable_fast_literals)10816 jitterlispvm_recognize_specialized_instruction_return (struct jitter_parameter ** const ps,
10817                                                bool enable_fast_literals)
10818 {
10819   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10820   return jitterlispvm_specialized_instruction_opcode_return;
10821 }
10822 
10823 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_save_mregister(struct jitter_parameter ** const ps,bool enable_fast_literals)10824 jitterlispvm_recognize_specialized_instruction_save_mregister (struct jitter_parameter ** const ps,
10825                                                bool enable_fast_literals)
10826 {
10827   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10828   if (((* ps)->type == jitter_parameter_type_register_id)
10829       && (res = jitterlispvm_recognize_specialized_instruction_save_mregister___rrR (ps + 1, enable_fast_literals)))
10830     goto done;
10831 done:
10832   return res;
10833 }
10834 
10835 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_save_mregister___rrR(struct jitter_parameter ** const ps,bool enable_fast_literals)10836 jitterlispvm_recognize_specialized_instruction_save_mregister___rrR (struct jitter_parameter ** const ps,
10837                                                bool enable_fast_literals)
10838 {
10839   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10840   return jitterlispvm_specialized_instruction_opcode_save_mregister___rrR;
10841 }
10842 
10843 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall(struct jitter_parameter ** const ps,bool enable_fast_literals)10844 jitterlispvm_recognize_specialized_instruction_tail_mcall (struct jitter_parameter ** const ps,
10845                                                bool enable_fast_literals)
10846 {
10847   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10848   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
10849       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n0 (ps + 1, enable_fast_literals)))
10850     goto done;
10851   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
10852       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n1 (ps + 1, enable_fast_literals)))
10853     goto done;
10854   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
10855       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n2 (ps + 1, enable_fast_literals)))
10856     goto done;
10857   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
10858       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n3 (ps + 1, enable_fast_literals)))
10859     goto done;
10860   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
10861       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n4 (ps + 1, enable_fast_literals)))
10862     goto done;
10863   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
10864       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n5 (ps + 1, enable_fast_literals)))
10865     goto done;
10866   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
10867       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n6 (ps + 1, enable_fast_literals)))
10868     goto done;
10869   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
10870       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n7 (ps + 1, enable_fast_literals)))
10871     goto done;
10872   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
10873       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n8 (ps + 1, enable_fast_literals)))
10874     goto done;
10875   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
10876       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n9 (ps + 1, enable_fast_literals)))
10877     goto done;
10878   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
10879       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__n10 (ps + 1, enable_fast_literals)))
10880     goto done;
10881   if (((* ps)->type == jitter_parameter_type_literal)
10882       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall__nR (ps + 1, enable_fast_literals)))
10883     goto done;
10884 done:
10885   return res;
10886 }
10887 
10888 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)10889 jitterlispvm_recognize_specialized_instruction_tail_mcall__n0 (struct jitter_parameter ** const ps,
10890                                                bool enable_fast_literals)
10891 {
10892   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10893   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n0;
10894 }
10895 
10896 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)10897 jitterlispvm_recognize_specialized_instruction_tail_mcall__n1 (struct jitter_parameter ** const ps,
10898                                                bool enable_fast_literals)
10899 {
10900   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10901   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n1;
10902 }
10903 
10904 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)10905 jitterlispvm_recognize_specialized_instruction_tail_mcall__n2 (struct jitter_parameter ** const ps,
10906                                                bool enable_fast_literals)
10907 {
10908   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10909   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n2;
10910 }
10911 
10912 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)10913 jitterlispvm_recognize_specialized_instruction_tail_mcall__n3 (struct jitter_parameter ** const ps,
10914                                                bool enable_fast_literals)
10915 {
10916   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10917   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n3;
10918 }
10919 
10920 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)10921 jitterlispvm_recognize_specialized_instruction_tail_mcall__n4 (struct jitter_parameter ** const ps,
10922                                                bool enable_fast_literals)
10923 {
10924   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10925   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n4;
10926 }
10927 
10928 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)10929 jitterlispvm_recognize_specialized_instruction_tail_mcall__n5 (struct jitter_parameter ** const ps,
10930                                                bool enable_fast_literals)
10931 {
10932   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10933   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n5;
10934 }
10935 
10936 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)10937 jitterlispvm_recognize_specialized_instruction_tail_mcall__n6 (struct jitter_parameter ** const ps,
10938                                                bool enable_fast_literals)
10939 {
10940   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10941   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n6;
10942 }
10943 
10944 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)10945 jitterlispvm_recognize_specialized_instruction_tail_mcall__n7 (struct jitter_parameter ** const ps,
10946                                                bool enable_fast_literals)
10947 {
10948   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10949   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n7;
10950 }
10951 
10952 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)10953 jitterlispvm_recognize_specialized_instruction_tail_mcall__n8 (struct jitter_parameter ** const ps,
10954                                                bool enable_fast_literals)
10955 {
10956   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10957   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n8;
10958 }
10959 
10960 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)10961 jitterlispvm_recognize_specialized_instruction_tail_mcall__n9 (struct jitter_parameter ** const ps,
10962                                                bool enable_fast_literals)
10963 {
10964   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10965   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n9;
10966 }
10967 
10968 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)10969 jitterlispvm_recognize_specialized_instruction_tail_mcall__n10 (struct jitter_parameter ** const ps,
10970                                                bool enable_fast_literals)
10971 {
10972   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10973   return jitterlispvm_specialized_instruction_opcode_tail_mcall__n10;
10974 }
10975 
10976 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)10977 jitterlispvm_recognize_specialized_instruction_tail_mcall__nR (struct jitter_parameter ** const ps,
10978                                                bool enable_fast_literals)
10979 {
10980   /* The prefix is a full specialized instruction.  We're done recognizing it. */
10981   return jitterlispvm_specialized_instruction_opcode_tail_mcall__nR;
10982 }
10983 
10984 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled(struct jitter_parameter ** const ps,bool enable_fast_literals)10985 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled (struct jitter_parameter ** const ps,
10986                                                bool enable_fast_literals)
10987 {
10988   enum jitterlispvm_specialized_instruction_opcode res = jitterlispvm_specialized_instruction_opcode__eINVALID;
10989   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 0 && enable_fast_literals)
10990       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n0 (ps + 1, enable_fast_literals)))
10991     goto done;
10992   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 1 && enable_fast_literals)
10993       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n1 (ps + 1, enable_fast_literals)))
10994     goto done;
10995   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 2 && enable_fast_literals)
10996       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n2 (ps + 1, enable_fast_literals)))
10997     goto done;
10998   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 3 && enable_fast_literals)
10999       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n3 (ps + 1, enable_fast_literals)))
11000     goto done;
11001   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 4 && enable_fast_literals)
11002       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n4 (ps + 1, enable_fast_literals)))
11003     goto done;
11004   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 5 && enable_fast_literals)
11005       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n5 (ps + 1, enable_fast_literals)))
11006     goto done;
11007   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 6 && enable_fast_literals)
11008       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n6 (ps + 1, enable_fast_literals)))
11009     goto done;
11010   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 7 && enable_fast_literals)
11011       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n7 (ps + 1, enable_fast_literals)))
11012     goto done;
11013   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 8 && enable_fast_literals)
11014       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n8 (ps + 1, enable_fast_literals)))
11015     goto done;
11016   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 9 && enable_fast_literals)
11017       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n9 (ps + 1, enable_fast_literals)))
11018     goto done;
11019   if (((* ps)->type == jitter_parameter_type_literal && (* ps)->literal.fixnum == 10 && enable_fast_literals)
11020       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n10 (ps + 1, enable_fast_literals)))
11021     goto done;
11022   if (((* ps)->type == jitter_parameter_type_literal)
11023       && (res = jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__nR (ps + 1, enable_fast_literals)))
11024     goto done;
11025 done:
11026   return res;
11027 }
11028 
11029 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n0(struct jitter_parameter ** const ps,bool enable_fast_literals)11030 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n0 (struct jitter_parameter ** const ps,
11031                                                bool enable_fast_literals)
11032 {
11033   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11034   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n0;
11035 }
11036 
11037 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n1(struct jitter_parameter ** const ps,bool enable_fast_literals)11038 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n1 (struct jitter_parameter ** const ps,
11039                                                bool enable_fast_literals)
11040 {
11041   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11042   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n1;
11043 }
11044 
11045 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n2(struct jitter_parameter ** const ps,bool enable_fast_literals)11046 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n2 (struct jitter_parameter ** const ps,
11047                                                bool enable_fast_literals)
11048 {
11049   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11050   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n2;
11051 }
11052 
11053 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n3(struct jitter_parameter ** const ps,bool enable_fast_literals)11054 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n3 (struct jitter_parameter ** const ps,
11055                                                bool enable_fast_literals)
11056 {
11057   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11058   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n3;
11059 }
11060 
11061 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n4(struct jitter_parameter ** const ps,bool enable_fast_literals)11062 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n4 (struct jitter_parameter ** const ps,
11063                                                bool enable_fast_literals)
11064 {
11065   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11066   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n4;
11067 }
11068 
11069 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n5(struct jitter_parameter ** const ps,bool enable_fast_literals)11070 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n5 (struct jitter_parameter ** const ps,
11071                                                bool enable_fast_literals)
11072 {
11073   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11074   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n5;
11075 }
11076 
11077 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n6(struct jitter_parameter ** const ps,bool enable_fast_literals)11078 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n6 (struct jitter_parameter ** const ps,
11079                                                bool enable_fast_literals)
11080 {
11081   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11082   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n6;
11083 }
11084 
11085 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n7(struct jitter_parameter ** const ps,bool enable_fast_literals)11086 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n7 (struct jitter_parameter ** const ps,
11087                                                bool enable_fast_literals)
11088 {
11089   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11090   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n7;
11091 }
11092 
11093 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n8(struct jitter_parameter ** const ps,bool enable_fast_literals)11094 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n8 (struct jitter_parameter ** const ps,
11095                                                bool enable_fast_literals)
11096 {
11097   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11098   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n8;
11099 }
11100 
11101 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n9(struct jitter_parameter ** const ps,bool enable_fast_literals)11102 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n9 (struct jitter_parameter ** const ps,
11103                                                bool enable_fast_literals)
11104 {
11105   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11106   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n9;
11107 }
11108 
11109 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n10(struct jitter_parameter ** const ps,bool enable_fast_literals)11110 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__n10 (struct jitter_parameter ** const ps,
11111                                                bool enable_fast_literals)
11112 {
11113   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11114   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n10;
11115 }
11116 
11117 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__nR(struct jitter_parameter ** const ps,bool enable_fast_literals)11118 jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled__nR (struct jitter_parameter ** const ps,
11119                                                bool enable_fast_literals)
11120 {
11121   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11122   return jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__nR;
11123 }
11124 
11125 inline static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction_unreachable(struct jitter_parameter ** const ps,bool enable_fast_literals)11126 jitterlispvm_recognize_specialized_instruction_unreachable (struct jitter_parameter ** const ps,
11127                                                bool enable_fast_literals)
11128 {
11129   /* The prefix is a full specialized instruction.  We're done recognizing it. */
11130   return jitterlispvm_specialized_instruction_opcode_unreachable;
11131 }
11132 
11133 
11134 
11135 /* Recognizer entry point. */
11136 static enum jitterlispvm_specialized_instruction_opcode
jitterlispvm_recognize_specialized_instruction(struct jitter_mutable_routine * p,const struct jitter_instruction * ins)11137 jitterlispvm_recognize_specialized_instruction (struct jitter_mutable_routine *p,
11138                                             const struct jitter_instruction *ins)
11139 {
11140   bool fl = ! p->options.slow_literals_only;
11141   const struct jitter_meta_instruction *mi = ins->meta_instruction;
11142   switch (mi->id)
11143     {
11144     case jitterlispvm_meta_instruction_id_at_mdepth_mto_mregister:
11145       return jitterlispvm_recognize_specialized_instruction_at_mdepth_mto_mregister (ins->parameters, fl);
11146     case jitterlispvm_meta_instruction_id_branch:
11147       return jitterlispvm_recognize_specialized_instruction_branch (ins->parameters, fl);
11148     case jitterlispvm_meta_instruction_id_branch_mif_mfalse:
11149       return jitterlispvm_recognize_specialized_instruction_branch_mif_mfalse (ins->parameters, fl);
11150     case jitterlispvm_meta_instruction_id_branch_mif_mnot_mless:
11151       return jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mless (ins->parameters, fl);
11152     case jitterlispvm_meta_instruction_id_branch_mif_mnot_mnull:
11153       return jitterlispvm_recognize_specialized_instruction_branch_mif_mnot_mnull (ins->parameters, fl);
11154     case jitterlispvm_meta_instruction_id_branch_mif_mnull:
11155       return jitterlispvm_recognize_specialized_instruction_branch_mif_mnull (ins->parameters, fl);
11156     case jitterlispvm_meta_instruction_id_branch_mif_mregister_mnon_mzero:
11157       return jitterlispvm_recognize_specialized_instruction_branch_mif_mregister_mnon_mzero (ins->parameters, fl);
11158     case jitterlispvm_meta_instruction_id_branch_mif_mtrue:
11159       return jitterlispvm_recognize_specialized_instruction_branch_mif_mtrue (ins->parameters, fl);
11160     case jitterlispvm_meta_instruction_id_call:
11161       return jitterlispvm_recognize_specialized_instruction_call (ins->parameters, fl);
11162     case jitterlispvm_meta_instruction_id_call_mcompiled:
11163       return jitterlispvm_recognize_specialized_instruction_call_mcompiled (ins->parameters, fl);
11164     case jitterlispvm_meta_instruction_id_call_mfrom_mc:
11165       return jitterlispvm_recognize_specialized_instruction_call_mfrom_mc (ins->parameters, fl);
11166     case jitterlispvm_meta_instruction_id_canonicalize_mboolean:
11167       return jitterlispvm_recognize_specialized_instruction_canonicalize_mboolean (ins->parameters, fl);
11168     case jitterlispvm_meta_instruction_id_check_mclosure:
11169       return jitterlispvm_recognize_specialized_instruction_check_mclosure (ins->parameters, fl);
11170     case jitterlispvm_meta_instruction_id_check_mglobal_mdefined:
11171       return jitterlispvm_recognize_specialized_instruction_check_mglobal_mdefined (ins->parameters, fl);
11172     case jitterlispvm_meta_instruction_id_check_min_marity:
11173       return jitterlispvm_recognize_specialized_instruction_check_min_marity (ins->parameters, fl);
11174     case jitterlispvm_meta_instruction_id_check_min_marity_m_malt:
11175       return jitterlispvm_recognize_specialized_instruction_check_min_marity_m_malt (ins->parameters, fl);
11176     case jitterlispvm_meta_instruction_id_copy_mfrom_mliteral:
11177       return jitterlispvm_recognize_specialized_instruction_copy_mfrom_mliteral (ins->parameters, fl);
11178     case jitterlispvm_meta_instruction_id_copy_mfrom_mregister:
11179       return jitterlispvm_recognize_specialized_instruction_copy_mfrom_mregister (ins->parameters, fl);
11180     case jitterlispvm_meta_instruction_id_copy_mto_mregister:
11181       return jitterlispvm_recognize_specialized_instruction_copy_mto_mregister (ins->parameters, fl);
11182     case jitterlispvm_meta_instruction_id_drop:
11183       return jitterlispvm_recognize_specialized_instruction_drop (ins->parameters, fl);
11184     case jitterlispvm_meta_instruction_id_drop_mnip:
11185       return jitterlispvm_recognize_specialized_instruction_drop_mnip (ins->parameters, fl);
11186     case jitterlispvm_meta_instruction_id_dup:
11187       return jitterlispvm_recognize_specialized_instruction_dup (ins->parameters, fl);
11188     case jitterlispvm_meta_instruction_id_exitvm:
11189       return jitterlispvm_recognize_specialized_instruction_exitvm (ins->parameters, fl);
11190     case jitterlispvm_meta_instruction_id_fail:
11191       return jitterlispvm_recognize_specialized_instruction_fail (ins->parameters, fl);
11192     case jitterlispvm_meta_instruction_id_gc_mif_mneeded:
11193       return jitterlispvm_recognize_specialized_instruction_gc_mif_mneeded (ins->parameters, fl);
11194     case jitterlispvm_meta_instruction_id_heap_mallocate:
11195       return jitterlispvm_recognize_specialized_instruction_heap_mallocate (ins->parameters, fl);
11196     case jitterlispvm_meta_instruction_id_literal_mto_mregister:
11197       return jitterlispvm_recognize_specialized_instruction_literal_mto_mregister (ins->parameters, fl);
11198     case jitterlispvm_meta_instruction_id_nip:
11199       return jitterlispvm_recognize_specialized_instruction_nip (ins->parameters, fl);
11200     case jitterlispvm_meta_instruction_id_nip_mdrop:
11201       return jitterlispvm_recognize_specialized_instruction_nip_mdrop (ins->parameters, fl);
11202     case jitterlispvm_meta_instruction_id_nip_mfive:
11203       return jitterlispvm_recognize_specialized_instruction_nip_mfive (ins->parameters, fl);
11204     case jitterlispvm_meta_instruction_id_nip_mfive_mdrop:
11205       return jitterlispvm_recognize_specialized_instruction_nip_mfive_mdrop (ins->parameters, fl);
11206     case jitterlispvm_meta_instruction_id_nip_mfour:
11207       return jitterlispvm_recognize_specialized_instruction_nip_mfour (ins->parameters, fl);
11208     case jitterlispvm_meta_instruction_id_nip_mfour_mdrop:
11209       return jitterlispvm_recognize_specialized_instruction_nip_mfour_mdrop (ins->parameters, fl);
11210     case jitterlispvm_meta_instruction_id_nip_mpush_mliteral:
11211       return jitterlispvm_recognize_specialized_instruction_nip_mpush_mliteral (ins->parameters, fl);
11212     case jitterlispvm_meta_instruction_id_nip_mpush_mregister:
11213       return jitterlispvm_recognize_specialized_instruction_nip_mpush_mregister (ins->parameters, fl);
11214     case jitterlispvm_meta_instruction_id_nip_msix:
11215       return jitterlispvm_recognize_specialized_instruction_nip_msix (ins->parameters, fl);
11216     case jitterlispvm_meta_instruction_id_nip_msix_mdrop:
11217       return jitterlispvm_recognize_specialized_instruction_nip_msix_mdrop (ins->parameters, fl);
11218     case jitterlispvm_meta_instruction_id_nip_mthree:
11219       return jitterlispvm_recognize_specialized_instruction_nip_mthree (ins->parameters, fl);
11220     case jitterlispvm_meta_instruction_id_nip_mthree_mdrop:
11221       return jitterlispvm_recognize_specialized_instruction_nip_mthree_mdrop (ins->parameters, fl);
11222     case jitterlispvm_meta_instruction_id_nip_mtwo:
11223       return jitterlispvm_recognize_specialized_instruction_nip_mtwo (ins->parameters, fl);
11224     case jitterlispvm_meta_instruction_id_nip_mtwo_mdrop:
11225       return jitterlispvm_recognize_specialized_instruction_nip_mtwo_mdrop (ins->parameters, fl);
11226     case jitterlispvm_meta_instruction_id_nop:
11227       return jitterlispvm_recognize_specialized_instruction_nop (ins->parameters, fl);
11228     case jitterlispvm_meta_instruction_id_pop_mto_mglobal:
11229       return jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal (ins->parameters, fl);
11230     case jitterlispvm_meta_instruction_id_pop_mto_mglobal_mdefined:
11231       return jitterlispvm_recognize_specialized_instruction_pop_mto_mglobal_mdefined (ins->parameters, fl);
11232     case jitterlispvm_meta_instruction_id_pop_mto_mregister:
11233       return jitterlispvm_recognize_specialized_instruction_pop_mto_mregister (ins->parameters, fl);
11234     case jitterlispvm_meta_instruction_id_primitive:
11235       return jitterlispvm_recognize_specialized_instruction_primitive (ins->parameters, fl);
11236     case jitterlispvm_meta_instruction_id_primitive_mboolean_mcanonicalize:
11237       return jitterlispvm_recognize_specialized_instruction_primitive_mboolean_mcanonicalize (ins->parameters, fl);
11238     case jitterlispvm_meta_instruction_id_primitive_mbox:
11239       return jitterlispvm_recognize_specialized_instruction_primitive_mbox (ins->parameters, fl);
11240     case jitterlispvm_meta_instruction_id_primitive_mbox_mget:
11241       return jitterlispvm_recognize_specialized_instruction_primitive_mbox_mget (ins->parameters, fl);
11242     case jitterlispvm_meta_instruction_id_primitive_mbox_msetb_mspecial:
11243       return jitterlispvm_recognize_specialized_instruction_primitive_mbox_msetb_mspecial (ins->parameters, fl);
11244     case jitterlispvm_meta_instruction_id_primitive_mcar:
11245       return jitterlispvm_recognize_specialized_instruction_primitive_mcar (ins->parameters, fl);
11246     case jitterlispvm_meta_instruction_id_primitive_mcdr:
11247       return jitterlispvm_recognize_specialized_instruction_primitive_mcdr (ins->parameters, fl);
11248     case jitterlispvm_meta_instruction_id_primitive_mcharacterp:
11249       return jitterlispvm_recognize_specialized_instruction_primitive_mcharacterp (ins->parameters, fl);
11250     case jitterlispvm_meta_instruction_id_primitive_mcons_mspecial:
11251       return jitterlispvm_recognize_specialized_instruction_primitive_mcons_mspecial (ins->parameters, fl);
11252     case jitterlispvm_meta_instruction_id_primitive_mconsp:
11253       return jitterlispvm_recognize_specialized_instruction_primitive_mconsp (ins->parameters, fl);
11254     case jitterlispvm_meta_instruction_id_primitive_meqp:
11255       return jitterlispvm_recognize_specialized_instruction_primitive_meqp (ins->parameters, fl);
11256     case jitterlispvm_meta_instruction_id_primitive_mfixnum_meqp:
11257       return jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_meqp (ins->parameters, fl);
11258     case jitterlispvm_meta_instruction_id_primitive_mfixnum_mnot_meqp:
11259       return jitterlispvm_recognize_specialized_instruction_primitive_mfixnum_mnot_meqp (ins->parameters, fl);
11260     case jitterlispvm_meta_instruction_id_primitive_mfixnump:
11261       return jitterlispvm_recognize_specialized_instruction_primitive_mfixnump (ins->parameters, fl);
11262     case jitterlispvm_meta_instruction_id_primitive_mgreaterp:
11263       return jitterlispvm_recognize_specialized_instruction_primitive_mgreaterp (ins->parameters, fl);
11264     case jitterlispvm_meta_instruction_id_primitive_mlessp:
11265       return jitterlispvm_recognize_specialized_instruction_primitive_mlessp (ins->parameters, fl);
11266     case jitterlispvm_meta_instruction_id_primitive_mnegate:
11267       return jitterlispvm_recognize_specialized_instruction_primitive_mnegate (ins->parameters, fl);
11268     case jitterlispvm_meta_instruction_id_primitive_mnegativep:
11269       return jitterlispvm_recognize_specialized_instruction_primitive_mnegativep (ins->parameters, fl);
11270     case jitterlispvm_meta_instruction_id_primitive_mnon_mconsp:
11271       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_mconsp (ins->parameters, fl);
11272     case jitterlispvm_meta_instruction_id_primitive_mnon_mnegativep:
11273       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnegativep (ins->parameters, fl);
11274     case jitterlispvm_meta_instruction_id_primitive_mnon_mnullp:
11275       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_mnullp (ins->parameters, fl);
11276     case jitterlispvm_meta_instruction_id_primitive_mnon_mpositivep:
11277       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_mpositivep (ins->parameters, fl);
11278     case jitterlispvm_meta_instruction_id_primitive_mnon_msymbolp:
11279       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_msymbolp (ins->parameters, fl);
11280     case jitterlispvm_meta_instruction_id_primitive_mnon_mzerop:
11281       return jitterlispvm_recognize_specialized_instruction_primitive_mnon_mzerop (ins->parameters, fl);
11282     case jitterlispvm_meta_instruction_id_primitive_mnot:
11283       return jitterlispvm_recognize_specialized_instruction_primitive_mnot (ins->parameters, fl);
11284     case jitterlispvm_meta_instruction_id_primitive_mnot_meqp:
11285       return jitterlispvm_recognize_specialized_instruction_primitive_mnot_meqp (ins->parameters, fl);
11286     case jitterlispvm_meta_instruction_id_primitive_mnot_mgreaterp:
11287       return jitterlispvm_recognize_specialized_instruction_primitive_mnot_mgreaterp (ins->parameters, fl);
11288     case jitterlispvm_meta_instruction_id_primitive_mnot_mlessp:
11289       return jitterlispvm_recognize_specialized_instruction_primitive_mnot_mlessp (ins->parameters, fl);
11290     case jitterlispvm_meta_instruction_id_primitive_mnothingp:
11291       return jitterlispvm_recognize_specialized_instruction_primitive_mnothingp (ins->parameters, fl);
11292     case jitterlispvm_meta_instruction_id_primitive_mnullp:
11293       return jitterlispvm_recognize_specialized_instruction_primitive_mnullp (ins->parameters, fl);
11294     case jitterlispvm_meta_instruction_id_primitive_mone_mminus:
11295       return jitterlispvm_recognize_specialized_instruction_primitive_mone_mminus (ins->parameters, fl);
11296     case jitterlispvm_meta_instruction_id_primitive_mone_mplus:
11297       return jitterlispvm_recognize_specialized_instruction_primitive_mone_mplus (ins->parameters, fl);
11298     case jitterlispvm_meta_instruction_id_primitive_mpositivep:
11299       return jitterlispvm_recognize_specialized_instruction_primitive_mpositivep (ins->parameters, fl);
11300     case jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided:
11301       return jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided (ins->parameters, fl);
11302     case jitterlispvm_meta_instruction_id_primitive_mprimordial_mdivided_munsafe:
11303       return jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mdivided_munsafe (ins->parameters, fl);
11304     case jitterlispvm_meta_instruction_id_primitive_mprimordial_mminus:
11305       return jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mminus (ins->parameters, fl);
11306     case jitterlispvm_meta_instruction_id_primitive_mprimordial_mplus:
11307       return jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mplus (ins->parameters, fl);
11308     case jitterlispvm_meta_instruction_id_primitive_mprimordial_mtimes:
11309       return jitterlispvm_recognize_specialized_instruction_primitive_mprimordial_mtimes (ins->parameters, fl);
11310     case jitterlispvm_meta_instruction_id_primitive_mquotient:
11311       return jitterlispvm_recognize_specialized_instruction_primitive_mquotient (ins->parameters, fl);
11312     case jitterlispvm_meta_instruction_id_primitive_mquotient_munsafe:
11313       return jitterlispvm_recognize_specialized_instruction_primitive_mquotient_munsafe (ins->parameters, fl);
11314     case jitterlispvm_meta_instruction_id_primitive_mremainder:
11315       return jitterlispvm_recognize_specialized_instruction_primitive_mremainder (ins->parameters, fl);
11316     case jitterlispvm_meta_instruction_id_primitive_mremainder_munsafe:
11317       return jitterlispvm_recognize_specialized_instruction_primitive_mremainder_munsafe (ins->parameters, fl);
11318     case jitterlispvm_meta_instruction_id_primitive_mset_mcarb_mspecial:
11319       return jitterlispvm_recognize_specialized_instruction_primitive_mset_mcarb_mspecial (ins->parameters, fl);
11320     case jitterlispvm_meta_instruction_id_primitive_mset_mcdrb_mspecial:
11321       return jitterlispvm_recognize_specialized_instruction_primitive_mset_mcdrb_mspecial (ins->parameters, fl);
11322     case jitterlispvm_meta_instruction_id_primitive_msymbolp:
11323       return jitterlispvm_recognize_specialized_instruction_primitive_msymbolp (ins->parameters, fl);
11324     case jitterlispvm_meta_instruction_id_primitive_mtwo_mdivided:
11325       return jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mdivided (ins->parameters, fl);
11326     case jitterlispvm_meta_instruction_id_primitive_mtwo_mquotient:
11327       return jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mquotient (ins->parameters, fl);
11328     case jitterlispvm_meta_instruction_id_primitive_mtwo_mremainder:
11329       return jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mremainder (ins->parameters, fl);
11330     case jitterlispvm_meta_instruction_id_primitive_mtwo_mtimes:
11331       return jitterlispvm_recognize_specialized_instruction_primitive_mtwo_mtimes (ins->parameters, fl);
11332     case jitterlispvm_meta_instruction_id_primitive_muniquep:
11333       return jitterlispvm_recognize_specialized_instruction_primitive_muniquep (ins->parameters, fl);
11334     case jitterlispvm_meta_instruction_id_primitive_mzerop:
11335       return jitterlispvm_recognize_specialized_instruction_primitive_mzerop (ins->parameters, fl);
11336     case jitterlispvm_meta_instruction_id_procedure_mprolog:
11337       return jitterlispvm_recognize_specialized_instruction_procedure_mprolog (ins->parameters, fl);
11338     case jitterlispvm_meta_instruction_id_push_mfalse:
11339       return jitterlispvm_recognize_specialized_instruction_push_mfalse (ins->parameters, fl);
11340     case jitterlispvm_meta_instruction_id_push_mglobal:
11341       return jitterlispvm_recognize_specialized_instruction_push_mglobal (ins->parameters, fl);
11342     case jitterlispvm_meta_instruction_id_push_mliteral:
11343       return jitterlispvm_recognize_specialized_instruction_push_mliteral (ins->parameters, fl);
11344     case jitterlispvm_meta_instruction_id_push_mnil:
11345       return jitterlispvm_recognize_specialized_instruction_push_mnil (ins->parameters, fl);
11346     case jitterlispvm_meta_instruction_id_push_mnothing:
11347       return jitterlispvm_recognize_specialized_instruction_push_mnothing (ins->parameters, fl);
11348     case jitterlispvm_meta_instruction_id_push_mone:
11349       return jitterlispvm_recognize_specialized_instruction_push_mone (ins->parameters, fl);
11350     case jitterlispvm_meta_instruction_id_push_mregister:
11351       return jitterlispvm_recognize_specialized_instruction_push_mregister (ins->parameters, fl);
11352     case jitterlispvm_meta_instruction_id_push_munspecified:
11353       return jitterlispvm_recognize_specialized_instruction_push_munspecified (ins->parameters, fl);
11354     case jitterlispvm_meta_instruction_id_push_mzero:
11355       return jitterlispvm_recognize_specialized_instruction_push_mzero (ins->parameters, fl);
11356     case jitterlispvm_meta_instruction_id_register_mto_mregister:
11357       return jitterlispvm_recognize_specialized_instruction_register_mto_mregister (ins->parameters, fl);
11358     case jitterlispvm_meta_instruction_id_restore_mregister:
11359       return jitterlispvm_recognize_specialized_instruction_restore_mregister (ins->parameters, fl);
11360     case jitterlispvm_meta_instruction_id_return:
11361       return jitterlispvm_recognize_specialized_instruction_return (ins->parameters, fl);
11362     case jitterlispvm_meta_instruction_id_save_mregister:
11363       return jitterlispvm_recognize_specialized_instruction_save_mregister (ins->parameters, fl);
11364     case jitterlispvm_meta_instruction_id_tail_mcall:
11365       return jitterlispvm_recognize_specialized_instruction_tail_mcall (ins->parameters, fl);
11366     case jitterlispvm_meta_instruction_id_tail_mcall_mcompiled:
11367       return jitterlispvm_recognize_specialized_instruction_tail_mcall_mcompiled (ins->parameters, fl);
11368     case jitterlispvm_meta_instruction_id_unreachable:
11369       return jitterlispvm_recognize_specialized_instruction_unreachable (ins->parameters, fl);
11370     default:
11371       jitter_fatal ("invalid meta-instruction id %i", (int)mi->id);
11372     }
11373   __builtin_unreachable ();
11374 }
11375 
11376 /* Specializer entry point: the only non-static function here. */
11377 int
jitterlispvm_specialize_instruction(struct jitter_mutable_routine * p,const struct jitter_instruction * ins)11378 jitterlispvm_specialize_instruction (struct jitter_mutable_routine *p,
11379                                  const struct jitter_instruction *ins)
11380 {
11381   enum jitterlispvm_specialized_instruction_opcode opcode
11382     = jitterlispvm_recognize_specialized_instruction (p, ins);
11383   if (opcode == jitterlispvm_specialized_instruction_opcode__eINVALID)
11384     jitter_fatal ("specialization failed: %s", ins->meta_instruction->name);
11385 
11386 #ifdef JITTER_HAVE_PATCH_IN
11387   /* Replace the opcode with its non-defective counterpart. */
11388   opcode = jitterlispvm_defect_table [opcode];
11389 #endif // #ifdef JITTER_HAVE_PATCH_IN
11390 
11391   jitter_add_specialized_instruction_opcode (p, opcode);
11392 
11393 
11394   /* FIXME: in the old shell-based generator I grouped specialized instructions by
11395      their "residual parameter map", yielding a switch with a lot of different
11396      specialized instructions mapping to the same case.  I should redo that here. */
11397   switch (opcode)
11398     {
11399     case jitterlispvm_specialized_instruction_opcode__eINVALID:
11400       break;
11401 
11402     case jitterlispvm_specialized_instruction_opcode__eBEGINBASICBLOCK:
11403       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11404       break;
11405 
11406     case jitterlispvm_specialized_instruction_opcode__eEXITVM:
11407       break;
11408 
11409     case jitterlispvm_specialized_instruction_opcode__eDATALOCATIONS:
11410       break;
11411 
11412     case jitterlispvm_specialized_instruction_opcode__eNOP:
11413       break;
11414 
11415     case jitterlispvm_specialized_instruction_opcode__eUNREACHABLE0:
11416       break;
11417 
11418     case jitterlispvm_specialized_instruction_opcode__eUNREACHABLE1:
11419       break;
11420 
11421     case jitterlispvm_specialized_instruction_opcode__eUNREACHABLE2:
11422       break;
11423 
11424     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n1___rrR:
11425       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11426       break;
11427 
11428     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n2___rrR:
11429       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11430       break;
11431 
11432     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n3___rrR:
11433       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11434       break;
11435 
11436     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n4___rrR:
11437       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11438       break;
11439 
11440     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n5___rrR:
11441       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11442       break;
11443 
11444     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n6___rrR:
11445       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11446       break;
11447 
11448     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n7___rrR:
11449       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11450       break;
11451 
11452     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n8___rrR:
11453       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11454       break;
11455 
11456     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n9___rrR:
11457       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11458       break;
11459 
11460     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__n10___rrR:
11461       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11462       break;
11463 
11464     case jitterlispvm_specialized_instruction_opcode_at_mdepth_mto_mregister__nR___rrR:
11465       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11466       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11467       break;
11468 
11469     case jitterlispvm_specialized_instruction_opcode_branch__fR:
11470       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11471       break;
11472 
11473     case jitterlispvm_specialized_instruction_opcode_branch_mif_mfalse__fR:
11474       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11475       break;
11476 
11477     case jitterlispvm_specialized_instruction_opcode_branch_mif_mnot_mless__fR__fR:
11478       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11479       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11480       break;
11481 
11482     case jitterlispvm_specialized_instruction_opcode_branch_mif_mnot_mnull__fR:
11483       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11484       break;
11485 
11486     case jitterlispvm_specialized_instruction_opcode_branch_mif_mnull__fR:
11487       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11488       break;
11489 
11490     case jitterlispvm_specialized_instruction_opcode_branch_mif_mregister_mnon_mzero___rrR__fR__fR:
11491       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
11492       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11493       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11494       break;
11495 
11496     case jitterlispvm_specialized_instruction_opcode_branch_mif_mtrue__fR:
11497       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11498       break;
11499 
11500     case jitterlispvm_specialized_instruction_opcode_call__n0__retR:
11501       /* Caller instruction: make place for the return address,
11502          whose correct value will be patched in at specialization time. */
11503       jitter_add_specialized_instruction_literal (p, -1);
11504       break;
11505 
11506     case jitterlispvm_specialized_instruction_opcode_call__n1__retR:
11507       /* Caller instruction: make place for the return address,
11508          whose correct value will be patched in at specialization time. */
11509       jitter_add_specialized_instruction_literal (p, -1);
11510       break;
11511 
11512     case jitterlispvm_specialized_instruction_opcode_call__n2__retR:
11513       /* Caller instruction: make place for the return address,
11514          whose correct value will be patched in at specialization time. */
11515       jitter_add_specialized_instruction_literal (p, -1);
11516       break;
11517 
11518     case jitterlispvm_specialized_instruction_opcode_call__n3__retR:
11519       /* Caller instruction: make place for the return address,
11520          whose correct value will be patched in at specialization time. */
11521       jitter_add_specialized_instruction_literal (p, -1);
11522       break;
11523 
11524     case jitterlispvm_specialized_instruction_opcode_call__n4__retR:
11525       /* Caller instruction: make place for the return address,
11526          whose correct value will be patched in at specialization time. */
11527       jitter_add_specialized_instruction_literal (p, -1);
11528       break;
11529 
11530     case jitterlispvm_specialized_instruction_opcode_call__n5__retR:
11531       /* Caller instruction: make place for the return address,
11532          whose correct value will be patched in at specialization time. */
11533       jitter_add_specialized_instruction_literal (p, -1);
11534       break;
11535 
11536     case jitterlispvm_specialized_instruction_opcode_call__n6__retR:
11537       /* Caller instruction: make place for the return address,
11538          whose correct value will be patched in at specialization time. */
11539       jitter_add_specialized_instruction_literal (p, -1);
11540       break;
11541 
11542     case jitterlispvm_specialized_instruction_opcode_call__n7__retR:
11543       /* Caller instruction: make place for the return address,
11544          whose correct value will be patched in at specialization time. */
11545       jitter_add_specialized_instruction_literal (p, -1);
11546       break;
11547 
11548     case jitterlispvm_specialized_instruction_opcode_call__n8__retR:
11549       /* Caller instruction: make place for the return address,
11550          whose correct value will be patched in at specialization time. */
11551       jitter_add_specialized_instruction_literal (p, -1);
11552       break;
11553 
11554     case jitterlispvm_specialized_instruction_opcode_call__n9__retR:
11555       /* Caller instruction: make place for the return address,
11556          whose correct value will be patched in at specialization time. */
11557       jitter_add_specialized_instruction_literal (p, -1);
11558       break;
11559 
11560     case jitterlispvm_specialized_instruction_opcode_call__n10__retR:
11561       /* Caller instruction: make place for the return address,
11562          whose correct value will be patched in at specialization time. */
11563       jitter_add_specialized_instruction_literal (p, -1);
11564       break;
11565 
11566     case jitterlispvm_specialized_instruction_opcode_call__nR__retR:
11567       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11568       /* Caller instruction: make place for the return address,
11569          whose correct value will be patched in at specialization time. */
11570       jitter_add_specialized_instruction_literal (p, -1);
11571       break;
11572 
11573     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n0__retR:
11574       /* Caller instruction: make place for the return address,
11575          whose correct value will be patched in at specialization time. */
11576       jitter_add_specialized_instruction_literal (p, -1);
11577       break;
11578 
11579     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n1__retR:
11580       /* Caller instruction: make place for the return address,
11581          whose correct value will be patched in at specialization time. */
11582       jitter_add_specialized_instruction_literal (p, -1);
11583       break;
11584 
11585     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n2__retR:
11586       /* Caller instruction: make place for the return address,
11587          whose correct value will be patched in at specialization time. */
11588       jitter_add_specialized_instruction_literal (p, -1);
11589       break;
11590 
11591     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n3__retR:
11592       /* Caller instruction: make place for the return address,
11593          whose correct value will be patched in at specialization time. */
11594       jitter_add_specialized_instruction_literal (p, -1);
11595       break;
11596 
11597     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n4__retR:
11598       /* Caller instruction: make place for the return address,
11599          whose correct value will be patched in at specialization time. */
11600       jitter_add_specialized_instruction_literal (p, -1);
11601       break;
11602 
11603     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n5__retR:
11604       /* Caller instruction: make place for the return address,
11605          whose correct value will be patched in at specialization time. */
11606       jitter_add_specialized_instruction_literal (p, -1);
11607       break;
11608 
11609     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n6__retR:
11610       /* Caller instruction: make place for the return address,
11611          whose correct value will be patched in at specialization time. */
11612       jitter_add_specialized_instruction_literal (p, -1);
11613       break;
11614 
11615     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n7__retR:
11616       /* Caller instruction: make place for the return address,
11617          whose correct value will be patched in at specialization time. */
11618       jitter_add_specialized_instruction_literal (p, -1);
11619       break;
11620 
11621     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n8__retR:
11622       /* Caller instruction: make place for the return address,
11623          whose correct value will be patched in at specialization time. */
11624       jitter_add_specialized_instruction_literal (p, -1);
11625       break;
11626 
11627     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n9__retR:
11628       /* Caller instruction: make place for the return address,
11629          whose correct value will be patched in at specialization time. */
11630       jitter_add_specialized_instruction_literal (p, -1);
11631       break;
11632 
11633     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__n10__retR:
11634       /* Caller instruction: make place for the return address,
11635          whose correct value will be patched in at specialization time. */
11636       jitter_add_specialized_instruction_literal (p, -1);
11637       break;
11638 
11639     case jitterlispvm_specialized_instruction_opcode_call_mcompiled__nR__retR:
11640       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11641       /* Caller instruction: make place for the return address,
11642          whose correct value will be patched in at specialization time. */
11643       jitter_add_specialized_instruction_literal (p, -1);
11644       break;
11645 
11646     case jitterlispvm_specialized_instruction_opcode_call_mfrom_mc__retR:
11647       /* Caller instruction: make place for the return address,
11648          whose correct value will be patched in at specialization time. */
11649       jitter_add_specialized_instruction_literal (p, -1);
11650       break;
11651 
11652     case jitterlispvm_specialized_instruction_opcode_canonicalize_mboolean:
11653       break;
11654 
11655     case jitterlispvm_specialized_instruction_opcode_check_mclosure__fR:
11656       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11657       break;
11658 
11659     case jitterlispvm_specialized_instruction_opcode_check_mglobal_mdefined__nR__fR:
11660       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11661       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11662       break;
11663 
11664     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n0__fR:
11665       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11666       break;
11667 
11668     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n1__fR:
11669       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11670       break;
11671 
11672     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n2__fR:
11673       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11674       break;
11675 
11676     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n3__fR:
11677       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11678       break;
11679 
11680     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n4__fR:
11681       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11682       break;
11683 
11684     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n5__fR:
11685       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11686       break;
11687 
11688     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n6__fR:
11689       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11690       break;
11691 
11692     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n7__fR:
11693       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11694       break;
11695 
11696     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n8__fR:
11697       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11698       break;
11699 
11700     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n9__fR:
11701       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11702       break;
11703 
11704     case jitterlispvm_specialized_instruction_opcode_check_min_marity__n10__fR:
11705       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11706       break;
11707 
11708     case jitterlispvm_specialized_instruction_opcode_check_min_marity__nR__fR:
11709       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11710       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11711       break;
11712 
11713     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n0__fR:
11714       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11715       break;
11716 
11717     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n1__fR:
11718       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11719       break;
11720 
11721     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n2__fR:
11722       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11723       break;
11724 
11725     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n3__fR:
11726       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11727       break;
11728 
11729     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n4__fR:
11730       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11731       break;
11732 
11733     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n5__fR:
11734       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11735       break;
11736 
11737     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n6__fR:
11738       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11739       break;
11740 
11741     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n7__fR:
11742       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11743       break;
11744 
11745     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n8__fR:
11746       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11747       break;
11748 
11749     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n9__fR:
11750       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11751       break;
11752 
11753     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__n10__fR:
11754       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11755       break;
11756 
11757     case jitterlispvm_specialized_instruction_opcode_check_min_marity_m_malt__nR__fR:
11758       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11759       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11760       break;
11761 
11762     case jitterlispvm_specialized_instruction_opcode_copy_mfrom_mliteral__nR:
11763       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11764       break;
11765 
11766     case jitterlispvm_specialized_instruction_opcode_copy_mfrom_mregister___rrR:
11767       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
11768       break;
11769 
11770     case jitterlispvm_specialized_instruction_opcode_copy_mto_mregister___rrR:
11771       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
11772       break;
11773 
11774     case jitterlispvm_specialized_instruction_opcode_drop:
11775       break;
11776 
11777     case jitterlispvm_specialized_instruction_opcode_drop_mnip:
11778       break;
11779 
11780     case jitterlispvm_specialized_instruction_opcode_dup:
11781       break;
11782 
11783     case jitterlispvm_specialized_instruction_opcode_exitvm:
11784       break;
11785 
11786     case jitterlispvm_specialized_instruction_opcode_fail__retR:
11787       /* Non-relocatable instruction: make place for the return label,
11788          whose correct value will be patched in at specialization time. */
11789       jitter_add_specialized_instruction_literal (p, -1);
11790       break;
11791 
11792     case jitterlispvm_specialized_instruction_opcode_gc_mif_mneeded__fR:
11793       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11794       break;
11795 
11796     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n4:
11797       break;
11798 
11799     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n8:
11800       break;
11801 
11802     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n12:
11803       break;
11804 
11805     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n16:
11806       break;
11807 
11808     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n24:
11809       break;
11810 
11811     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n32:
11812       break;
11813 
11814     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n36:
11815       break;
11816 
11817     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n48:
11818       break;
11819 
11820     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n52:
11821       break;
11822 
11823     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__n64:
11824       break;
11825 
11826     case jitterlispvm_specialized_instruction_opcode_heap_mallocate__nR:
11827       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11828       break;
11829 
11830     case jitterlispvm_specialized_instruction_opcode_literal_mto_mregister__nR___rrR:
11831       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11832       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
11833       break;
11834 
11835     case jitterlispvm_specialized_instruction_opcode_nip:
11836       break;
11837 
11838     case jitterlispvm_specialized_instruction_opcode_nip_mdrop:
11839       break;
11840 
11841     case jitterlispvm_specialized_instruction_opcode_nip_mfive:
11842       break;
11843 
11844     case jitterlispvm_specialized_instruction_opcode_nip_mfive_mdrop:
11845       break;
11846 
11847     case jitterlispvm_specialized_instruction_opcode_nip_mfour:
11848       break;
11849 
11850     case jitterlispvm_specialized_instruction_opcode_nip_mfour_mdrop:
11851       break;
11852 
11853     case jitterlispvm_specialized_instruction_opcode_nip_mpush_mliteral__nR:
11854       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11855       break;
11856 
11857     case jitterlispvm_specialized_instruction_opcode_nip_mpush_mregister___rrR:
11858       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
11859       break;
11860 
11861     case jitterlispvm_specialized_instruction_opcode_nip_msix:
11862       break;
11863 
11864     case jitterlispvm_specialized_instruction_opcode_nip_msix_mdrop:
11865       break;
11866 
11867     case jitterlispvm_specialized_instruction_opcode_nip_mthree:
11868       break;
11869 
11870     case jitterlispvm_specialized_instruction_opcode_nip_mthree_mdrop:
11871       break;
11872 
11873     case jitterlispvm_specialized_instruction_opcode_nip_mtwo:
11874       break;
11875 
11876     case jitterlispvm_specialized_instruction_opcode_nip_mtwo_mdrop:
11877       break;
11878 
11879     case jitterlispvm_specialized_instruction_opcode_nop:
11880       break;
11881 
11882     case jitterlispvm_specialized_instruction_opcode_pop_mto_mglobal__nR__fR:
11883       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11884       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11885       break;
11886 
11887     case jitterlispvm_specialized_instruction_opcode_pop_mto_mglobal_mdefined__nR__fR:
11888       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11889       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
11890       break;
11891 
11892     case jitterlispvm_specialized_instruction_opcode_pop_mto_mregister___rrR:
11893       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
11894       break;
11895 
11896     case jitterlispvm_specialized_instruction_opcode_primitive__nR__n0__fR:
11897       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11898       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11899       break;
11900 
11901     case jitterlispvm_specialized_instruction_opcode_primitive__nR__n1__fR:
11902       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11903       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11904       break;
11905 
11906     case jitterlispvm_specialized_instruction_opcode_primitive__nR__n2__fR:
11907       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11908       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11909       break;
11910 
11911     case jitterlispvm_specialized_instruction_opcode_primitive__nR__n3__fR:
11912       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11913       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11914       break;
11915 
11916     case jitterlispvm_specialized_instruction_opcode_primitive__nR__n4__fR:
11917       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11918       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11919       break;
11920 
11921     case jitterlispvm_specialized_instruction_opcode_primitive__nR__nR__fR:
11922       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
11923       jitter_add_specialized_instruction_literal (p, ins->parameters[1]->literal.ufixnum);
11924       jitter_add_specialized_instruction_label_index (p, ins->parameters[2]->label_as_index);
11925       break;
11926 
11927     case jitterlispvm_specialized_instruction_opcode_primitive_mboolean_mcanonicalize:
11928       break;
11929 
11930     case jitterlispvm_specialized_instruction_opcode_primitive_mbox:
11931       break;
11932 
11933     case jitterlispvm_specialized_instruction_opcode_primitive_mbox_mget__fR:
11934       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11935       break;
11936 
11937     case jitterlispvm_specialized_instruction_opcode_primitive_mbox_msetb_mspecial__fR:
11938       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11939       break;
11940 
11941     case jitterlispvm_specialized_instruction_opcode_primitive_mcar__fR:
11942       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11943       break;
11944 
11945     case jitterlispvm_specialized_instruction_opcode_primitive_mcdr__fR:
11946       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11947       break;
11948 
11949     case jitterlispvm_specialized_instruction_opcode_primitive_mcharacterp:
11950       break;
11951 
11952     case jitterlispvm_specialized_instruction_opcode_primitive_mcons_mspecial:
11953       break;
11954 
11955     case jitterlispvm_specialized_instruction_opcode_primitive_mconsp:
11956       break;
11957 
11958     case jitterlispvm_specialized_instruction_opcode_primitive_meqp:
11959       break;
11960 
11961     case jitterlispvm_specialized_instruction_opcode_primitive_mfixnum_meqp__fR:
11962       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11963       break;
11964 
11965     case jitterlispvm_specialized_instruction_opcode_primitive_mfixnum_mnot_meqp__fR:
11966       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11967       break;
11968 
11969     case jitterlispvm_specialized_instruction_opcode_primitive_mfixnump:
11970       break;
11971 
11972     case jitterlispvm_specialized_instruction_opcode_primitive_mgreaterp__fR:
11973       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11974       break;
11975 
11976     case jitterlispvm_specialized_instruction_opcode_primitive_mlessp__fR:
11977       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11978       break;
11979 
11980     case jitterlispvm_specialized_instruction_opcode_primitive_mnegate__fR:
11981       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11982       break;
11983 
11984     case jitterlispvm_specialized_instruction_opcode_primitive_mnegativep__fR:
11985       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11986       break;
11987 
11988     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_mconsp:
11989       break;
11990 
11991     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_mnegativep__fR:
11992       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
11993       break;
11994 
11995     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_mnullp:
11996       break;
11997 
11998     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_mpositivep__fR:
11999       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12000       break;
12001 
12002     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_msymbolp:
12003       break;
12004 
12005     case jitterlispvm_specialized_instruction_opcode_primitive_mnon_mzerop__fR:
12006       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12007       break;
12008 
12009     case jitterlispvm_specialized_instruction_opcode_primitive_mnot:
12010       break;
12011 
12012     case jitterlispvm_specialized_instruction_opcode_primitive_mnot_meqp:
12013       break;
12014 
12015     case jitterlispvm_specialized_instruction_opcode_primitive_mnot_mgreaterp__fR:
12016       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12017       break;
12018 
12019     case jitterlispvm_specialized_instruction_opcode_primitive_mnot_mlessp__fR:
12020       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12021       break;
12022 
12023     case jitterlispvm_specialized_instruction_opcode_primitive_mnothingp:
12024       break;
12025 
12026     case jitterlispvm_specialized_instruction_opcode_primitive_mnullp:
12027       break;
12028 
12029     case jitterlispvm_specialized_instruction_opcode_primitive_mone_mminus__fR:
12030       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12031       break;
12032 
12033     case jitterlispvm_specialized_instruction_opcode_primitive_mone_mplus__fR:
12034       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12035       break;
12036 
12037     case jitterlispvm_specialized_instruction_opcode_primitive_mpositivep__fR:
12038       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12039       break;
12040 
12041     case jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mdivided__fR:
12042       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12043       break;
12044 
12045     case jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mdivided_munsafe__fR:
12046       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12047       break;
12048 
12049     case jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mminus__fR:
12050       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12051       break;
12052 
12053     case jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mplus__fR:
12054       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12055       break;
12056 
12057     case jitterlispvm_specialized_instruction_opcode_primitive_mprimordial_mtimes__fR:
12058       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12059       break;
12060 
12061     case jitterlispvm_specialized_instruction_opcode_primitive_mquotient__fR:
12062       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12063       break;
12064 
12065     case jitterlispvm_specialized_instruction_opcode_primitive_mquotient_munsafe__fR:
12066       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12067       break;
12068 
12069     case jitterlispvm_specialized_instruction_opcode_primitive_mremainder__fR:
12070       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12071       break;
12072 
12073     case jitterlispvm_specialized_instruction_opcode_primitive_mremainder_munsafe__fR:
12074       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12075       break;
12076 
12077     case jitterlispvm_specialized_instruction_opcode_primitive_mset_mcarb_mspecial__fR:
12078       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12079       break;
12080 
12081     case jitterlispvm_specialized_instruction_opcode_primitive_mset_mcdrb_mspecial__fR:
12082       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12083       break;
12084 
12085     case jitterlispvm_specialized_instruction_opcode_primitive_msymbolp:
12086       break;
12087 
12088     case jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mdivided__fR:
12089       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12090       break;
12091 
12092     case jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mquotient__fR:
12093       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12094       break;
12095 
12096     case jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mremainder__fR:
12097       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12098       break;
12099 
12100     case jitterlispvm_specialized_instruction_opcode_primitive_mtwo_mtimes__fR:
12101       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12102       break;
12103 
12104     case jitterlispvm_specialized_instruction_opcode_primitive_muniquep:
12105       break;
12106 
12107     case jitterlispvm_specialized_instruction_opcode_primitive_mzerop__fR:
12108       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12109       break;
12110 
12111     case jitterlispvm_specialized_instruction_opcode_procedure_mprolog:
12112       break;
12113 
12114     case jitterlispvm_specialized_instruction_opcode_push_mfalse:
12115       break;
12116 
12117     case jitterlispvm_specialized_instruction_opcode_push_mglobal__nR__fR:
12118       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12119       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
12120       break;
12121 
12122     case jitterlispvm_specialized_instruction_opcode_push_mliteral__nR:
12123       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12124       break;
12125 
12126     case jitterlispvm_specialized_instruction_opcode_push_mnil:
12127       break;
12128 
12129     case jitterlispvm_specialized_instruction_opcode_push_mnothing:
12130       break;
12131 
12132     case jitterlispvm_specialized_instruction_opcode_push_mone:
12133       break;
12134 
12135     case jitterlispvm_specialized_instruction_opcode_push_mregister___rrR:
12136       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
12137       break;
12138 
12139     case jitterlispvm_specialized_instruction_opcode_push_munspecified:
12140       break;
12141 
12142     case jitterlispvm_specialized_instruction_opcode_push_mzero:
12143       break;
12144 
12145     case jitterlispvm_specialized_instruction_opcode_register_mto_mregister___rrR___rrR:
12146       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
12147       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[1]->register_index));
12148       break;
12149 
12150     case jitterlispvm_specialized_instruction_opcode_restore_mregister___rrR:
12151       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
12152       break;
12153 
12154     case jitterlispvm_specialized_instruction_opcode_return:
12155       break;
12156 
12157     case jitterlispvm_specialized_instruction_opcode_save_mregister___rrR:
12158       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
12159       break;
12160 
12161     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n0:
12162       break;
12163 
12164     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n1:
12165       break;
12166 
12167     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n2:
12168       break;
12169 
12170     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n3:
12171       break;
12172 
12173     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n4:
12174       break;
12175 
12176     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n5:
12177       break;
12178 
12179     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n6:
12180       break;
12181 
12182     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n7:
12183       break;
12184 
12185     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n8:
12186       break;
12187 
12188     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n9:
12189       break;
12190 
12191     case jitterlispvm_specialized_instruction_opcode_tail_mcall__n10:
12192       break;
12193 
12194     case jitterlispvm_specialized_instruction_opcode_tail_mcall__nR:
12195       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12196       break;
12197 
12198     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n0:
12199       break;
12200 
12201     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n1:
12202       break;
12203 
12204     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n2:
12205       break;
12206 
12207     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n3:
12208       break;
12209 
12210     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n4:
12211       break;
12212 
12213     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n5:
12214       break;
12215 
12216     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n6:
12217       break;
12218 
12219     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n7:
12220       break;
12221 
12222     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n8:
12223       break;
12224 
12225     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n9:
12226       break;
12227 
12228     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__n10:
12229       break;
12230 
12231     case jitterlispvm_specialized_instruction_opcode_tail_mcall_mcompiled__nR:
12232       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12233       break;
12234 
12235     case jitterlispvm_specialized_instruction_opcode_unreachable:
12236       break;
12237 
12238     case jitterlispvm_specialized_instruction_opcode__Abranch__fR_A_mno_mfast_mbranches:
12239       /* Non-relocatable instruction: make place for the return label,
12240          whose correct value will be patched in at specialization time. */
12241       jitter_add_specialized_instruction_literal (p, -1);
12242       break;
12243 
12244     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mfalse__fR_A_mno_mfast_mbranches:
12245       /* Non-relocatable instruction: make place for the return label,
12246          whose correct value will be patched in at specialization time. */
12247       jitter_add_specialized_instruction_literal (p, -1);
12248       break;
12249 
12250     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mless__fR__fR_A_mno_mfast_mbranches:
12251       jitter_add_specialized_instruction_label_index (p, ins->parameters[0]->label_as_index);
12252       /* Non-relocatable instruction: make place for the return label,
12253          whose correct value will be patched in at specialization time. */
12254       jitter_add_specialized_instruction_literal (p, -1);
12255       break;
12256 
12257     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnot_mnull__fR_A_mno_mfast_mbranches:
12258       /* Non-relocatable instruction: make place for the return label,
12259          whose correct value will be patched in at specialization time. */
12260       jitter_add_specialized_instruction_literal (p, -1);
12261       break;
12262 
12263     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mnull__fR_A_mno_mfast_mbranches:
12264       /* Non-relocatable instruction: make place for the return label,
12265          whose correct value will be patched in at specialization time. */
12266       jitter_add_specialized_instruction_literal (p, -1);
12267       break;
12268 
12269     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mregister_mnon_mzero___rrR__fR__fR_A_mno_mfast_mbranches:
12270       /* A slow register is passed as a residual literal offset. */      jitter_add_specialized_instruction_literal (p, JITTERLISPVM_SLOW_REGISTER_OFFSET(r, ins->parameters[0]->register_index));
12271       jitter_add_specialized_instruction_label_index (p, ins->parameters[1]->label_as_index);
12272       /* Non-relocatable instruction: make place for the return label,
12273          whose correct value will be patched in at specialization time. */
12274       jitter_add_specialized_instruction_literal (p, -1);
12275       break;
12276 
12277     case jitterlispvm_specialized_instruction_opcode__Abranch_mif_mtrue__fR_A_mno_mfast_mbranches:
12278       /* Non-relocatable instruction: make place for the return label,
12279          whose correct value will be patched in at specialization time. */
12280       jitter_add_specialized_instruction_literal (p, -1);
12281       break;
12282 
12283     case jitterlispvm_specialized_instruction_opcode__Acheck_mclosure__fR_A_mno_mfast_mbranches:
12284       /* Non-relocatable instruction: make place for the return label,
12285          whose correct value will be patched in at specialization time. */
12286       jitter_add_specialized_instruction_literal (p, -1);
12287       break;
12288 
12289     case jitterlispvm_specialized_instruction_opcode__Acheck_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches:
12290       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12291       /* Non-relocatable instruction: make place for the return label,
12292          whose correct value will be patched in at specialization time. */
12293       jitter_add_specialized_instruction_literal (p, -1);
12294       break;
12295 
12296     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n0__fR_A_mno_mfast_mbranches:
12297       /* Non-relocatable instruction: make place for the return label,
12298          whose correct value will be patched in at specialization time. */
12299       jitter_add_specialized_instruction_literal (p, -1);
12300       break;
12301 
12302     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n1__fR_A_mno_mfast_mbranches:
12303       /* Non-relocatable instruction: make place for the return label,
12304          whose correct value will be patched in at specialization time. */
12305       jitter_add_specialized_instruction_literal (p, -1);
12306       break;
12307 
12308     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n2__fR_A_mno_mfast_mbranches:
12309       /* Non-relocatable instruction: make place for the return label,
12310          whose correct value will be patched in at specialization time. */
12311       jitter_add_specialized_instruction_literal (p, -1);
12312       break;
12313 
12314     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n3__fR_A_mno_mfast_mbranches:
12315       /* Non-relocatable instruction: make place for the return label,
12316          whose correct value will be patched in at specialization time. */
12317       jitter_add_specialized_instruction_literal (p, -1);
12318       break;
12319 
12320     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n4__fR_A_mno_mfast_mbranches:
12321       /* Non-relocatable instruction: make place for the return label,
12322          whose correct value will be patched in at specialization time. */
12323       jitter_add_specialized_instruction_literal (p, -1);
12324       break;
12325 
12326     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n5__fR_A_mno_mfast_mbranches:
12327       /* Non-relocatable instruction: make place for the return label,
12328          whose correct value will be patched in at specialization time. */
12329       jitter_add_specialized_instruction_literal (p, -1);
12330       break;
12331 
12332     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n6__fR_A_mno_mfast_mbranches:
12333       /* Non-relocatable instruction: make place for the return label,
12334          whose correct value will be patched in at specialization time. */
12335       jitter_add_specialized_instruction_literal (p, -1);
12336       break;
12337 
12338     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n7__fR_A_mno_mfast_mbranches:
12339       /* Non-relocatable instruction: make place for the return label,
12340          whose correct value will be patched in at specialization time. */
12341       jitter_add_specialized_instruction_literal (p, -1);
12342       break;
12343 
12344     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n8__fR_A_mno_mfast_mbranches:
12345       /* Non-relocatable instruction: make place for the return label,
12346          whose correct value will be patched in at specialization time. */
12347       jitter_add_specialized_instruction_literal (p, -1);
12348       break;
12349 
12350     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n9__fR_A_mno_mfast_mbranches:
12351       /* Non-relocatable instruction: make place for the return label,
12352          whose correct value will be patched in at specialization time. */
12353       jitter_add_specialized_instruction_literal (p, -1);
12354       break;
12355 
12356     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__n10__fR_A_mno_mfast_mbranches:
12357       /* Non-relocatable instruction: make place for the return label,
12358          whose correct value will be patched in at specialization time. */
12359       jitter_add_specialized_instruction_literal (p, -1);
12360       break;
12361 
12362     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity__nR__fR_A_mno_mfast_mbranches:
12363       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12364       /* Non-relocatable instruction: make place for the return label,
12365          whose correct value will be patched in at specialization time. */
12366       jitter_add_specialized_instruction_literal (p, -1);
12367       break;
12368 
12369     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n0__fR_A_mno_mfast_mbranches:
12370       /* Non-relocatable instruction: make place for the return label,
12371          whose correct value will be patched in at specialization time. */
12372       jitter_add_specialized_instruction_literal (p, -1);
12373       break;
12374 
12375     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n1__fR_A_mno_mfast_mbranches:
12376       /* Non-relocatable instruction: make place for the return label,
12377          whose correct value will be patched in at specialization time. */
12378       jitter_add_specialized_instruction_literal (p, -1);
12379       break;
12380 
12381     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n2__fR_A_mno_mfast_mbranches:
12382       /* Non-relocatable instruction: make place for the return label,
12383          whose correct value will be patched in at specialization time. */
12384       jitter_add_specialized_instruction_literal (p, -1);
12385       break;
12386 
12387     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n3__fR_A_mno_mfast_mbranches:
12388       /* Non-relocatable instruction: make place for the return label,
12389          whose correct value will be patched in at specialization time. */
12390       jitter_add_specialized_instruction_literal (p, -1);
12391       break;
12392 
12393     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n4__fR_A_mno_mfast_mbranches:
12394       /* Non-relocatable instruction: make place for the return label,
12395          whose correct value will be patched in at specialization time. */
12396       jitter_add_specialized_instruction_literal (p, -1);
12397       break;
12398 
12399     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n5__fR_A_mno_mfast_mbranches:
12400       /* Non-relocatable instruction: make place for the return label,
12401          whose correct value will be patched in at specialization time. */
12402       jitter_add_specialized_instruction_literal (p, -1);
12403       break;
12404 
12405     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n6__fR_A_mno_mfast_mbranches:
12406       /* Non-relocatable instruction: make place for the return label,
12407          whose correct value will be patched in at specialization time. */
12408       jitter_add_specialized_instruction_literal (p, -1);
12409       break;
12410 
12411     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n7__fR_A_mno_mfast_mbranches:
12412       /* Non-relocatable instruction: make place for the return label,
12413          whose correct value will be patched in at specialization time. */
12414       jitter_add_specialized_instruction_literal (p, -1);
12415       break;
12416 
12417     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n8__fR_A_mno_mfast_mbranches:
12418       /* Non-relocatable instruction: make place for the return label,
12419          whose correct value will be patched in at specialization time. */
12420       jitter_add_specialized_instruction_literal (p, -1);
12421       break;
12422 
12423     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n9__fR_A_mno_mfast_mbranches:
12424       /* Non-relocatable instruction: make place for the return label,
12425          whose correct value will be patched in at specialization time. */
12426       jitter_add_specialized_instruction_literal (p, -1);
12427       break;
12428 
12429     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__n10__fR_A_mno_mfast_mbranches:
12430       /* Non-relocatable instruction: make place for the return label,
12431          whose correct value will be patched in at specialization time. */
12432       jitter_add_specialized_instruction_literal (p, -1);
12433       break;
12434 
12435     case jitterlispvm_specialized_instruction_opcode__Acheck_min_marity_m_malt__nR__fR_A_mno_mfast_mbranches:
12436       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12437       /* Non-relocatable instruction: make place for the return label,
12438          whose correct value will be patched in at specialization time. */
12439       jitter_add_specialized_instruction_literal (p, -1);
12440       break;
12441 
12442     case jitterlispvm_specialized_instruction_opcode__Agc_mif_mneeded__fR_A_mno_mfast_mbranches:
12443       /* Non-relocatable instruction: make place for the return label,
12444          whose correct value will be patched in at specialization time. */
12445       jitter_add_specialized_instruction_literal (p, -1);
12446       break;
12447 
12448     case jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal__nR__fR_A_mno_mfast_mbranches:
12449       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12450       /* Non-relocatable instruction: make place for the return label,
12451          whose correct value will be patched in at specialization time. */
12452       jitter_add_specialized_instruction_literal (p, -1);
12453       break;
12454 
12455     case jitterlispvm_specialized_instruction_opcode__Apop_mto_mglobal_mdefined__nR__fR_A_mno_mfast_mbranches:
12456       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12457       /* Non-relocatable instruction: make place for the return label,
12458          whose correct value will be patched in at specialization time. */
12459       jitter_add_specialized_instruction_literal (p, -1);
12460       break;
12461 
12462     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n0__fR_A_mno_mfast_mbranches:
12463       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12464       /* Non-relocatable instruction: make place for the return label,
12465          whose correct value will be patched in at specialization time. */
12466       jitter_add_specialized_instruction_literal (p, -1);
12467       break;
12468 
12469     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n1__fR_A_mno_mfast_mbranches:
12470       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12471       /* Non-relocatable instruction: make place for the return label,
12472          whose correct value will be patched in at specialization time. */
12473       jitter_add_specialized_instruction_literal (p, -1);
12474       break;
12475 
12476     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n2__fR_A_mno_mfast_mbranches:
12477       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12478       /* Non-relocatable instruction: make place for the return label,
12479          whose correct value will be patched in at specialization time. */
12480       jitter_add_specialized_instruction_literal (p, -1);
12481       break;
12482 
12483     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n3__fR_A_mno_mfast_mbranches:
12484       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12485       /* Non-relocatable instruction: make place for the return label,
12486          whose correct value will be patched in at specialization time. */
12487       jitter_add_specialized_instruction_literal (p, -1);
12488       break;
12489 
12490     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__n4__fR_A_mno_mfast_mbranches:
12491       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12492       /* Non-relocatable instruction: make place for the return label,
12493          whose correct value will be patched in at specialization time. */
12494       jitter_add_specialized_instruction_literal (p, -1);
12495       break;
12496 
12497     case jitterlispvm_specialized_instruction_opcode__Aprimitive__nR__nR__fR_A_mno_mfast_mbranches:
12498       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12499       jitter_add_specialized_instruction_literal (p, ins->parameters[1]->literal.ufixnum);
12500       /* Non-relocatable instruction: make place for the return label,
12501          whose correct value will be patched in at specialization time. */
12502       jitter_add_specialized_instruction_literal (p, -1);
12503       break;
12504 
12505     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_mget__fR_A_mno_mfast_mbranches:
12506       /* Non-relocatable instruction: make place for the return label,
12507          whose correct value will be patched in at specialization time. */
12508       jitter_add_specialized_instruction_literal (p, -1);
12509       break;
12510 
12511     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mbox_msetb_mspecial__fR_A_mno_mfast_mbranches:
12512       /* Non-relocatable instruction: make place for the return label,
12513          whose correct value will be patched in at specialization time. */
12514       jitter_add_specialized_instruction_literal (p, -1);
12515       break;
12516 
12517     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mcar__fR_A_mno_mfast_mbranches:
12518       /* Non-relocatable instruction: make place for the return label,
12519          whose correct value will be patched in at specialization time. */
12520       jitter_add_specialized_instruction_literal (p, -1);
12521       break;
12522 
12523     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mcdr__fR_A_mno_mfast_mbranches:
12524       /* Non-relocatable instruction: make place for the return label,
12525          whose correct value will be patched in at specialization time. */
12526       jitter_add_specialized_instruction_literal (p, -1);
12527       break;
12528 
12529     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_meqp__fR_A_mno_mfast_mbranches:
12530       /* Non-relocatable instruction: make place for the return label,
12531          whose correct value will be patched in at specialization time. */
12532       jitter_add_specialized_instruction_literal (p, -1);
12533       break;
12534 
12535     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mfixnum_mnot_meqp__fR_A_mno_mfast_mbranches:
12536       /* Non-relocatable instruction: make place for the return label,
12537          whose correct value will be patched in at specialization time. */
12538       jitter_add_specialized_instruction_literal (p, -1);
12539       break;
12540 
12541     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mgreaterp__fR_A_mno_mfast_mbranches:
12542       /* Non-relocatable instruction: make place for the return label,
12543          whose correct value will be patched in at specialization time. */
12544       jitter_add_specialized_instruction_literal (p, -1);
12545       break;
12546 
12547     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mlessp__fR_A_mno_mfast_mbranches:
12548       /* Non-relocatable instruction: make place for the return label,
12549          whose correct value will be patched in at specialization time. */
12550       jitter_add_specialized_instruction_literal (p, -1);
12551       break;
12552 
12553     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegate__fR_A_mno_mfast_mbranches:
12554       /* Non-relocatable instruction: make place for the return label,
12555          whose correct value will be patched in at specialization time. */
12556       jitter_add_specialized_instruction_literal (p, -1);
12557       break;
12558 
12559     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnegativep__fR_A_mno_mfast_mbranches:
12560       /* Non-relocatable instruction: make place for the return label,
12561          whose correct value will be patched in at specialization time. */
12562       jitter_add_specialized_instruction_literal (p, -1);
12563       break;
12564 
12565     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mnegativep__fR_A_mno_mfast_mbranches:
12566       /* Non-relocatable instruction: make place for the return label,
12567          whose correct value will be patched in at specialization time. */
12568       jitter_add_specialized_instruction_literal (p, -1);
12569       break;
12570 
12571     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mpositivep__fR_A_mno_mfast_mbranches:
12572       /* Non-relocatable instruction: make place for the return label,
12573          whose correct value will be patched in at specialization time. */
12574       jitter_add_specialized_instruction_literal (p, -1);
12575       break;
12576 
12577     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnon_mzerop__fR_A_mno_mfast_mbranches:
12578       /* Non-relocatable instruction: make place for the return label,
12579          whose correct value will be patched in at specialization time. */
12580       jitter_add_specialized_instruction_literal (p, -1);
12581       break;
12582 
12583     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mgreaterp__fR_A_mno_mfast_mbranches:
12584       /* Non-relocatable instruction: make place for the return label,
12585          whose correct value will be patched in at specialization time. */
12586       jitter_add_specialized_instruction_literal (p, -1);
12587       break;
12588 
12589     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mnot_mlessp__fR_A_mno_mfast_mbranches:
12590       /* Non-relocatable instruction: make place for the return label,
12591          whose correct value will be patched in at specialization time. */
12592       jitter_add_specialized_instruction_literal (p, -1);
12593       break;
12594 
12595     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mminus__fR_A_mno_mfast_mbranches:
12596       /* Non-relocatable instruction: make place for the return label,
12597          whose correct value will be patched in at specialization time. */
12598       jitter_add_specialized_instruction_literal (p, -1);
12599       break;
12600 
12601     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mone_mplus__fR_A_mno_mfast_mbranches:
12602       /* Non-relocatable instruction: make place for the return label,
12603          whose correct value will be patched in at specialization time. */
12604       jitter_add_specialized_instruction_literal (p, -1);
12605       break;
12606 
12607     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mpositivep__fR_A_mno_mfast_mbranches:
12608       /* Non-relocatable instruction: make place for the return label,
12609          whose correct value will be patched in at specialization time. */
12610       jitter_add_specialized_instruction_literal (p, -1);
12611       break;
12612 
12613     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided__fR_A_mno_mfast_mbranches:
12614       /* Non-relocatable instruction: make place for the return label,
12615          whose correct value will be patched in at specialization time. */
12616       jitter_add_specialized_instruction_literal (p, -1);
12617       break;
12618 
12619     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mdivided_munsafe__fR_A_mno_mfast_mbranches:
12620       /* Non-relocatable instruction: make place for the return label,
12621          whose correct value will be patched in at specialization time. */
12622       jitter_add_specialized_instruction_literal (p, -1);
12623       break;
12624 
12625     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mminus__fR_A_mno_mfast_mbranches:
12626       /* Non-relocatable instruction: make place for the return label,
12627          whose correct value will be patched in at specialization time. */
12628       jitter_add_specialized_instruction_literal (p, -1);
12629       break;
12630 
12631     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mplus__fR_A_mno_mfast_mbranches:
12632       /* Non-relocatable instruction: make place for the return label,
12633          whose correct value will be patched in at specialization time. */
12634       jitter_add_specialized_instruction_literal (p, -1);
12635       break;
12636 
12637     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mprimordial_mtimes__fR_A_mno_mfast_mbranches:
12638       /* Non-relocatable instruction: make place for the return label,
12639          whose correct value will be patched in at specialization time. */
12640       jitter_add_specialized_instruction_literal (p, -1);
12641       break;
12642 
12643     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient__fR_A_mno_mfast_mbranches:
12644       /* Non-relocatable instruction: make place for the return label,
12645          whose correct value will be patched in at specialization time. */
12646       jitter_add_specialized_instruction_literal (p, -1);
12647       break;
12648 
12649     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mquotient_munsafe__fR_A_mno_mfast_mbranches:
12650       /* Non-relocatable instruction: make place for the return label,
12651          whose correct value will be patched in at specialization time. */
12652       jitter_add_specialized_instruction_literal (p, -1);
12653       break;
12654 
12655     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder__fR_A_mno_mfast_mbranches:
12656       /* Non-relocatable instruction: make place for the return label,
12657          whose correct value will be patched in at specialization time. */
12658       jitter_add_specialized_instruction_literal (p, -1);
12659       break;
12660 
12661     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mremainder_munsafe__fR_A_mno_mfast_mbranches:
12662       /* Non-relocatable instruction: make place for the return label,
12663          whose correct value will be patched in at specialization time. */
12664       jitter_add_specialized_instruction_literal (p, -1);
12665       break;
12666 
12667     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcarb_mspecial__fR_A_mno_mfast_mbranches:
12668       /* Non-relocatable instruction: make place for the return label,
12669          whose correct value will be patched in at specialization time. */
12670       jitter_add_specialized_instruction_literal (p, -1);
12671       break;
12672 
12673     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mset_mcdrb_mspecial__fR_A_mno_mfast_mbranches:
12674       /* Non-relocatable instruction: make place for the return label,
12675          whose correct value will be patched in at specialization time. */
12676       jitter_add_specialized_instruction_literal (p, -1);
12677       break;
12678 
12679     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mdivided__fR_A_mno_mfast_mbranches:
12680       /* Non-relocatable instruction: make place for the return label,
12681          whose correct value will be patched in at specialization time. */
12682       jitter_add_specialized_instruction_literal (p, -1);
12683       break;
12684 
12685     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mquotient__fR_A_mno_mfast_mbranches:
12686       /* Non-relocatable instruction: make place for the return label,
12687          whose correct value will be patched in at specialization time. */
12688       jitter_add_specialized_instruction_literal (p, -1);
12689       break;
12690 
12691     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mremainder__fR_A_mno_mfast_mbranches:
12692       /* Non-relocatable instruction: make place for the return label,
12693          whose correct value will be patched in at specialization time. */
12694       jitter_add_specialized_instruction_literal (p, -1);
12695       break;
12696 
12697     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mtwo_mtimes__fR_A_mno_mfast_mbranches:
12698       /* Non-relocatable instruction: make place for the return label,
12699          whose correct value will be patched in at specialization time. */
12700       jitter_add_specialized_instruction_literal (p, -1);
12701       break;
12702 
12703     case jitterlispvm_specialized_instruction_opcode__Aprimitive_mzerop__fR_A_mno_mfast_mbranches:
12704       /* Non-relocatable instruction: make place for the return label,
12705          whose correct value will be patched in at specialization time. */
12706       jitter_add_specialized_instruction_literal (p, -1);
12707       break;
12708 
12709     case jitterlispvm_specialized_instruction_opcode__Apush_mglobal__nR__fR_A_mno_mfast_mbranches:
12710       jitter_add_specialized_instruction_literal (p, ins->parameters[0]->literal.ufixnum);
12711       /* Non-relocatable instruction: make place for the return label,
12712          whose correct value will be patched in at specialization time. */
12713       jitter_add_specialized_instruction_literal (p, -1);
12714       break;
12715 
12716     default:
12717       jitter_fatal ("invalid specialized instruction opcode %i", (int)opcode);
12718     }
12719   return 1; // FIXME: I should rethink this return value.
12720 }
12721 
12722 void
jitterlispvm_state_initialize(struct jitterlispvm_state * jitter_state)12723 jitterlispvm_state_initialize (struct jitterlispvm_state *jitter_state)
12724 {
12725   struct jitterlispvm_state_backing * const jitter_state_backing
12726     __attribute__ ((unused))
12727     = & jitter_state->jitterlispvm_state_backing;
12728   struct jitterlispvm_state_runtime * const jitter_state_runtime
12729     __attribute__ ((unused))
12730     = & jitter_state->jitterlispvm_state_runtime;
12731 
12732   /* Initialize the Array. */
12733   jitter_state_backing->jitter_slow_register_no_per_class = 0; // FIXME: raise?
12734   jitter_state_backing->jitter_array
12735     = jitter_xmalloc (JITTERLISPVM_ARRAY_SIZE(jitter_state_backing
12736                          ->jitter_slow_register_no_per_class));
12737 
12738   /* Initialize special-purpose data. */
12739   jitterlispvm_initialize_special_purpose_data (JITTERLISPVM_ARRAY_TO_SPECIAL_PURPOSE_STATE_DATA (jitter_state_backing->jitter_array));
12740 
12741   /* Initialize stack backings and stack runtime data structures, pointing
12742      to memory from the backings. */
12743   jitterlisp_object jitter_stack_m_initial_element = (jitterlisp_object) (JITTERLISP_UNDEFINED);
12744   jitter_stack_initialize_tos_backing(& jitter_state_backing->jitter_stack_mainstack_backing,
12745                                       sizeof (jitterlisp_object),
12746                                       8192,
12747                                       (char *) & jitter_stack_m_initial_element,
12748                                       1,
12749                                       1);
12750   JITTER_STACK_TOS_INITIALIZE(jitterlisp_object, jitter_state_runtime-> ,
12751                               mainstack, jitter_state_backing->jitter_stack_mainstack_backing);
12752   jitterlisp_object jitter_stack_t_initial_element = (jitterlisp_object) (JITTERLISP_UNDEFINED);
12753   jitter_stack_initialize_ntos_backing(& jitter_state_backing->jitter_stack_returnstack_backing,
12754                                       sizeof (jitterlisp_object),
12755                                       8192,
12756                                       (char *) & jitter_stack_t_initial_element,
12757                                       1,
12758                                       1);
12759   JITTER_STACK_NTOS_INITIALIZE(jitterlisp_object, jitter_state_runtime-> ,
12760                               returnstack, jitter_state_backing->jitter_stack_returnstack_backing);
12761 
12762   /* Initialise the link register, if present. */
12763 #if    defined(JITTER_DISPATCH_SWITCH)                   \
12764     || defined(JITTER_DISPATCH_DIRECT_THREADING)         \
12765     || defined(JITTER_DISPATCH_MINIMAL_THREADING)        \
12766     || (   defined(JITTER_DISPATCH_NO_THREADING)         \
12767         && ! defined(JITTER_MACHINE_SUPPORTS_PROCEDURE))
12768   jitter_state_runtime->_jitter_link = NULL;
12769 #endif
12770 
12771   /* Initialise r-class fast registers. */
12772 
12773 
12774   /* User code for state initialization. */
12775 
12776 #ifdef JITTER_GC_STUB
12777   /* Initialize the next pointer and the limit pointer to refer to a fixed-size
12778      nursery.  There is no real GC yet, so when next hits limit there will be
12779      a failure; still, allocation should work up to that point. */
12780   size_t nursery_size = 1024 * 1024 * 10;
12781   char *nursery = jitter_xmalloc (nursery_size);
12782   jitter_state_runtime->allocation_next = nursery;
12783   jitter_state_runtime->allocation_limit = nursery + nursery_size;
12784 #endif // #ifdef JITTER_GC_STUB
12785 
12786   /* End of the user code for state initialization. */
12787 
12788   /* Link this new state to the list of states. */
12789   JITTER_LIST_LINK_LAST (jitterlispvm_state, links, & jitterlispvm_vm->states, jitter_state);
12790 
12791 }
12792 
12793 void
jitterlispvm_state_finalize(struct jitterlispvm_state * jitter_state)12794 jitterlispvm_state_finalize (struct jitterlispvm_state *jitter_state)
12795 {
12796   /* Unlink this new state from the list of states. */
12797   JITTER_LIST_UNLINK (jitterlispvm_state, links, & jitterlispvm_vm->states, jitter_state);
12798 
12799   struct jitterlispvm_state_backing * const jitter_state_backing
12800     __attribute__ ((unused))
12801     = & jitter_state->jitterlispvm_state_backing;
12802   struct jitterlispvm_state_runtime * const jitter_state_runtime
12803     __attribute__ ((unused))
12804     = & jitter_state->jitterlispvm_state_runtime;
12805 
12806   /* Finalize special-purpose data. */
12807   jitterlispvm_finalize_special_purpose_data (JITTERLISPVM_ARRAY_TO_SPECIAL_PURPOSE_STATE_DATA (jitter_state_backing->jitter_array));
12808 
12809   /* Finalize stack backings -- There is no need to finalize the stack
12810      runtime data structures, as they hold no heap data of their own. */
12811   jitter_stack_finalize_backing (& jitter_state_backing->jitter_stack_mainstack_backing);
12812   jitter_stack_finalize_backing (& jitter_state_backing->jitter_stack_returnstack_backing);
12813 
12814 
12815   /* User code for state finalization. */
12816 
12817   /* End of the user code for state finalization. */
12818 
12819   /* Finalize the Array. */
12820   free ((void *) jitter_state_backing->jitter_array);
12821 
12822 }
12823 
12824