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