291 RETURN ( __interpret(self, 1, nil, nil COMMA_SND, nil, &arg) ); |
291 RETURN ( __interpret(self, 1, nil, nil COMMA_SND, nil, &arg) ); |
292 # else |
292 # else |
293 RETURN ( __interpret(self, 1, nil, nil COMMA_SND, nil, arg) ); |
293 RETURN ( __interpret(self, 1, nil, nil COMMA_SND, nil, arg) ); |
294 # endif |
294 # endif |
295 #else |
295 #else |
296 home = _BlockInstPtr(self)->b_home; |
296 home = __BlockInstPtr(self)->b_home; |
297 if (thecode != (OBJFUNC)nil) { |
297 if (thecode != (OBJFUNC)nil) { |
298 RETURN ( (*thecode)(home COMMA_SND, arg) ); |
298 RETURN ( (*thecode)(home COMMA_SND, arg) ); |
299 } |
299 } |
300 /* interpreted code */ |
300 /* interpreted code */ |
301 # ifdef PASS_ARG_POINTER |
301 # ifdef PASS_ARG_POINTER |
316 %{ /* NOCONTEXT */ |
316 %{ /* NOCONTEXT */ |
317 |
317 |
318 REGISTER OBJFUNC thecode; |
318 REGISTER OBJFUNC thecode; |
319 OBJ home; |
319 OBJ home; |
320 |
320 |
321 if (_INST(nargs) == _MKSMALLINT(2)) { |
321 if (__INST(nargs) == __MKSMALLINT(2)) { |
322 #if defined(THIS_CONTEXT) |
322 #if defined(THIS_CONTEXT) |
323 if (__ISVALID_ILC_LNO(__pilc)) |
323 if (__ISVALID_ILC_LNO(__pilc)) |
324 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
324 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
325 #endif |
325 #endif |
326 thecode = _BlockInstPtr(self)->b_code; |
326 thecode = __BlockInstPtr(self)->b_code; |
327 #ifdef NEW_BLOCK_CALL |
327 #ifdef NEW_BLOCK_CALL |
328 if (thecode != (OBJFUNC)nil) { |
328 if (thecode != (OBJFUNC)nil) { |
329 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2) ); |
329 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2) ); |
330 } |
330 } |
331 # ifdef PASS_ARG_POINTER |
331 # ifdef PASS_ARG_POINTER |
332 RETURN ( __interpret(self, 2, nil, nil COMMA_SND, nil, &arg1) ); |
332 RETURN ( __interpret(self, 2, nil, nil COMMA_SND, nil, &arg1) ); |
333 # else |
333 # else |
334 RETURN ( __interpret(self, 2, nil, nil COMMA_SND, nil, arg1, arg2) ); |
334 RETURN ( __interpret(self, 2, nil, nil COMMA_SND, nil, arg1, arg2) ); |
335 # endif |
335 # endif |
336 #else |
336 #else |
337 home = _BlockInstPtr(self)->b_home; |
337 home = __BlockInstPtr(self)->b_home; |
338 if (thecode != (OBJFUNC)nil) { |
338 if (thecode != (OBJFUNC)nil) { |
339 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2) ); |
339 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2) ); |
340 } |
340 } |
341 # ifdef PASS_ARG_POINTER |
341 # ifdef PASS_ARG_POINTER |
342 RETURN ( __interpret(self, 2, nil, home COMMA_SND, nil, &arg1) ); |
342 RETURN ( __interpret(self, 2, nil, home COMMA_SND, nil, &arg1) ); |
356 %{ /* NOCONTEXT */ |
356 %{ /* NOCONTEXT */ |
357 |
357 |
358 REGISTER OBJFUNC thecode; |
358 REGISTER OBJFUNC thecode; |
359 OBJ home; |
359 OBJ home; |
360 |
360 |
361 if (_INST(nargs) == _MKSMALLINT(3)) { |
361 if (__INST(nargs) == __MKSMALLINT(3)) { |
362 #if defined(THIS_CONTEXT) |
362 #if defined(THIS_CONTEXT) |
363 if (__ISVALID_ILC_LNO(__pilc)) |
363 if (__ISVALID_ILC_LNO(__pilc)) |
364 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
364 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
365 #endif |
365 #endif |
366 thecode = _BlockInstPtr(self)->b_code; |
366 thecode = __BlockInstPtr(self)->b_code; |
367 #ifdef NEW_BLOCK_CALL |
367 #ifdef NEW_BLOCK_CALL |
368 if (thecode != (OBJFUNC)nil) { |
368 if (thecode != (OBJFUNC)nil) { |
369 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3) ); |
369 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3) ); |
370 } |
370 } |
371 # ifdef PASS_ARG_POINTER |
371 # ifdef PASS_ARG_POINTER |
372 RETURN ( __interpret(self, 3, nil, nil COMMA_SND, nil, &arg1) ); |
372 RETURN ( __interpret(self, 3, nil, nil COMMA_SND, nil, &arg1) ); |
373 # else |
373 # else |
374 RETURN ( __interpret(self, 3, nil, nil COMMA_SND, nil, arg1, arg2, arg3) ); |
374 RETURN ( __interpret(self, 3, nil, nil COMMA_SND, nil, arg1, arg2, arg3) ); |
375 # endif |
375 # endif |
376 #else |
376 #else |
377 home = _BlockInstPtr(self)->b_home; |
377 home = __BlockInstPtr(self)->b_home; |
378 if (thecode != (OBJFUNC)nil) { |
378 if (thecode != (OBJFUNC)nil) { |
379 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3) ); |
379 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3) ); |
380 } |
380 } |
381 # ifdef PASS_ARG_POINTER |
381 # ifdef PASS_ARG_POINTER |
382 RETURN ( __interpret(self, 3, nil, home COMMA_SND, nil, &arg1) ); |
382 RETURN ( __interpret(self, 3, nil, home COMMA_SND, nil, &arg1) ); |
396 %{ /* NOCONTEXT */ |
396 %{ /* NOCONTEXT */ |
397 |
397 |
398 REGISTER OBJFUNC thecode; |
398 REGISTER OBJFUNC thecode; |
399 OBJ home; |
399 OBJ home; |
400 |
400 |
401 if (_INST(nargs) == _MKSMALLINT(4)) { |
401 if (__INST(nargs) == __MKSMALLINT(4)) { |
402 #if defined(THIS_CONTEXT) |
402 #if defined(THIS_CONTEXT) |
403 if (__ISVALID_ILC_LNO(__pilc)) |
403 if (__ISVALID_ILC_LNO(__pilc)) |
404 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
404 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
405 #endif |
405 #endif |
406 thecode = _BlockInstPtr(self)->b_code; |
406 thecode = __BlockInstPtr(self)->b_code; |
407 #ifdef NEW_BLOCK_CALL |
407 #ifdef NEW_BLOCK_CALL |
408 if (thecode != (OBJFUNC)nil) { |
408 if (thecode != (OBJFUNC)nil) { |
409 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4) ); |
409 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4) ); |
410 } |
410 } |
411 # ifdef PASS_ARG_POINTER |
411 # ifdef PASS_ARG_POINTER |
412 RETURN ( __interpret(self, 4, nil, nil COMMA_SND, nil, &arg1) ); |
412 RETURN ( __interpret(self, 4, nil, nil COMMA_SND, nil, &arg1) ); |
413 # else |
413 # else |
414 RETURN ( __interpret(self, 4, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4) ); |
414 RETURN ( __interpret(self, 4, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4) ); |
415 # endif |
415 # endif |
416 #else |
416 #else |
417 home = _BlockInstPtr(self)->b_home; |
417 home = __BlockInstPtr(self)->b_home; |
418 if (thecode != (OBJFUNC)nil) { |
418 if (thecode != (OBJFUNC)nil) { |
419 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4) ); |
419 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4) ); |
420 } |
420 } |
421 # ifdef PASS_ARG_POINTER |
421 # ifdef PASS_ARG_POINTER |
422 RETURN ( __interpret(self, 4, nil, home COMMA_SND, nil, &arg1) ); |
422 RETURN ( __interpret(self, 4, nil, home COMMA_SND, nil, &arg1) ); |
436 %{ /* NOCONTEXT */ |
436 %{ /* NOCONTEXT */ |
437 |
437 |
438 REGISTER OBJFUNC thecode; |
438 REGISTER OBJFUNC thecode; |
439 OBJ home; |
439 OBJ home; |
440 |
440 |
441 if (_INST(nargs) == _MKSMALLINT(5)) { |
441 if (__INST(nargs) == __MKSMALLINT(5)) { |
442 #if defined(THIS_CONTEXT) |
442 #if defined(THIS_CONTEXT) |
443 if (__ISVALID_ILC_LNO(__pilc)) |
443 if (__ISVALID_ILC_LNO(__pilc)) |
444 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
444 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
445 #endif |
445 #endif |
446 thecode = _BlockInstPtr(self)->b_code; |
446 thecode = __BlockInstPtr(self)->b_code; |
447 #ifdef NEW_BLOCK_CALL |
447 #ifdef NEW_BLOCK_CALL |
448 if (thecode != (OBJFUNC)nil) { |
448 if (thecode != (OBJFUNC)nil) { |
449 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4, arg5) ); |
449 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4, arg5) ); |
450 } |
450 } |
451 # ifdef PASS_ARG_POINTER |
451 # ifdef PASS_ARG_POINTER |
452 RETURN ( __interpret(self, 5, nil, nil COMMA_SND, nil, &arg1) ); |
452 RETURN ( __interpret(self, 5, nil, nil COMMA_SND, nil, &arg1) ); |
453 # else |
453 # else |
454 RETURN ( __interpret(self, 5, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4, arg5) ); |
454 RETURN ( __interpret(self, 5, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4, arg5) ); |
455 # endif |
455 # endif |
456 #else |
456 #else |
457 home = _BlockInstPtr(self)->b_home; |
457 home = __BlockInstPtr(self)->b_home; |
458 if (thecode != (OBJFUNC)nil) { |
458 if (thecode != (OBJFUNC)nil) { |
459 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4, arg5) ); |
459 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4, arg5) ); |
460 } |
460 } |
461 # ifdef PASS_ARG_POINTER |
461 # ifdef PASS_ARG_POINTER |
462 RETURN ( __interpret(self, 5, nil, home COMMA_SND, nil, &arg1) ); |
462 RETURN ( __interpret(self, 5, nil, home COMMA_SND, nil, &arg1) ); |
476 %{ /* NOCONTEXT */ |
476 %{ /* NOCONTEXT */ |
477 |
477 |
478 REGISTER OBJFUNC thecode; |
478 REGISTER OBJFUNC thecode; |
479 OBJ home; |
479 OBJ home; |
480 |
480 |
481 if (_INST(nargs) == _MKSMALLINT(6)) { |
481 if (__INST(nargs) == __MKSMALLINT(6)) { |
482 #if defined(THIS_CONTEXT) |
482 #if defined(THIS_CONTEXT) |
483 if (__ISVALID_ILC_LNO(__pilc)) |
483 if (__ISVALID_ILC_LNO(__pilc)) |
484 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
484 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
485 #endif |
485 #endif |
486 thecode = _BlockInstPtr(self)->b_code; |
486 thecode = __BlockInstPtr(self)->b_code; |
487 #ifdef NEW_BLOCK_CALL |
487 #ifdef NEW_BLOCK_CALL |
488 if (thecode != (OBJFUNC)nil) { |
488 if (thecode != (OBJFUNC)nil) { |
489 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4, arg5, arg6) ); |
489 RETURN ( (*thecode)(self COMMA_SND, arg1, arg2, arg3, arg4, arg5, arg6) ); |
490 } |
490 } |
491 # ifdef PASS_ARG_POINTER |
491 # ifdef PASS_ARG_POINTER |
492 RETURN ( __interpret(self, 6, nil, nil COMMA_SND, nil, &arg1) ); |
492 RETURN ( __interpret(self, 6, nil, nil COMMA_SND, nil, &arg1) ); |
493 # else |
493 # else |
494 RETURN ( __interpret(self, 6, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4, arg5, arg6) ); |
494 RETURN ( __interpret(self, 6, nil, nil COMMA_SND, nil, arg1, arg2, arg3, arg4, arg5, arg6) ); |
495 # endif |
495 # endif |
496 #else |
496 #else |
497 home = _BlockInstPtr(self)->b_home; |
497 home = __BlockInstPtr(self)->b_home; |
498 if (thecode != (OBJFUNC)nil) { |
498 if (thecode != (OBJFUNC)nil) { |
499 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4, arg5, arg6) ); |
499 RETURN ( (*thecode)(home COMMA_SND, arg1, arg2, arg3, arg4, arg5, arg6) ); |
500 } |
500 } |
501 # ifdef PASS_ARG_POINTER |
501 # ifdef PASS_ARG_POINTER |
502 RETURN ( __interpret(self, 6, nil, home COMMA_SND, nil, &arg1) ); |
502 RETURN ( __interpret(self, 6, nil, home COMMA_SND, nil, &arg1) ); |
530 REGISTER OBJ *ap; |
530 REGISTER OBJ *ap; |
531 int nargs; |
531 int nargs; |
532 |
532 |
533 #if defined(THIS_CONTEXT) |
533 #if defined(THIS_CONTEXT) |
534 if (__ISVALID_ILC_LNO(__pilc)) |
534 if (__ISVALID_ILC_LNO(__pilc)) |
535 _ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
535 __ContextInstPtr(__thisContext)->c_lineno = __ILC_LNO_AS_OBJ(__pilc); |
536 #endif |
536 #endif |
537 thecode = _BlockInstPtr(self)->b_code; |
537 thecode = __BlockInstPtr(self)->b_code; |
538 |
538 |
539 #ifndef NEW_BLOCK_CALL |
539 #ifndef NEW_BLOCK_CALL |
540 home = _BlockInstPtr(self)->b_home; |
540 home = __BlockInstPtr(self)->b_home; |
541 if (thecode != (OBJFUNC)nil) { |
541 if (thecode != (OBJFUNC)nil) { |
542 switch (nargs = _intVal(_INST(nargs))) { |
542 switch (nargs = __intVal(__INST(nargs))) { |
543 default: |
543 default: |
544 goto error; |
544 goto error; |
545 case 8: |
545 case 8: |
546 ap = _ArrayInstPtr(argArray)->a_element; |
546 ap = __ArrayInstPtr(argArray)->a_element; |
547 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5], ap[6], ap[7]) ); |
547 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5], ap[6], ap[7]) ); |
548 case 7: |
548 case 7: |
549 ap = _ArrayInstPtr(argArray)->a_element; |
549 ap = __ArrayInstPtr(argArray)->a_element; |
550 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5], ap[6]) ); |
550 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5], ap[6]) ); |
551 case 6: |
551 case 6: |
552 ap = _ArrayInstPtr(argArray)->a_element; |
552 ap = __ArrayInstPtr(argArray)->a_element; |
553 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5]) ); |
553 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4], ap[5]) ); |
554 case 5: |
554 case 5: |
555 ap = _ArrayInstPtr(argArray)->a_element; |
555 ap = __ArrayInstPtr(argArray)->a_element; |
556 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4]) ); |
556 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3], ap[4]) ); |
557 case 4: |
557 case 4: |
558 ap = _ArrayInstPtr(argArray)->a_element; |
558 ap = __ArrayInstPtr(argArray)->a_element; |
559 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3]) ); |
559 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2], ap[3]) ); |
560 case 3: |
560 case 3: |
561 ap = _ArrayInstPtr(argArray)->a_element; |
561 ap = __ArrayInstPtr(argArray)->a_element; |
562 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2]) ); |
562 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1], ap[2]) ); |
563 case 2: |
563 case 2: |
564 ap = _ArrayInstPtr(argArray)->a_element; |
564 ap = __ArrayInstPtr(argArray)->a_element; |
565 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1]) ); |
565 RETURN ( (*thecode)(home COMMA_SND, ap[0], ap[1]) ); |
566 case 1: |
566 case 1: |
567 RETURN ( (*thecode)(home COMMA_SND, _ArrayInstPtr(argArray)->a_element[0]) ); |
567 RETURN ( (*thecode)(home COMMA_SND, __ArrayInstPtr(argArray)->a_element[0]) ); |
568 case 0: |
568 case 0: |
569 RETURN ( (*thecode)(home COMMA_SND) ); |
569 RETURN ( (*thecode)(home COMMA_SND) ); |
570 break; |
570 break; |
571 } |
571 } |
572 } |
572 } |
573 #endif |
573 #endif |
574 |
574 |
575 switch (nargs = _intVal(_INST(nargs))) { |
575 switch (nargs = __intVal(__INST(nargs))) { |
576 default: |
576 default: |
577 goto error; |
577 goto error; |
578 case 8: |
578 case 8: |
579 a8 = _ArrayInstPtr(argArray)->a_element[7]; |
579 a8 = __ArrayInstPtr(argArray)->a_element[7]; |
580 case 7: |
580 case 7: |
581 a7 = _ArrayInstPtr(argArray)->a_element[6]; |
581 a7 = __ArrayInstPtr(argArray)->a_element[6]; |
582 case 6: |
582 case 6: |
583 a6 = _ArrayInstPtr(argArray)->a_element[5]; |
583 a6 = __ArrayInstPtr(argArray)->a_element[5]; |
584 case 5: |
584 case 5: |
585 a5 = _ArrayInstPtr(argArray)->a_element[4]; |
585 a5 = __ArrayInstPtr(argArray)->a_element[4]; |
586 case 4: |
586 case 4: |
587 a4 = _ArrayInstPtr(argArray)->a_element[3]; |
587 a4 = __ArrayInstPtr(argArray)->a_element[3]; |
588 case 3: |
588 case 3: |
589 a3 = _ArrayInstPtr(argArray)->a_element[2]; |
589 a3 = __ArrayInstPtr(argArray)->a_element[2]; |
590 case 2: |
590 case 2: |
591 a2 = _ArrayInstPtr(argArray)->a_element[1]; |
591 a2 = __ArrayInstPtr(argArray)->a_element[1]; |
592 case 1: |
592 case 1: |
593 a1 = _ArrayInstPtr(argArray)->a_element[0]; |
593 a1 = __ArrayInstPtr(argArray)->a_element[0]; |
594 case 0: |
594 case 0: |
595 break; |
595 break; |
596 } |
596 } |
|
597 |
597 #ifdef NEW_BLOCK_CALL |
598 #ifdef NEW_BLOCK_CALL |
598 if (thecode != (OBJFUNC)nil) { |
599 if (thecode != (OBJFUNC)nil) { |
599 RETURN ( (*thecode)(self COMMA_SND, a1, a2, a3, a4, a5, a6, a7, a8) ); |
600 RETURN ( (*thecode)(self COMMA_SND, a1, a2, a3, a4, a5, a6, a7, a8) ); |
600 } |
601 } |
601 # ifdef PASS_ARG_POINTER |
602 # ifdef PASS_ARG_POINTER |