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