Merged revisions 8187-8244 via svnmerge from
[cacao.git] / src / vm / builtintable.inc
1 /* src/vm/builtintable.inc - tables of builtin functions
2
3    Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
4    C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
5    E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
6    J. Wenninger, Institut f. Computersprachen - TU Wien
7
8    This file is part of CACAO.
9
10    This program is free software; you can redistribute it and/or
11    modify it under the terms of the GNU General Public License as
12    published by the Free Software Foundation; either version 2, or (at
13    your option) any later version.
14
15    This program is distributed in the hope that it will be useful, but
16    WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18    General Public License for more details.
19
20    You should have received a copy of the GNU General Public License
21    along with this program; if not, write to the Free Software
22    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23    02110-1301, USA.
24
25    $Id: builtintable.inc 8245 2007-07-31 09:55:04Z michi $
26
27 */
28
29
30 #include "config.h"
31
32 #include "arch.h"
33
34 #if defined(ENABLE_THREADS)
35 # include "threads/native/lock.h"
36 #endif
37
38 #include "vm/builtin.h"
39 #include "vm/jit/jit.h"
40
41
42 /* internal and not automatically replaced functions **************************/
43
44 static builtintable_entry builtintable_internal[] = {
45
46 #if defined(__ALPHA__) || defined(DISABLE_GC)
47         {
48                 ICMD_F2L,
49                 0,
50                 BUILTIN_f2l,
51                 NULL,
52                 NULL,
53                 "f2l",
54                 "(F)J",
55                 NULL,
56                 NULL,
57                 NULL,
58                 NULL
59         },
60         {
61                 ICMD_D2L,
62                 0,
63                 BUILTIN_d2l,
64                 NULL,
65                 NULL,
66                 "d2l",
67                 "(D)J",
68                 NULL,
69                 NULL,
70                 NULL,
71                 NULL
72         },
73         {
74                 ICMD_F2I,
75                 0,
76                 BUILTIN_f2i,
77                 NULL,
78                 NULL,
79                 "f2i",
80                 "(F)I",
81                 NULL,
82                 NULL,
83                 NULL,
84                 NULL
85         },
86         {
87                 ICMD_D2I,
88                 0,
89                 BUILTIN_d2i,
90                 NULL,
91                 NULL,
92                 "d2i",
93                 "(D)I",
94                 NULL,
95                 NULL,
96                 NULL,
97                 NULL
98         },
99 #endif
100
101 #if !SUPPORT_DIVISION || defined(DISABLE_GC)
102         {
103                 ICMD_IDIV,
104                 0,
105                 BUILTIN_idiv,
106                 NULL,
107                 NULL,
108                 "idiv",
109                 "(II)I",
110                 NULL,
111                 NULL,
112                 NULL,
113                 NULL
114         },
115         {
116                 ICMD_IREM,
117                 0,
118                 BUILTIN_irem,
119                 NULL,
120                 NULL,
121                 "irem",
122                 "(II)I",
123                 NULL,
124                 NULL,
125                 NULL,
126                 NULL
127         },
128 #endif
129
130 #if !(SUPPORT_DIVISION && SUPPORT_LONG && SUPPORT_LONG_DIV) || defined(DISABLE_GC)
131         {
132                 ICMD_LDIV,
133                 0,
134                 BUILTIN_ldiv,
135                 NULL,
136                 NULL,
137                 "ldiv",
138                 "(JJ)J",
139                 NULL,
140                 NULL,
141                 NULL,
142                 NULL
143         },
144         {
145                 ICMD_LREM,
146                 0,
147                 BUILTIN_lrem,
148                 NULL,
149                 NULL,
150                 "lrem",
151                 "(JJ)J",
152                 NULL,
153                 NULL,
154                 NULL,
155                 NULL
156         },
157 #endif
158
159         {
160                 ICMD_FREM,
161                 0,
162                 BUILTIN_frem,
163                 NULL,
164                 NULL,
165                 "frem",
166                 "(FF)F",
167                 NULL,
168                 NULL,
169                 NULL,
170                 NULL
171         },
172         {
173                 ICMD_DREM,
174                 0,
175                 BUILTIN_drem,
176                 NULL,
177                 NULL,
178                 "drem",
179                 "(DD)D",
180                 NULL,
181                 NULL,
182                 NULL,
183                 NULL
184         },
185
186
187         /* internal functions *****************************************************/
188
189         {
190                 ICMD_NEW,
191                 BUILTINTABLE_FLAG_STUB,
192                 BUILTIN_new,
193                 NULL,
194                 NULL,
195                 "new",
196                 "(Ljava/lang/Class;)Ljava/lang/Object;",
197                 NULL,
198                 NULL,
199                 NULL,
200                 NULL
201         },
202         {
203                 ICMD_NEW,
204                 0,
205                 BUILTIN_FAST_new,
206                 NULL,
207                 NULL,
208                 "fast-new",
209                 "(Ljava/lang/Class;)Ljava/lang/Object;",
210                 NULL,
211                 NULL,
212                 NULL,
213                 NULL
214         },
215         {
216                 ICMD_ANEWARRAY,
217                 BUILTINTABLE_FLAG_STUB,
218                 BUILTIN_newarray,
219                 NULL,
220                 NULL,
221                 "newarray",
222                 "(ILjava/lang/Class;)[Ljava/lang/Object;",
223                 NULL,
224                 NULL,
225                 NULL,
226                 NULL
227         },
228         {
229                 ICMD_NEWARRAY,
230                 BUILTINTABLE_FLAG_STUB,
231                 BUILTIN_newarray_boolean,
232                 NULL,
233                 NULL,
234                 "newarray_boolean",
235                 "(I)[Z",
236                 NULL,
237                 NULL,
238                 NULL,
239                 NULL
240         },
241         {
242                 ICMD_NEWARRAY,
243                 BUILTINTABLE_FLAG_STUB,
244                 BUILTIN_newarray_byte,
245                 NULL,
246                 NULL,
247                 "newarray_byte",
248                 "(I)[B",
249                 NULL,
250                 NULL,
251                 NULL,
252                 NULL
253         },
254         {
255                 ICMD_NEWARRAY,
256                 BUILTINTABLE_FLAG_STUB,
257                 BUILTIN_newarray_char,
258                 NULL,
259                 NULL,
260                 "newarray_char",
261                 "(I)[C",
262                 NULL,
263                 NULL,
264                 NULL,
265                 NULL
266         },
267         {
268                 ICMD_NEWARRAY,
269                 BUILTINTABLE_FLAG_STUB,
270                 BUILTIN_newarray_short,
271                 NULL,
272                 NULL,
273                 "newarray_short",
274                 "(I)[S",
275                 NULL,
276                 NULL,
277                 NULL,
278                 NULL
279         },
280         {
281                 ICMD_NEWARRAY,
282                 BUILTINTABLE_FLAG_STUB,
283                 BUILTIN_newarray_int,
284                 NULL,
285                 NULL,
286                 "newarray_int",
287                 "(I)[I",
288                 NULL,
289                 NULL,
290                 NULL,
291                 NULL
292         },
293         {
294                 ICMD_NEWARRAY,
295                 BUILTINTABLE_FLAG_STUB,
296                 BUILTIN_newarray_long,
297                 NULL,
298                 NULL,
299                 "newarray_long",
300                 "(I)[J",
301                 NULL,
302                 NULL,
303                 NULL,
304                 NULL
305         },
306         {
307                 ICMD_NEWARRAY,
308                 BUILTINTABLE_FLAG_STUB,
309                 BUILTIN_newarray_float,
310                 NULL,
311                 NULL,
312                 "newarray_float",
313                 "(I)[F",
314                 NULL,
315                 NULL,
316                 NULL,
317                 NULL
318         },
319         {
320                 ICMD_NEWARRAY,
321                 BUILTINTABLE_FLAG_STUB,
322                 BUILTIN_newarray_double,
323                 NULL,
324                 NULL,
325                 "newarray_double",
326                 "(I)[D",
327                 NULL,
328                 NULL,
329                 NULL,
330                 NULL
331         },
332         {
333                 ICMD_CHECKCAST,
334                 0,
335                 BUILTIN_arraycheckcast,
336                 NULL,
337                 NULL,
338                 "arraycheckcast",
339                 "([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;",
340                 NULL,
341                 NULL,
342                 NULL,
343                 NULL
344         },
345         {
346                 ICMD_INSTANCEOF,
347                 0,
348                 BUILTIN_arrayinstanceof,
349                 NULL,
350                 NULL,
351                 "arrayinstanceof",
352                 "([Ljava/lang/Object;[Ljava/lang/Object;)I",
353                 NULL,
354                 NULL,
355                 NULL,
356                 NULL
357         },
358         {
359                 ICMD_AASTORE,
360                 0,
361                 BUILTIN_canstore,
362                 NULL,
363                 NULL,
364                 "canstore",
365                 "([Ljava/lang/Object;Ljava/lang/Object;)I",
366                 NULL,
367                 NULL,
368                 NULL,
369                 NULL
370         },
371
372 #if defined(ENABLE_THREADS)
373         {
374                 ICMD_MONITORENTER,
375                 0,
376                 LOCK_monitor_enter,
377                 NULL,
378                 NULL,
379                 "monitorenter",
380                 "(Ljava/lang/Object;)V",
381                 NULL,
382                 NULL,
383                 NULL,
384                 NULL
385         },
386         {
387                 ICMD_MONITOREXIT,
388                 0,
389                 LOCK_monitor_exit,
390                 NULL,
391                 NULL,
392                 "monitorexit",
393                 "(Ljava/lang/Object;)V",
394                 NULL,
395                 NULL,
396                 NULL,
397                 NULL
398         },
399 #endif
400
401
402         /* stop entry */
403
404         {
405                 255,
406                 0,
407                 NULL,
408                 NULL,
409                 NULL,
410                 NULL,
411                 NULL,
412                 NULL,
413                 NULL,
414                 NULL,
415                 NULL
416         },
417 };
418
419
420 /* automatically replaced functions *******************************************/
421
422 static builtintable_entry builtintable_automatic[] = {
423
424 #if !(SUPPORT_LONG && SUPPORT_LONG_CMP)
425         {
426                 ICMD_LCMP,
427                 0,
428                 BUILTIN_lcmp,
429                 NULL,
430                 NULL,
431                 "lcmp",
432                 "(JJ)I",
433                 NULL,
434                 NULL,
435                 NULL,
436                 NULL
437         },
438 #endif
439
440 #if !(SUPPORT_LONG && SUPPORT_LONG_LOGICAL)
441         {
442                 ICMD_LAND,
443                 0,
444                 BUILTIN_land,
445                 NULL,
446                 NULL,
447                 "land",
448                 "(JJ)J",
449                 NULL,
450                 NULL,
451                 NULL,
452                 NULL
453         },
454         {
455                 ICMD_LOR,
456                 0,
457                 BUILTIN_lor,
458                 NULL,
459                 NULL,
460                 "lor",
461                 "(JJ)J",
462                 NULL,
463                 NULL,
464                 NULL,
465                 NULL
466         },
467         {
468                 ICMD_LXOR,
469                 0,
470                 BUILTIN_lxor,
471                 NULL,
472                 NULL,
473                 "lxor",
474                 "(JJ)J",
475                 NULL,
476                 NULL,
477                 NULL,
478                 NULL
479         },
480 #endif /* !(SUPPORT_LONG && SUPPORT_LONG_LOGICAL) */
481
482 #if !(SUPPORT_LONG && SUPPORT_LONG_SHIFT)
483         {
484                 ICMD_LSHL,
485                 0,
486                 BUILTIN_lshl,
487                 NULL,
488                 NULL,
489                 "lshl",
490                 "(JI)J",
491                 NULL,
492                 NULL,
493                 NULL,
494                 NULL
495         },
496         {
497                 ICMD_LSHR,
498                 0,
499                 BUILTIN_lshr,
500                 NULL,
501                 NULL,
502                 "lshr",
503                 "(JI)J",
504                 NULL,
505                 NULL,
506                 NULL,
507                 NULL
508         },
509         {
510                 ICMD_LUSHR,
511                 0,
512                 BUILTIN_lushr,
513                 NULL,
514                 NULL,
515                 "lushr",
516                 "(JI)J",
517                 NULL,
518                 NULL,
519                 NULL,
520                 NULL
521         },
522 #endif /* !(SUPPORT_LONG && SUPPORT_LONG_SHIFT) */
523
524 #if !(SUPPORT_LONG && SUPPORT_LONG_ADD)
525         {
526                 ICMD_LADD,
527                 0,
528                 BUILTIN_ladd,
529                 NULL,
530                 NULL,
531                 "ladd",
532                 "(JJ)J",
533                 NULL,
534                 NULL,
535                 NULL,
536                 NULL
537         },
538         {
539                 ICMD_LSUB,
540                 0,
541                 BUILTIN_lsub,
542                 NULL,
543                 NULL,
544                 "lsub",
545                 "(JJ)J",
546                 NULL,
547                 NULL,
548                 NULL,
549                 NULL
550         },
551         {
552                 ICMD_LNEG,
553                 0,
554                 BUILTIN_lneg,
555                 NULL,
556                 NULL,
557                 "lneg",
558                 "(J)J",
559                 NULL,
560                 NULL,
561                 NULL,
562                 NULL
563         },
564 #endif /* !(SUPPORT_LONG && SUPPORT_LONG_ADD) */
565
566 #if !(SUPPORT_LONG && SUPPORT_LONG_MUL)
567         {
568                 ICMD_LMUL,
569                 0,
570                 BUILTIN_lmul,
571                 NULL,
572                 NULL,
573                 "lmul",
574                 "(JJ)J",
575                 NULL,
576                 NULL,
577                 NULL,
578                 NULL
579         },
580 #endif
581
582 #if !(SUPPORT_FLOAT && SUPPORT_I2F)
583         {
584                 ICMD_I2F,
585                 0,
586                 BUILTIN_i2f,
587                 NULL,
588                 NULL,
589                 "i2f",
590                 "(I)F",
591                 NULL,
592                 NULL,
593                 NULL,
594                 NULL
595         },
596 #endif
597
598 #if !(SUPPORT_DOUBLE && SUPPORT_I2D)
599         {
600                 ICMD_I2D,
601                 0,
602                 BUILTIN_i2d,
603                 NULL,
604                 NULL,
605                 "i2d",
606                 "(I)D",
607                 NULL,
608                 NULL,
609                 NULL,
610                 NULL
611         },
612 #endif
613
614 #if !(SUPPORT_LONG && SUPPORT_FLOAT && SUPPORT_L2F)
615         {
616                 ICMD_L2F,
617                 0,
618                 BUILTIN_l2f,
619                 NULL,
620                 NULL,
621                 "l2f",
622                 "(J)F",
623                 NULL,
624                 NULL,
625                 NULL,
626                 NULL
627         },
628 #endif
629
630 #if !(SUPPORT_LONG && SUPPORT_DOUBLE && SUPPORT_L2D)
631         {
632                 ICMD_L2D,
633                 0,
634                 BUILTIN_l2d,
635                 NULL,
636                 NULL,
637                 "l2d",
638                 "(J)D",
639                 NULL,
640                 NULL,
641                 NULL,
642                 NULL
643         },
644 #endif
645
646 #if !(SUPPORT_FLOAT && SUPPORT_F2I)
647         {
648                 ICMD_F2I,
649                 0,
650                 BUILTIN_f2i,
651                 NULL,
652                 NULL,
653                 "f2i",
654                 "(F)I",
655                 NULL,
656                 NULL,
657                 NULL,
658                 NULL
659         },
660 #endif
661
662 #if !(SUPPORT_FLOAT && SUPPORT_LONG && SUPPORT_F2L)
663         {
664                 ICMD_F2L,
665                 0,
666                 BUILTIN_f2l,
667                 NULL,
668                 NULL,
669                 "f2l",
670                 "(F)J",
671                 NULL,
672                 NULL,
673                 NULL,
674                 NULL
675         },
676 #endif
677
678 #if !(SUPPORT_DOUBLE && SUPPORT_D2I)
679         {
680                 ICMD_D2I,
681                 0,
682                 BUILTIN_d2i,
683                 NULL,
684                 NULL,
685                 "d2i",
686                 "(D)I",
687                 NULL,
688                 NULL,
689                 NULL,
690                 NULL
691         },
692 #endif
693
694 #if !(SUPPORT_DOUBLE && SUPPORT_LONG && SUPPORT_D2L)
695         {
696                 ICMD_D2L,
697                 0,
698                 BUILTIN_d2l,
699                 NULL,
700                 NULL,
701                 "d2l",
702                 "(D)J",
703                 NULL,
704                 NULL,
705                 NULL,
706                 NULL
707         },
708 #endif
709
710
711         /* float functions ********************************************************/
712
713 #if !SUPPORT_FLOAT
714         {
715                 ICMD_FADD,
716                 0,
717                 BUILTIN_fadd,
718                 NULL,
719                 NULL,
720                 "fadd",
721                 "(FF)F",
722                 NULL,
723                 NULL,
724                 NULL,
725                 NULL
726         },
727         {
728                 ICMD_FSUB,
729                 0,
730                 BUILTIN_fsub,
731                 NULL,
732                 NULL,
733                 "fsub",
734                 "(FF)F",
735                 NULL,
736                 NULL,
737                 NULL,
738                 NULL
739         },
740         {
741                 ICMD_FMUL,
742                 0,
743                 BUILTIN_fmul,
744                 NULL,
745                 NULL,
746                 "fmul",
747                 "(FF)F",
748                 NULL,
749                 NULL,
750                 NULL,
751                 NULL
752         },
753         {
754                 ICMD_FDIV,
755                 0,
756                 BUILTIN_fdiv,
757                 NULL,
758                 NULL,
759                 "fdiv",
760                 "(FF)F",
761                 NULL,
762                 NULL,
763                 NULL,
764                 NULL
765         },
766         {
767                 ICMD_FNEG,
768                 0,
769                 BUILTIN_fneg,
770                 NULL,
771                 NULL,
772                 "fneg",
773                 "(F)F",
774                 NULL,
775                 NULL,
776                 NULL,
777                 NULL
778         },
779 #endif /* !SUPPORT_FLOAT */
780
781 #if !SUPPORT_FLOAT || !SUPPORT_FLOAT_CMP
782         {
783                 ICMD_FCMPL,
784                 0,
785                 BUILTIN_fcmpl,
786                 NULL,
787                 NULL,
788                 "fcmpl",
789                 "(FF)I",
790                 NULL,
791                 NULL,
792                 NULL,
793                 NULL
794         },
795         {
796                 ICMD_FCMPG,
797                 0,
798                 BUILTIN_fcmpg,
799                 NULL,
800                 NULL,
801                 "fcmpg",
802                 "(FF)I",
803                 NULL,
804                 NULL,
805                 NULL,
806                 NULL
807         },
808 #endif /* !SUPPORT_FLOAT || !SUPPORT_FLOAT_CMP */
809
810
811         /* double functions *******************************************************/
812
813 #if !SUPPORT_DOUBLE
814         {
815                 ICMD_DADD,
816                 0,
817                 BUILTIN_dadd,
818                 NULL,
819                 NULL,
820                 "dadd",
821                 "(DD)D",
822                 NULL,
823                 NULL,
824                 NULL,
825                 NULL
826         },
827         {
828                 ICMD_DSUB,
829                 0,
830                 BUILTIN_dsub,
831                 NULL,
832                 NULL,
833                 "dsub",
834                 "(DD)D",
835                 NULL,
836                 NULL,
837                 NULL,
838                 NULL
839         },
840         {
841                 ICMD_DMUL,
842                 0,
843                 BUILTIN_dmul,
844                 NULL,
845                 NULL,
846                 "dmul",
847                 "(DD)D",
848                 NULL,
849                 NULL,
850                 NULL,
851                 NULL
852         },
853         {
854                 ICMD_DDIV,
855                 0,
856                 BUILTIN_ddiv,
857                 NULL,
858                 NULL,
859                 "ddiv",
860                 "(DD)D",
861                 NULL,
862                 NULL,
863                 NULL,
864                 NULL
865         },
866         {
867                 ICMD_DNEG,
868                 0,
869                 BUILTIN_dneg,
870                 NULL,
871                 NULL,
872                 "dneg",
873                 "(D)D",
874                 NULL,
875                 NULL,
876                 NULL,
877                 NULL
878         },
879 #endif /* !SUPPORT_DOUBLE */
880
881 #if !SUPPORT_DOUBLE || !SUPPORT_DOUBLE_CMP
882         {
883                 ICMD_DCMPL,
884                 0,
885                 BUILTIN_dcmpl,
886                 NULL,
887                 NULL,
888                 "dcmpl",
889                 "(DD)I",
890                 NULL,
891                 NULL,
892                 NULL,
893                 NULL
894         },
895         {
896                 ICMD_DCMPG,
897                 0,
898                 BUILTIN_dcmpg,
899                 NULL,
900                 NULL,
901                 "dcmpg",
902                 "(DD)I",
903                 NULL,
904                 NULL,
905                 NULL,
906                 NULL
907         },
908 #endif /* !SUPPORT_DOUBLE || !SUPPORT_DOUBLE_CMP */
909
910
911         /* float/double functions *************************************************/
912
913 #if !(SUPPORT_FLOAT && SUPPORT_DOUBLE)
914         {
915                 ICMD_F2D,
916                 0,
917                 BUILTIN_f2d,
918                 NULL,
919                 NULL,
920                 "f2d",
921                 "(F)D",
922                 NULL,
923                 NULL,
924                 NULL,
925                 NULL
926         },
927         {
928                 ICMD_D2F,
929                 0,
930                 BUILTIN_d2f,
931                 NULL,
932                 NULL,
933                 "d2f",
934                 "(D)F",
935                 NULL,
936                 NULL,
937                 NULL,
938                 NULL
939         },
940 #endif /* !(SUPPORT_FLOAT && SUPPORT_DOUBLE) */
941
942
943         /* prevent a compiler warning if everything is supported (e.g. i386) */
944
945         {
946                 255,
947                 0,
948                 NULL,
949                 NULL,
950                 NULL,
951                 NULL,
952                 NULL,
953                 NULL,
954                 NULL,
955                 NULL,
956                 NULL
957         },
958 };
959
960
961 /* automatically replaced functions *******************************************/
962
963 static builtintable_entry builtintable_function[] = {
964 #if defined(ENABLE_JIT)
965
966         /* java.lang.VMSystem.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V STATIC NATIVE */
967
968         {
969                 ICMD_BUILTIN,
970                 BUILTINTABLE_FLAG_EXCEPTION,
971                 BUILTIN_arraycopy,
972                 NULL,
973                 "java/lang/VMSystem",
974                 "arraycopy",
975                 "(Ljava/lang/Object;ILjava/lang/Object;II)V",
976                 NULL,
977                 NULL,
978                 NULL,
979                 NULL
980         },
981
982         /* java.lang.System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V PUBLIC STATIC */
983
984 #if 0
985         /* We disable this one until we have a fix for the stacktrace
986            issue. */
987
988         {
989                 ICMD_BUILTIN,
990                 BUILTINTABLE_FLAG_EXCEPTION,
991                 BUILTIN_arraycopy,
992                 NULL,
993                 "java/lang/System",
994                 "arraycopy",
995                 "(Ljava/lang/Object;ILjava/lang/Object;II)V",
996                 NULL,
997                 NULL,
998                 NULL,
999                 NULL
1000         },
1001 #endif
1002
1003         /* java.lang.VMSystem.currentTimeMillis()J PUBLIC STATIC */
1004
1005         {
1006                 ICMD_BUILTIN,
1007                 0,
1008                 BUILTIN_currenttimemillis,
1009                 NULL,
1010                 "java/lang/VMSystem",
1011                 "currentTimeMillis",
1012                 "()J",
1013                 NULL,
1014                 NULL,
1015                 NULL,
1016                 NULL
1017         },
1018
1019         /* java.lang.System.currentTimeMillis()J PUBLIC STATIC */
1020
1021         {
1022                 ICMD_BUILTIN,
1023                 0,
1024                 BUILTIN_currenttimemillis,
1025                 NULL,
1026                 "java/lang/System",
1027                 "currentTimeMillis",
1028                 "()J",
1029                 NULL,
1030                 NULL,
1031                 NULL,
1032                 NULL
1033         },
1034
1035 #endif /* defined(ENABLE_JIT) */
1036
1037         /* stop entry */
1038
1039         {
1040                 255,
1041                 0,
1042                 NULL,
1043                 NULL,
1044                 NULL,
1045                 NULL,
1046                 NULL,
1047                 NULL,
1048                 NULL,
1049                 NULL,
1050                 NULL
1051         },
1052 };
1053
1054
1055 /*
1056  * These are local overrides for various environment variables in Emacs.
1057  * Please do not remove this and leave it at the end of the file, where
1058  * Emacs will automagically detect them.
1059  * ---------------------------------------------------------------------
1060  * Local variables:
1061  * mode: c
1062  * indent-tabs-mode: t
1063  * c-basic-offset: 4
1064  * tab-width: 4
1065  * End:
1066  * vim:noexpandtab:sw=4:ts=4:
1067  */