Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1181)

Delta Between Two Patch Sets: Python/opt/gen/instr-impl.h.gen

Issue 14757: INCA: Inline Caching meets Quickening in Python 3.3
Left Patch Set: Created 1 year ago
Right Patch Set: Created 1 year ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « Python/opt/gen/inca-instr-decoding.h.gen ('k') | Python/opt/gen/opcode.h.gen » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 /* 1 /*
2 * This files was auto-generated on 2012-04-25T16:14:56.789112, please don't cha nge! 2 * This files was auto-generated on 2012-04-25T16:14:56.789112, please don't cha nge!
3 * Project-Id: contrib-3.3 3 * Project-Id: contrib-3.3
4 * Years: 2010, 2011, 2012 4 * Years: 2010, 2011, 2012
5 */ 5 */
6 6
7 7
8 TARGET(POP_TOP) 8 TARGET(POP_TOP)
9 v = POP(); 9 v = POP();
10 Py_DECREF(v); 10 Py_DECREF(v);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 /* repair stack pointer */ 57 /* repair stack pointer */
58 stack_pointer+= 1; 58 stack_pointer+= 1;
59 /* dispatch to generic implementation */ 59 /* dispatch to generic implementation */
60 goto TARGET_BINARY_ADD_SKIP_DISPATCH; 60 goto TARGET_BINARY_ADD_SKIP_DISPATCH;
61 } // if 61 } // if
62 62
63 x= unicode_concatenate(v, w, f, next_instr); 63 x= unicode_concatenate(v, w, f, next_instr);
64 64
65 Py_DECREF(w); 65 Py_DECREF(w);
66 SET_TOP(x); 66 SET_TOP(x);
67 67
68 if (x != NULL) DISPATCH(); 68 if (x != NULL) DISPATCH();
69 goto on_error; 69 goto on_error;
70 70
71 71
72 72
73 73
74 74
75 OPT_TARGET_DECODE_ARG(INCA_UNPACK_TUPLE_TWO) 75 OPT_TARGET_DECODE_ARG(INCA_UNPACK_TUPLE_TWO)
76 v = POP(); 76 v = POP();
77 77
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 409
410 410
411 OPT_TARGET_DECODE_ARG(INCA_BUILD_SLICE_TWO) 411 OPT_TARGET_DECODE_ARG(INCA_BUILD_SLICE_TWO)
412 v = TOP(); 412 v = TOP();
413 u = SECOND(); 413 u = SECOND();
414 STACKADJ(-1); 414 STACKADJ(-1);
415 x = PySlice_New(u, v, NULL); 415 x = PySlice_New(u, v, NULL);
416 Py_DECREF(u); 416 Py_DECREF(u);
417 Py_DECREF(v); 417 Py_DECREF(v);
418 SET_TOP(x); 418 SET_TOP(x);
419 419
420 if (x != NULL) DISPATCH(); 420 if (x != NULL) DISPATCH();
421 goto on_error; 421 goto on_error;
422 422
423 423
424 424
425 425
426 426
427 427
428 428
429 OPT_TARGET_DECODE_ARG(INCA_BUILD_SLICE_THREE) 429 OPT_TARGET_DECODE_ARG(INCA_BUILD_SLICE_THREE)
430 w = TOP(); 430 w = TOP();
431 v = SECOND(); 431 v = SECOND();
432 u = THIRD(); 432 u = THIRD();
433 STACKADJ(-2); 433 STACKADJ(-2);
434 x = PySlice_New(u, v, w); 434 x = PySlice_New(u, v, w);
435 Py_DECREF(u); 435 Py_DECREF(u);
436 Py_DECREF(v); 436 Py_DECREF(v);
437 Py_DECREF(w); 437 Py_DECREF(w);
438 SET_TOP(x); 438 SET_TOP(x);
439 439
440 if (x != NULL) DISPATCH(); 440 if (x != NULL) DISPATCH();
441 goto on_error; 441 goto on_error;
442 442
443 443
444 444
445 445
446 446
447 447
448 448
449 OPT_TARGET_DECODE_ARG(INCA_CMP_FLOAT) 449 OPT_TARGET_DECODE_ARG(INCA_CMP_FLOAT)
450 w= POP(); // tos element 450 w= POP(); // tos element
451 v= TOP(); // sec element 451 v= TOP(); // sec element
452 452
453 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) goto COMPARE_OP_MISS; 453 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) goto COMPARE_OP_MISS;
454 x= PyFloat_Type.tp_richcompare(v, w, oparg); 454 x= PyFloat_Type.tp_richcompare(v, w, oparg);
455 455
456 Py_DECREF( w ); 456 Py_DECREF( w );
457 Py_DECREF( v ); 457 Py_DECREF( v );
458 458
459 SET_TOP(x); 459 SET_TOP(x);
460 460
461 if (x != NULL) DISPATCH(); 461 if (x != NULL) DISPATCH();
462 goto on_error; 462 goto on_error;
463 463
464 464
465 465
466 466
467 467
468 468
469 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_TRUE_DIVIDE) 469 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_TRUE_DIVIDE)
470 /* template: IncaDerivative */ 470 /* template: IncaDerivative */
471 471
472 w= POP(); 472 w= POP();
473 v= TOP(); 473 v= TOP();
474 474
475 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 475 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
476 /* repair stack pointer */ 476 /* repair stack pointer */
477 stack_pointer+= 1; 477 stack_pointer+= 1;
478 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 478 /* fprintf(stderr, "generated by template inline cache miss\n"); */
479 479
480 /* dispatch to generic implementation */ 480 /* dispatch to generic implementation */
481 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;; 481 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;;
482 } // if 482 } // if
483 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 483 /* fprintf(stderr, "generated by template inline cache hit\n"); */
484 484
485 x= PyFloat_Type.tp_as_number->nb_true_divide( v, w ); 485 x= PyFloat_Type.tp_as_number->nb_true_divide( v, w );
486 486
487 Py_DECREF( w ); 487 Py_DECREF( w );
488 Py_DECREF( v ); 488 Py_DECREF( v );
489 489
490 SET_TOP(x); 490 SET_TOP(x);
491 491
492 if (x != NULL) DISPATCH(); 492 if (x != NULL) DISPATCH();
493 goto on_error; 493 goto on_error;
494 494
495 495
496 496
497 497
498 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_SUBTRACT) 498 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_SUBTRACT)
499 /* template: IncaDerivative */ 499 /* template: IncaDerivative */
500 500
501 w= POP(); 501 w= POP();
502 v= TOP(); 502 v= TOP();
503 503
504 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 504 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
505 /* repair stack pointer */ 505 /* repair stack pointer */
506 stack_pointer+= 1; 506 stack_pointer+= 1;
507 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 507 /* fprintf(stderr, "generated by template inline cache miss\n"); */
508 508
509 /* dispatch to generic implementation */ 509 /* dispatch to generic implementation */
510 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;; 510 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;;
511 } // if 511 } // if
512 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 512 /* fprintf(stderr, "generated by template inline cache hit\n"); */
513 513
514 514
515 { 515 {
516 double a, b; 516 double a, b;
517 517
518 PyFPE_START_PROTECT("sub", (a= 0)); 518 PyFPE_START_PROTECT("sub", (a= 0));
519 a= PyFloat_AS_DOUBLE(v); 519 a= PyFloat_AS_DOUBLE(v);
520 b= PyFloat_AS_DOUBLE(w); 520 b= PyFloat_AS_DOUBLE(w);
521 a -= b; 521 a -= b;
522 PyFPE_END_PROTECT(a); 522 PyFPE_END_PROTECT(a);
523 x= PyFloat_FromDouble(a); 523 x= PyFloat_FromDouble(a);
524 } 524 }
525 525
526 526
527 Py_DECREF( w ); 527 Py_DECREF( w );
528 Py_DECREF( v ); 528 Py_DECREF( v );
529 529
530 SET_TOP(x); 530 SET_TOP(x);
531 531
532 if (x != NULL) DISPATCH(); 532 if (x != NULL) DISPATCH();
533 goto on_error; 533 goto on_error;
534 534
535 535
536 536
537 537
538 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_POWER) 538 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_POWER)
539 /* template: IncaDerivative */ 539 /* template: IncaDerivative */
540 540
541 w= POP(); 541 w= POP();
542 v= TOP(); 542 v= TOP();
543 543
544 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 544 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
545 /* repair stack pointer */ 545 /* repair stack pointer */
546 stack_pointer+= 1; 546 stack_pointer+= 1;
547 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 547 /* fprintf(stderr, "generated by template inline cache miss\n"); */
548 548
549 /* dispatch to generic implementation */ 549 /* dispatch to generic implementation */
550 goto TARGET_BINARY_POWER_SKIP_DISPATCH;; 550 goto TARGET_BINARY_POWER_SKIP_DISPATCH;;
551 } // if 551 } // if
552 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 552 /* fprintf(stderr, "generated by template inline cache hit\n"); */
553 553
554 x= PyFloat_Type.tp_as_number->nb_power( v, w, Py_None ); 554 x= PyFloat_Type.tp_as_number->nb_power( v, w, Py_None );
555 555
556 Py_DECREF( w ); 556 Py_DECREF( w );
557 Py_DECREF( v ); 557 Py_DECREF( v );
558 558
559 SET_TOP(x); 559 SET_TOP(x);
560 560
561 if (x != NULL) DISPATCH(); 561 if (x != NULL) DISPATCH();
562 goto on_error; 562 goto on_error;
563 563
564 564
565 565
566 566
567 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_POSITIVE) 567 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_POSITIVE)
568 /* template: IncaDerivative */ 568 /* template: IncaDerivative */
569 569
570 v= TOP(); 570 v= TOP();
571 571
572 if (INLINE_CACHE_MISS_UNARY(v, PyFloat_Type)) { 572 if (INLINE_CACHE_MISS_UNARY(v, PyFloat_Type)) {
573 /* repair stack pointer */ 573 /* repair stack pointer */
574 stack_pointer+= 0; 574 stack_pointer+= 0;
575 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 575 /* fprintf(stderr, "generated by template inline cache miss\n"); */
576 576
577 /* dispatch to generic implementation */ 577 /* dispatch to generic implementation */
578 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;; 578 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;;
579 } // if 579 } // if
580 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 580 /* fprintf(stderr, "generated by template inline cache hit\n"); */
581 581
582 x= PyFloat_Type.tp_as_number->nb_positive( v ); 582 x= PyFloat_Type.tp_as_number->nb_positive( v );
583 583
584 Py_DECREF( v ); 584 Py_DECREF( v );
585 585
586 SET_TOP(x); 586 SET_TOP(x);
587 587
588 if (x != NULL) DISPATCH(); 588 if (x != NULL) DISPATCH();
589 goto on_error; 589 goto on_error;
590 590
591 591
592 592
593 593
594 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_REMAINDER) 594 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_REMAINDER)
595 /* template: IncaDerivative */ 595 /* template: IncaDerivative */
596 596
597 w= POP(); 597 w= POP();
598 v= TOP(); 598 v= TOP();
599 599
600 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 600 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
601 /* repair stack pointer */ 601 /* repair stack pointer */
602 stack_pointer+= 1; 602 stack_pointer+= 1;
603 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 603 /* fprintf(stderr, "generated by template inline cache miss\n"); */
604 604
605 /* dispatch to generic implementation */ 605 /* dispatch to generic implementation */
606 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;; 606 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;;
607 } // if 607 } // if
608 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 608 /* fprintf(stderr, "generated by template inline cache hit\n"); */
609 609
610 x= PyFloat_Type.tp_as_number->nb_remainder( v, w ); 610 x= PyFloat_Type.tp_as_number->nb_remainder( v, w );
611 611
612 Py_DECREF( w ); 612 Py_DECREF( w );
613 Py_DECREF( v ); 613 Py_DECREF( v );
614 614
615 SET_TOP(x); 615 SET_TOP(x);
616 616
617 if (x != NULL) DISPATCH(); 617 if (x != NULL) DISPATCH();
618 goto on_error; 618 goto on_error;
619 619
620 620
621 621
622 622
623 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_NEGATIVE) 623 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_NEGATIVE)
624 /* template: IncaDerivative */ 624 /* template: IncaDerivative */
625 625
626 v= TOP(); 626 v= TOP();
627 627
628 if (INLINE_CACHE_MISS_UNARY(v, PyFloat_Type)) { 628 if (INLINE_CACHE_MISS_UNARY(v, PyFloat_Type)) {
629 /* repair stack pointer */ 629 /* repair stack pointer */
630 stack_pointer+= 0; 630 stack_pointer+= 0;
631 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 631 /* fprintf(stderr, "generated by template inline cache miss\n"); */
632 632
633 /* dispatch to generic implementation */ 633 /* dispatch to generic implementation */
634 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;; 634 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;;
635 } // if 635 } // if
636 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 636 /* fprintf(stderr, "generated by template inline cache hit\n"); */
637 637
638 x= PyFloat_Type.tp_as_number->nb_negative( v ); 638 x= PyFloat_Type.tp_as_number->nb_negative( v );
639 639
640 Py_DECREF( v ); 640 Py_DECREF( v );
641 641
642 SET_TOP(x); 642 SET_TOP(x);
643 643
644 if (x != NULL) DISPATCH(); 644 if (x != NULL) DISPATCH();
645 goto on_error; 645 goto on_error;
646 646
647 647
648 648
649 649
650 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_ADD) 650 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_ADD)
651 /* template: IncaDerivative */ 651 /* template: IncaDerivative */
652 652
653 w= POP(); 653 w= POP();
654 v= TOP(); 654 v= TOP();
655 655
656 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 656 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
657 /* repair stack pointer */ 657 /* repair stack pointer */
658 stack_pointer+= 1; 658 stack_pointer+= 1;
659 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 659 /* fprintf(stderr, "generated by template inline cache miss\n"); */
660 660
661 /* dispatch to generic implementation */ 661 /* dispatch to generic implementation */
662 goto TARGET_BINARY_ADD_SKIP_DISPATCH;; 662 goto TARGET_BINARY_ADD_SKIP_DISPATCH;;
663 } // if 663 } // if
664 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 664 /* fprintf(stderr, "generated by template inline cache hit\n"); */
665 665
666 666
667 { 667 {
668 double a, b; 668 double a, b;
669 669
670 PyFPE_START_PROTECT("add", (a= 0)); 670 PyFPE_START_PROTECT("add", (a= 0));
671 a= PyFloat_AS_DOUBLE(v); 671 a= PyFloat_AS_DOUBLE(v);
672 b= PyFloat_AS_DOUBLE(w); 672 b= PyFloat_AS_DOUBLE(w);
673 a += b; 673 a += b;
674 PyFPE_END_PROTECT(a); 674 PyFPE_END_PROTECT(a);
675 x= PyFloat_FromDouble(a); 675 x= PyFloat_FromDouble(a);
676 } 676 }
677 677
678 678
679 Py_DECREF( w ); 679 Py_DECREF( w );
680 Py_DECREF( v ); 680 Py_DECREF( v );
681 681
682 SET_TOP(x); 682 SET_TOP(x);
683 683
684 if (x != NULL) DISPATCH(); 684 if (x != NULL) DISPATCH();
685 goto on_error; 685 goto on_error;
686 686
687 687
688 688
689 689
690 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_MULTIPLY) 690 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_MULTIPLY)
691 /* template: IncaDerivative */ 691 /* template: IncaDerivative */
692 692
693 w= POP(); 693 w= POP();
694 v= TOP(); 694 v= TOP();
695 695
696 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 696 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
697 /* repair stack pointer */ 697 /* repair stack pointer */
698 stack_pointer+= 1; 698 stack_pointer+= 1;
699 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 699 /* fprintf(stderr, "generated by template inline cache miss\n"); */
700 700
701 /* dispatch to generic implementation */ 701 /* dispatch to generic implementation */
702 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;; 702 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;;
703 } // if 703 } // if
704 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 704 /* fprintf(stderr, "generated by template inline cache hit\n"); */
705 705
706 706
707 { 707 {
708 double a, b; 708 double a, b;
709 709
710 PyFPE_START_PROTECT("mult", (a= 0)); 710 PyFPE_START_PROTECT("mult", (a= 0));
711 a= PyFloat_AS_DOUBLE(v); 711 a= PyFloat_AS_DOUBLE(v);
712 b= PyFloat_AS_DOUBLE(w); 712 b= PyFloat_AS_DOUBLE(w);
713 a *= b; 713 a *= b;
714 PyFPE_END_PROTECT(a); 714 PyFPE_END_PROTECT(a);
715 x= PyFloat_FromDouble(a); 715 x= PyFloat_FromDouble(a);
716 } 716 }
717 717
718 718
719 Py_DECREF( w ); 719 Py_DECREF( w );
720 Py_DECREF( v ); 720 Py_DECREF( v );
721 721
722 SET_TOP(x); 722 SET_TOP(x);
723 723
724 if (x != NULL) DISPATCH(); 724 if (x != NULL) DISPATCH();
725 goto on_error; 725 goto on_error;
726 726
727 727
728 728
729 729
730 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_FLOOR_DIVIDE) 730 OPT_TARGET_DECODE_NOARG(INCA_FLOAT_FLOOR_DIVIDE)
731 /* template: IncaDerivative */ 731 /* template: IncaDerivative */
732 732
733 w= POP(); 733 w= POP();
734 v= TOP(); 734 v= TOP();
735 735
736 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) { 736 if (INLINE_CACHE_MISS(v, w, PyFloat_Type)) {
737 /* repair stack pointer */ 737 /* repair stack pointer */
738 stack_pointer+= 1; 738 stack_pointer+= 1;
739 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 739 /* fprintf(stderr, "generated by template inline cache miss\n"); */
740 740
741 /* dispatch to generic implementation */ 741 /* dispatch to generic implementation */
742 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;; 742 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;;
743 } // if 743 } // if
744 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 744 /* fprintf(stderr, "generated by template inline cache hit\n"); */
745 745
746 x= PyFloat_Type.tp_as_number->nb_floor_divide( v, w ); 746 x= PyFloat_Type.tp_as_number->nb_floor_divide( v, w );
747 747
748 Py_DECREF( w ); 748 Py_DECREF( w );
749 Py_DECREF( v ); 749 Py_DECREF( v );
750 750
751 SET_TOP(x); 751 SET_TOP(x);
752 752
753 if (x != NULL) DISPATCH(); 753 if (x != NULL) DISPATCH();
754 goto on_error; 754 goto on_error;
755 755
756 756
757 757
758 OPT_TARGET_DECODE_ARG(INCA_CMP_DICT) 758 OPT_TARGET_DECODE_ARG(INCA_CMP_DICT)
759 w= POP(); // tos element 759 w= POP(); // tos element
760 v= TOP(); // sec element 760 v= TOP(); // sec element
761 761
762 if (INLINE_CACHE_MISS(v, w, PyDict_Type)) goto COMPARE_OP_MISS; 762 if (INLINE_CACHE_MISS(v, w, PyDict_Type)) goto COMPARE_OP_MISS;
763 x= PyDict_Type.tp_richcompare(v, w, oparg); 763 x= PyDict_Type.tp_richcompare(v, w, oparg);
764 764
765 Py_DECREF( w ); 765 Py_DECREF( w );
766 Py_DECREF( v ); 766 Py_DECREF( v );
767 767
768 SET_TOP(x); 768 SET_TOP(x);
769 769
770 if (x != NULL) DISPATCH(); 770 if (x != NULL) DISPATCH();
771 goto on_error; 771 goto on_error;
772 772
773 773
774 774
775 775
776 776
777 777
778 OPT_TARGET_DECODE_NOARG(INCA_DICT_SUBSCRIPT) 778 OPT_TARGET_DECODE_NOARG(INCA_DICT_SUBSCRIPT)
779 /* template: IncaDerivative */ 779 /* template: IncaDerivative */
780 780
781 w= POP(); 781 w= POP();
782 v= TOP(); 782 v= TOP();
783 783
784 if (INLINE_CACHE_MISS_UNARY(v, PyDict_Type)) { 784 if (INLINE_CACHE_MISS_UNARY(v, PyDict_Type)) {
785 /* repair stack pointer */ 785 /* repair stack pointer */
786 stack_pointer+= 1; 786 stack_pointer+= 1;
787 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 787 /* fprintf(stderr, "generated by template inline cache miss\n"); */
788 788
789 /* dispatch to generic implementation */ 789 /* dispatch to generic implementation */
790 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;; 790 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;;
791 } // if 791 } // if
792 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 792 /* fprintf(stderr, "generated by template inline cache hit\n"); */
793 793
794 x= PyDict_Type.tp_as_mapping->mp_subscript( v, w ); 794 x= PyDict_Type.tp_as_mapping->mp_subscript( v, w );
795 795
796 Py_DECREF( w ); 796 Py_DECREF( w );
797 Py_DECREF( v ); 797 Py_DECREF( v );
798 798
799 SET_TOP(x); 799 SET_TOP(x);
800 800
801 if (x != NULL) DISPATCH(); 801 if (x != NULL) DISPATCH();
802 goto on_error; 802 goto on_error;
803 803
804 804
805 805
806 OPT_TARGET_DECODE_NOARG(INCA_DICT_ASS_SUBSCRIPT) 806 OPT_TARGET_DECODE_NOARG(INCA_DICT_ASS_SUBSCRIPT)
807 /* template: IncaSubscriptDerivative */ 807 /* template: IncaSubscriptDerivative */
808 w= TOP(); 808 w= TOP();
809 v= SECOND(); 809 v= SECOND();
810 u= THIRD(); 810 u= THIRD();
(...skipping 28 matching lines...) Expand all
839 839
840 840
841 841
842 842
843 OPT_TARGET_DECODE_ARG(INCA_CMP_TUPLE) 843 OPT_TARGET_DECODE_ARG(INCA_CMP_TUPLE)
844 w= POP(); // tos element 844 w= POP(); // tos element
845 v= TOP(); // sec element 845 v= TOP(); // sec element
846 846
847 if (INLINE_CACHE_MISS(v, w, PyTuple_Type)) goto COMPARE_OP_MISS; 847 if (INLINE_CACHE_MISS(v, w, PyTuple_Type)) goto COMPARE_OP_MISS;
848 x= PyTuple_Type.tp_richcompare(v, w, oparg); 848 x= PyTuple_Type.tp_richcompare(v, w, oparg);
849 849
850 Py_DECREF( w ); 850 Py_DECREF( w );
851 Py_DECREF( v ); 851 Py_DECREF( v );
852 852
853 SET_TOP(x); 853 SET_TOP(x);
854 854
855 if (x != NULL) DISPATCH(); 855 if (x != NULL) DISPATCH();
856 goto on_error; 856 goto on_error;
857 857
858 858
859 859
860 860
861 861
862 862
863 OPT_TARGET_DECODE_NOARG(INCA_TUPLE_SUBSCRIPT) 863 OPT_TARGET_DECODE_NOARG(INCA_TUPLE_SUBSCRIPT)
864 /* template: IncaDerivative */ 864 /* template: IncaDerivative */
865 865
866 w= POP(); 866 w= POP();
867 v= TOP(); 867 v= TOP();
868 868
869 if (INLINE_CACHE_MISS_UNARY(v, PyTuple_Type)) { 869 if (INLINE_CACHE_MISS_UNARY(v, PyTuple_Type)) {
870 /* repair stack pointer */ 870 /* repair stack pointer */
871 stack_pointer+= 1; 871 stack_pointer+= 1;
872 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 872 /* fprintf(stderr, "generated by template inline cache miss\n"); */
873 873
874 /* dispatch to generic implementation */ 874 /* dispatch to generic implementation */
875 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;; 875 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;;
876 } // if 876 } // if
877 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 877 /* fprintf(stderr, "generated by template inline cache hit\n"); */
878 878
879 x= PyTuple_Type.tp_as_mapping->mp_subscript( v, w ); 879 x= PyTuple_Type.tp_as_mapping->mp_subscript( v, w );
880 880
881 Py_DECREF( w ); 881 Py_DECREF( w );
882 Py_DECREF( v ); 882 Py_DECREF( v );
883 883
884 SET_TOP(x); 884 SET_TOP(x);
885 885
886 if (x != NULL) DISPATCH(); 886 if (x != NULL) DISPATCH();
887 goto on_error; 887 goto on_error;
888 888
889 889
890 890
891 891
892 OPT_TARGET_DECODE_NOARG(INCA_BOOL_XOR) 892 OPT_TARGET_DECODE_NOARG(INCA_BOOL_XOR)
893 /* template: IncaDerivative */ 893 /* template: IncaDerivative */
894 894
895 w= POP(); 895 w= POP();
896 v= TOP(); 896 v= TOP();
897 897
898 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) { 898 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) {
899 /* repair stack pointer */ 899 /* repair stack pointer */
900 stack_pointer+= 1; 900 stack_pointer+= 1;
901 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 901 /* fprintf(stderr, "generated by template inline cache miss\n"); */
902 902
903 /* dispatch to generic implementation */ 903 /* dispatch to generic implementation */
904 goto TARGET_BINARY_XOR_SKIP_DISPATCH;; 904 goto TARGET_BINARY_XOR_SKIP_DISPATCH;;
905 } // if 905 } // if
906 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 906 /* fprintf(stderr, "generated by template inline cache hit\n"); */
907 907
908 x= PyBool_Type.tp_as_number->nb_xor( v, w ); 908 x= PyBool_Type.tp_as_number->nb_xor( v, w );
909 909
910 Py_DECREF( w ); 910 Py_DECREF( w );
911 Py_DECREF( v ); 911 Py_DECREF( v );
912 912
913 SET_TOP(x); 913 SET_TOP(x);
914 914
915 if (x != NULL) DISPATCH(); 915 if (x != NULL) DISPATCH();
916 goto on_error; 916 goto on_error;
917 917
918 918
919 919
920 920
921 OPT_TARGET_DECODE_NOARG(INCA_BOOL_AND) 921 OPT_TARGET_DECODE_NOARG(INCA_BOOL_AND)
922 /* template: IncaDerivative */ 922 /* template: IncaDerivative */
923 923
924 w= POP(); 924 w= POP();
925 v= TOP(); 925 v= TOP();
926 926
927 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) { 927 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) {
928 /* repair stack pointer */ 928 /* repair stack pointer */
929 stack_pointer+= 1; 929 stack_pointer+= 1;
930 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 930 /* fprintf(stderr, "generated by template inline cache miss\n"); */
931 931
932 /* dispatch to generic implementation */ 932 /* dispatch to generic implementation */
933 goto TARGET_BINARY_AND_SKIP_DISPATCH;; 933 goto TARGET_BINARY_AND_SKIP_DISPATCH;;
934 } // if 934 } // if
935 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 935 /* fprintf(stderr, "generated by template inline cache hit\n"); */
936 936
937 x= PyBool_Type.tp_as_number->nb_and( v, w ); 937 x= PyBool_Type.tp_as_number->nb_and( v, w );
938 938
939 Py_DECREF( w ); 939 Py_DECREF( w );
940 Py_DECREF( v ); 940 Py_DECREF( v );
941 941
942 SET_TOP(x); 942 SET_TOP(x);
943 943
944 if (x != NULL) DISPATCH(); 944 if (x != NULL) DISPATCH();
945 goto on_error; 945 goto on_error;
946 946
947 947
948 948
949 949
950 OPT_TARGET_DECODE_NOARG(INCA_BOOL_OR) 950 OPT_TARGET_DECODE_NOARG(INCA_BOOL_OR)
951 /* template: IncaDerivative */ 951 /* template: IncaDerivative */
952 952
953 w= POP(); 953 w= POP();
954 v= TOP(); 954 v= TOP();
955 955
956 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) { 956 if (INLINE_CACHE_MISS(v, w, PyBool_Type)) {
957 /* repair stack pointer */ 957 /* repair stack pointer */
958 stack_pointer+= 1; 958 stack_pointer+= 1;
959 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 959 /* fprintf(stderr, "generated by template inline cache miss\n"); */
960 960
961 /* dispatch to generic implementation */ 961 /* dispatch to generic implementation */
962 goto TARGET_BINARY_OR_SKIP_DISPATCH;; 962 goto TARGET_BINARY_OR_SKIP_DISPATCH;;
963 } // if 963 } // if
964 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 964 /* fprintf(stderr, "generated by template inline cache hit\n"); */
965 965
966 x= PyBool_Type.tp_as_number->nb_or( v, w ); 966 x= PyBool_Type.tp_as_number->nb_or( v, w );
967 967
968 Py_DECREF( w ); 968 Py_DECREF( w );
969 Py_DECREF( v ); 969 Py_DECREF( v );
970 970
971 SET_TOP(x); 971 SET_TOP(x);
972 972
973 if (x != NULL) DISPATCH(); 973 if (x != NULL) DISPATCH();
974 goto on_error; 974 goto on_error;
975 975
976 976
977 977
978 OPT_TARGET_DECODE_ARG(INCA_CMP_COMPLEX) 978 OPT_TARGET_DECODE_ARG(INCA_CMP_COMPLEX)
979 w= POP(); // tos element 979 w= POP(); // tos element
980 v= TOP(); // sec element 980 v= TOP(); // sec element
981 981
982 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) goto COMPARE_OP_MISS; 982 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) goto COMPARE_OP_MISS;
983 x= PyComplex_Type.tp_richcompare(v, w, oparg); 983 x= PyComplex_Type.tp_richcompare(v, w, oparg);
984 984
985 Py_DECREF( w ); 985 Py_DECREF( w );
986 Py_DECREF( v ); 986 Py_DECREF( v );
987 987
988 SET_TOP(x); 988 SET_TOP(x);
989 989
990 if (x != NULL) DISPATCH(); 990 if (x != NULL) DISPATCH();
991 goto on_error; 991 goto on_error;
992 992
993 993
994 994
995 995
996 996
997 997
998 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_TRUE_DIVIDE) 998 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_TRUE_DIVIDE)
999 /* template: IncaDerivative */ 999 /* template: IncaDerivative */
1000 1000
1001 w= POP(); 1001 w= POP();
1002 v= TOP(); 1002 v= TOP();
1003 1003
1004 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1004 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1005 /* repair stack pointer */ 1005 /* repair stack pointer */
1006 stack_pointer+= 1; 1006 stack_pointer+= 1;
1007 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1007 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1008 1008
1009 /* dispatch to generic implementation */ 1009 /* dispatch to generic implementation */
1010 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;; 1010 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;;
1011 } // if 1011 } // if
1012 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1012 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1013 1013
1014 x= PyComplex_Type.tp_as_number->nb_true_divide( v, w ); 1014 x= PyComplex_Type.tp_as_number->nb_true_divide( v, w );
1015 1015
1016 Py_DECREF( w ); 1016 Py_DECREF( w );
1017 Py_DECREF( v ); 1017 Py_DECREF( v );
1018 1018
1019 SET_TOP(x); 1019 SET_TOP(x);
1020 1020
1021 if (x != NULL) DISPATCH(); 1021 if (x != NULL) DISPATCH();
1022 goto on_error; 1022 goto on_error;
1023 1023
1024 1024
1025 1025
1026 1026
1027 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_SUBTRACT) 1027 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_SUBTRACT)
1028 /* template: IncaDerivative */ 1028 /* template: IncaDerivative */
1029 1029
1030 w= POP(); 1030 w= POP();
1031 v= TOP(); 1031 v= TOP();
1032 1032
1033 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1033 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1034 /* repair stack pointer */ 1034 /* repair stack pointer */
1035 stack_pointer+= 1; 1035 stack_pointer+= 1;
1036 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1036 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1037 1037
1038 /* dispatch to generic implementation */ 1038 /* dispatch to generic implementation */
1039 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;; 1039 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;;
1040 } // if 1040 } // if
1041 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1041 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1042 1042
1043 1043
1044 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval 1044 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval
1045 { 1045 {
1046 Py_complex r, a, b; 1046 Py_complex r, a, b;
1047 a= CONVERT(v); 1047 a= CONVERT(v);
1048 b= CONVERT(w); 1048 b= CONVERT(w);
1049 PyFPE_START_PROTECT("complex_add", return 0); 1049 PyFPE_START_PROTECT("complex_add", return 0);
1050 r.real = a.real - b.real; 1050 r.real = a.real - b.real;
1051 r.imag = a.imag - b.imag; 1051 r.imag = a.imag - b.imag;
1052 PyFPE_END_PROTECT(r); 1052 PyFPE_END_PROTECT(r);
1053 x= PyComplex_FromCComplex(r); 1053 x= PyComplex_FromCComplex(r);
1054 } 1054 }
1055 #undef CONVERT 1055 #undef CONVERT
1056 1056
1057 1057
1058 Py_DECREF( w ); 1058 Py_DECREF( w );
1059 Py_DECREF( v ); 1059 Py_DECREF( v );
1060 1060
1061 SET_TOP(x); 1061 SET_TOP(x);
1062 1062
1063 if (x != NULL) DISPATCH(); 1063 if (x != NULL) DISPATCH();
1064 goto on_error; 1064 goto on_error;
1065 1065
1066 1066
1067 1067
1068 TARGET(STORE_MAP) 1068 TARGET(STORE_MAP)
1069 w = TOP(); /* key */ 1069 w = TOP(); /* key */
1070 u = SECOND(); /* value */ 1070 u = SECOND(); /* value */
1071 v = THIRD(); /* dict */ 1071 v = THIRD(); /* dict */
1072 STACKADJ(-2); 1072 STACKADJ(-2);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 Py_DECREF(v); 1118 Py_DECREF(v);
1119 Py_DECREF(w); 1119 Py_DECREF(w);
1120 SET_TOP(x); 1120 SET_TOP(x);
1121 if (x != NULL) DISPATCH(); 1121 if (x != NULL) DISPATCH();
1122 goto on_error;; 1122 goto on_error;;
1123 1123
1124 1124
1125 1125
1126 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_POWER) 1126 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_POWER)
1127 /* template: IncaDerivative */ 1127 /* template: IncaDerivative */
1128 1128
1129 w= POP(); 1129 w= POP();
1130 v= TOP(); 1130 v= TOP();
1131 1131
1132 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1132 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1133 /* repair stack pointer */ 1133 /* repair stack pointer */
1134 stack_pointer+= 1; 1134 stack_pointer+= 1;
1135 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1135 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1136 1136
1137 /* dispatch to generic implementation */ 1137 /* dispatch to generic implementation */
1138 goto TARGET_BINARY_POWER_SKIP_DISPATCH;; 1138 goto TARGET_BINARY_POWER_SKIP_DISPATCH;;
1139 } // if 1139 } // if
1140 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1140 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1141 1141
1142 x= PyComplex_Type.tp_as_number->nb_power( v, w, Py_None ); 1142 x= PyComplex_Type.tp_as_number->nb_power( v, w, Py_None );
1143 1143
1144 Py_DECREF( w ); 1144 Py_DECREF( w );
1145 Py_DECREF( v ); 1145 Py_DECREF( v );
1146 1146
1147 SET_TOP(x); 1147 SET_TOP(x);
1148 1148
1149 if (x != NULL) DISPATCH(); 1149 if (x != NULL) DISPATCH();
1150 goto on_error; 1150 goto on_error;
1151 1151
1152 1152
1153 1153
1154 TARGET(INPLACE_MODULO) 1154 TARGET(INPLACE_MODULO)
1155 w = POP(); 1155 w = POP();
1156 v = TOP(); 1156 v = TOP();
1157 x = PyNumber_InPlaceRemainder(v, w); 1157 x = PyNumber_InPlaceRemainder(v, w);
1158 Py_DECREF(v); 1158 Py_DECREF(v);
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1369 f->f_stacktop = stack_pointer; 1369 f->f_stacktop = stack_pointer;
1370 why = WHY_YIELD; 1370 why = WHY_YIELD;
1371 /* and repeat... */ 1371 /* and repeat... */
1372 f->f_lasti--; 1372 f->f_lasti--;
1373 goto fast_yield; 1373 goto fast_yield;
1374 1374
1375 1375
1376 1376
1377 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_POSITIVE) 1377 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_POSITIVE)
1378 /* template: IncaDerivative */ 1378 /* template: IncaDerivative */
1379 1379
1380 v= TOP(); 1380 v= TOP();
1381 1381
1382 if (INLINE_CACHE_MISS_UNARY(v, PyComplex_Type)) { 1382 if (INLINE_CACHE_MISS_UNARY(v, PyComplex_Type)) {
1383 /* repair stack pointer */ 1383 /* repair stack pointer */
1384 stack_pointer+= 0; 1384 stack_pointer+= 0;
1385 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1385 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1386 1386
1387 /* dispatch to generic implementation */ 1387 /* dispatch to generic implementation */
1388 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;; 1388 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;;
1389 } // if 1389 } // if
1390 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1390 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1391 1391
1392 x= PyComplex_Type.tp_as_number->nb_positive( v ); 1392 x= PyComplex_Type.tp_as_number->nb_positive( v );
1393 1393
1394 Py_DECREF( v ); 1394 Py_DECREF( v );
1395 1395
1396 SET_TOP(x); 1396 SET_TOP(x);
1397 1397
1398 if (x != NULL) DISPATCH(); 1398 if (x != NULL) DISPATCH();
1399 goto on_error; 1399 goto on_error;
1400 1400
1401 1401
1402 1402
1403 1403
1404 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_REMAINDER) 1404 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_REMAINDER)
1405 /* template: IncaDerivative */ 1405 /* template: IncaDerivative */
1406 1406
1407 w= POP(); 1407 w= POP();
1408 v= TOP(); 1408 v= TOP();
1409 1409
1410 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1410 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1411 /* repair stack pointer */ 1411 /* repair stack pointer */
1412 stack_pointer+= 1; 1412 stack_pointer+= 1;
1413 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1413 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1414 1414
1415 /* dispatch to generic implementation */ 1415 /* dispatch to generic implementation */
1416 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;; 1416 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;;
1417 } // if 1417 } // if
1418 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1418 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1419 1419
1420 x= PyComplex_Type.tp_as_number->nb_remainder( v, w ); 1420 x= PyComplex_Type.tp_as_number->nb_remainder( v, w );
1421 1421
1422 Py_DECREF( w ); 1422 Py_DECREF( w );
1423 Py_DECREF( v ); 1423 Py_DECREF( v );
1424 1424
1425 SET_TOP(x); 1425 SET_TOP(x);
1426 1426
1427 if (x != NULL) DISPATCH(); 1427 if (x != NULL) DISPATCH();
1428 goto on_error; 1428 goto on_error;
1429 1429
1430 1430
1431 1431
1432 TARGET(INPLACE_LSHIFT) 1432 TARGET(INPLACE_LSHIFT)
1433 w = POP(); 1433 w = POP();
1434 v = TOP(); 1434 v = TOP();
1435 x = PyNumber_InPlaceLshift(v, w); 1435 x = PyNumber_InPlaceLshift(v, w);
1436 Py_DECREF(v); 1436 Py_DECREF(v);
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
1588 PUSH(PyLong_FromLong((long) WHY_SILENCED)); 1588 PUSH(PyLong_FromLong((long) WHY_SILENCED));
1589 } 1589 }
1590 PREDICT(END_FINALLY); 1590 PREDICT(END_FINALLY);
1591 goto on_error;;;;;; 1591 goto on_error;;;;;;
1592 } 1592 }
1593 1593
1594 1594
1595 1595
1596 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_NEGATIVE) 1596 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_NEGATIVE)
1597 /* template: IncaDerivative */ 1597 /* template: IncaDerivative */
1598 1598
1599 v= TOP(); 1599 v= TOP();
1600 1600
1601 if (INLINE_CACHE_MISS_UNARY(v, PyComplex_Type)) { 1601 if (INLINE_CACHE_MISS_UNARY(v, PyComplex_Type)) {
1602 /* repair stack pointer */ 1602 /* repair stack pointer */
1603 stack_pointer+= 0; 1603 stack_pointer+= 0;
1604 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1604 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1605 1605
1606 /* dispatch to generic implementation */ 1606 /* dispatch to generic implementation */
1607 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;; 1607 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;;
1608 } // if 1608 } // if
1609 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1609 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1610 1610
1611 x= PyComplex_Type.tp_as_number->nb_negative( v ); 1611 x= PyComplex_Type.tp_as_number->nb_negative( v );
1612 1612
1613 Py_DECREF( v ); 1613 Py_DECREF( v );
1614 1614
1615 SET_TOP(x); 1615 SET_TOP(x);
1616 1616
1617 if (x != NULL) DISPATCH(); 1617 if (x != NULL) DISPATCH();
1618 goto on_error; 1618 goto on_error;
1619 1619
1620 1620
1621 1621
1622 TARGET(RETURN_VALUE) 1622 TARGET(RETURN_VALUE)
1623 retval = POP(); 1623 retval = POP();
1624 why = WHY_RETURN; 1624 why = WHY_RETURN;
1625 goto fast_block_end; 1625 goto fast_block_end;
1626 1626
(...skipping 12 matching lines...) Expand all
1639 PyFrame_LocalsToFast(f, 0); 1639 PyFrame_LocalsToFast(f, 0);
1640 Py_DECREF(v); 1640 Py_DECREF(v);
1641 if (err == 0) DISPATCH(); 1641 if (err == 0) DISPATCH();
1642 goto on_error;; 1642 goto on_error;;
1643 1643
1644 1644
1645 1645
1646 1646
1647 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_ADD) 1647 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_ADD)
1648 /* template: IncaDerivative */ 1648 /* template: IncaDerivative */
1649 1649
1650 w= POP(); 1650 w= POP();
1651 v= TOP(); 1651 v= TOP();
1652 1652
1653 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1653 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1654 /* repair stack pointer */ 1654 /* repair stack pointer */
1655 stack_pointer+= 1; 1655 stack_pointer+= 1;
1656 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1656 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1657 1657
1658 /* dispatch to generic implementation */ 1658 /* dispatch to generic implementation */
1659 goto TARGET_BINARY_ADD_SKIP_DISPATCH;; 1659 goto TARGET_BINARY_ADD_SKIP_DISPATCH;;
1660 } // if 1660 } // if
1661 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1661 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1662 1662
1663 1663
1664 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval 1664 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval
1665 { 1665 {
1666 Py_complex r, a, b; 1666 Py_complex r, a, b;
1667 a= CONVERT(v); 1667 a= CONVERT(v);
1668 b= CONVERT(w); 1668 b= CONVERT(w);
1669 PyFPE_START_PROTECT("complex_add", return 0); 1669 PyFPE_START_PROTECT("complex_add", return 0);
1670 r.real = a.real + b.real; 1670 r.real = a.real + b.real;
1671 r.imag = a.imag + b.imag; 1671 r.imag = a.imag + b.imag;
1672 PyFPE_END_PROTECT(r); 1672 PyFPE_END_PROTECT(r);
1673 x= PyComplex_FromCComplex(r); 1673 x= PyComplex_FromCComplex(r);
1674 } 1674 }
1675 #undef CONVERT 1675 #undef CONVERT
1676 1676
1677 1677
1678 Py_DECREF( w ); 1678 Py_DECREF( w );
1679 Py_DECREF( v ); 1679 Py_DECREF( v );
1680 1680
1681 SET_TOP(x); 1681 SET_TOP(x);
1682 1682
1683 if (x != NULL) DISPATCH(); 1683 if (x != NULL) DISPATCH();
1684 goto on_error; 1684 goto on_error;
1685 1685
1686 1686
1687 1687
1688 TARGET(YIELD_VALUE) 1688 TARGET(YIELD_VALUE)
1689 retval = POP(); 1689 retval = POP();
1690 f->f_stacktop = stack_pointer; 1690 f->f_stacktop = stack_pointer;
1691 why = WHY_YIELD; 1691 why = WHY_YIELD;
1692 goto fast_yield; 1692 goto fast_yield;
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1901 if ((err = PyDict_DelItem(f->f_globals, w)) != 0) 1901 if ((err = PyDict_DelItem(f->f_globals, w)) != 0)
1902 format_exc_check_arg( 1902 format_exc_check_arg(
1903 PyExc_NameError, GLOBAL_NAME_ERROR_MSG, w); 1903 PyExc_NameError, GLOBAL_NAME_ERROR_MSG, w);
1904 goto on_error;; 1904 goto on_error;;
1905 1905
1906 1906
1907 1907
1908 1908
1909 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_MULTIPLY) 1909 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_MULTIPLY)
1910 /* template: IncaDerivative */ 1910 /* template: IncaDerivative */
1911 1911
1912 w= POP(); 1912 w= POP();
1913 v= TOP(); 1913 v= TOP();
1914 1914
1915 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 1915 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
1916 /* repair stack pointer */ 1916 /* repair stack pointer */
1917 stack_pointer+= 1; 1917 stack_pointer+= 1;
1918 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 1918 /* fprintf(stderr, "generated by template inline cache miss\n"); */
1919 1919
1920 /* dispatch to generic implementation */ 1920 /* dispatch to generic implementation */
1921 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;; 1921 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;;
1922 } // if 1922 } // if
1923 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 1923 /* fprintf(stderr, "generated by template inline cache hit\n"); */
1924 1924
1925 1925
1926 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval 1926 #define CONVERT(OBJ) ((PyComplexObject*)(OBJ))->cval
1927 { 1927 {
1928 Py_complex r, a, b; 1928 Py_complex r, a, b;
1929 a= CONVERT(v); 1929 a= CONVERT(v);
1930 b= CONVERT(w); 1930 b= CONVERT(w);
1931 PyFPE_START_PROTECT("complex_mult", return 0); 1931 PyFPE_START_PROTECT("complex_mult", return 0);
1932 r.real = a.real*b.real - a.imag*b.imag; 1932 r.real = a.real*b.real - a.imag*b.imag;
1933 r.imag = a.real*b.imag + a.imag*b.real; 1933 r.imag = a.real*b.imag + a.imag*b.real;
1934 PyFPE_END_PROTECT(r); 1934 PyFPE_END_PROTECT(r);
1935 x= PyComplex_FromCComplex(r); 1935 x= PyComplex_FromCComplex(r);
1936 } 1936 }
1937 #undef CONVERT 1937 #undef CONVERT
1938 1938
1939 1939
1940 Py_DECREF( w ); 1940 Py_DECREF( w );
1941 Py_DECREF( v ); 1941 Py_DECREF( v );
1942 1942
1943 SET_TOP(x); 1943 SET_TOP(x);
1944 1944
1945 if (x != NULL) DISPATCH(); 1945 if (x != NULL) DISPATCH();
1946 goto on_error; 1946 goto on_error;
1947 1947
1948 1948
1949 1949
1950 TARGET(LOAD_CONST) 1950 TARGET(LOAD_CONST)
1951 x = GETITEM(consts, oparg); 1951 x = GETITEM(consts, oparg);
1952 Py_INCREF(x); 1952 Py_INCREF(x);
1953 PUSH(x); 1953 PUSH(x);
1954 FAST_DISPATCH(); 1954 FAST_DISPATCH();
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
2284 } 2284 }
2285 } 2285 }
2286 Py_INCREF(x); 2286 Py_INCREF(x);
2287 PUSH(x); 2287 PUSH(x);
2288 DISPATCH(); 2288 DISPATCH();
2289 2289
2290 2290
2291 2291
2292 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_FLOOR_DIVIDE) 2292 OPT_TARGET_DECODE_NOARG(INCA_COMPLEX_FLOOR_DIVIDE)
2293 /* template: IncaDerivative */ 2293 /* template: IncaDerivative */
2294 2294
2295 w= POP(); 2295 w= POP();
2296 v= TOP(); 2296 v= TOP();
2297 2297
2298 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) { 2298 if (INLINE_CACHE_MISS(v, w, PyComplex_Type)) {
2299 /* repair stack pointer */ 2299 /* repair stack pointer */
2300 stack_pointer+= 1; 2300 stack_pointer+= 1;
2301 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 2301 /* fprintf(stderr, "generated by template inline cache miss\n"); */
2302 2302
2303 /* dispatch to generic implementation */ 2303 /* dispatch to generic implementation */
2304 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;; 2304 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;;
2305 } // if 2305 } // if
2306 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 2306 /* fprintf(stderr, "generated by template inline cache hit\n"); */
2307 2307
2308 x= PyComplex_Type.tp_as_number->nb_floor_divide( v, w ); 2308 x= PyComplex_Type.tp_as_number->nb_floor_divide( v, w );
2309 2309
2310 Py_DECREF( w ); 2310 Py_DECREF( w );
2311 Py_DECREF( v ); 2311 Py_DECREF( v );
2312 2312
2313 SET_TOP(x); 2313 SET_TOP(x);
2314 2314
2315 if (x != NULL) DISPATCH(); 2315 if (x != NULL) DISPATCH();
2316 goto on_error; 2316 goto on_error;
2317 2317
2318 2318
2319 2319
2320 OPT_TARGET_DECODE_ARG(FOR_ITER_LONGRANGEITER) 2320 OPT_TARGET_DECODE_ARG(FOR_ITER_LONGRANGEITER)
2321 v= TOP(); 2321 v= TOP();
2322 2322
2323 if (INLINE_CACHE_MISS_UNARY(v, PyLongRangeIter_Type)) 2323 if (INLINE_CACHE_MISS_UNARY(v, PyLongRangeIter_Type))
2324 goto TARGET_FOR_ITER_SKIP_DISPATCH; 2324 goto TARGET_FOR_ITER_SKIP_DISPATCH;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2358 STACK_LEVEL()); 2358 STACK_LEVEL());
2359 DISPATCH(); 2359 DISPATCH();
2360 2360
2361 2361
2362 OPT_TARGET_DECODE_ARG(INCA_CMP_LIST) 2362 OPT_TARGET_DECODE_ARG(INCA_CMP_LIST)
2363 w= POP(); // tos element 2363 w= POP(); // tos element
2364 v= TOP(); // sec element 2364 v= TOP(); // sec element
2365 2365
2366 if (INLINE_CACHE_MISS(v, w, PyList_Type)) goto COMPARE_OP_MISS; 2366 if (INLINE_CACHE_MISS(v, w, PyList_Type)) goto COMPARE_OP_MISS;
2367 x= PyList_Type.tp_richcompare(v, w, oparg); 2367 x= PyList_Type.tp_richcompare(v, w, oparg);
2368 2368
2369 Py_DECREF( w ); 2369 Py_DECREF( w );
2370 Py_DECREF( v ); 2370 Py_DECREF( v );
2371 2371
2372 SET_TOP(x); 2372 SET_TOP(x);
2373 2373
2374 if (x != NULL) DISPATCH(); 2374 if (x != NULL) DISPATCH();
2375 goto on_error; 2375 goto on_error;
2376 2376
2377 2377
2378 2378
2379 2379
2380 2380
2381 TARGET(LOAD_FAST) 2381 TARGET(LOAD_FAST)
2382 x = GETLOCAL(oparg); 2382 x = GETLOCAL(oparg);
2383 if (x != NULL) { 2383 if (x != NULL) {
(...skipping 24 matching lines...) Expand all
2408 PyExc_UnboundLocalError, 2408 PyExc_UnboundLocalError,
2409 UNBOUNDLOCAL_ERROR_MSG, 2409 UNBOUNDLOCAL_ERROR_MSG,
2410 PyTuple_GetItem(co->co_varnames, oparg) 2410 PyTuple_GetItem(co->co_varnames, oparg)
2411 ); 2411 );
2412 goto on_error;; 2412 goto on_error;;
2413 2413
2414 2414
2415 2415
2416 OPT_TARGET_DECODE_NOARG(INCA_LIST_SUBSCRIPT) 2416 OPT_TARGET_DECODE_NOARG(INCA_LIST_SUBSCRIPT)
2417 /* template: IncaDerivative */ 2417 /* template: IncaDerivative */
2418 2418
2419 w= POP(); 2419 w= POP();
2420 v= TOP(); 2420 v= TOP();
2421 2421
2422 if (INLINE_CACHE_MISS_UNARY(v, PyList_Type)) { 2422 if (INLINE_CACHE_MISS_UNARY(v, PyList_Type)) {
2423 /* repair stack pointer */ 2423 /* repair stack pointer */
2424 stack_pointer+= 1; 2424 stack_pointer+= 1;
2425 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 2425 /* fprintf(stderr, "generated by template inline cache miss\n"); */
2426 2426
2427 /* dispatch to generic implementation */ 2427 /* dispatch to generic implementation */
2428 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;; 2428 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;;
2429 } // if 2429 } // if
2430 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 2430 /* fprintf(stderr, "generated by template inline cache hit\n"); */
2431 2431
2432 x= PyList_Type.tp_as_mapping->mp_subscript( v, w ); 2432 x= PyList_Type.tp_as_mapping->mp_subscript( v, w );
2433 2433
2434 Py_DECREF( w ); 2434 Py_DECREF( w );
2435 Py_DECREF( v ); 2435 Py_DECREF( v );
2436 2436
2437 SET_TOP(x); 2437 SET_TOP(x);
2438 2438
2439 if (x != NULL) DISPATCH(); 2439 if (x != NULL) DISPATCH();
2440 goto on_error; 2440 goto on_error;
2441 2441
2442 2442
2443 2443
2444 OPT_TARGET_DECODE_NOARG(INCA_LIST_ASS_SUBSCRIPT) 2444 OPT_TARGET_DECODE_NOARG(INCA_LIST_ASS_SUBSCRIPT)
2445 /* template: IncaSubscriptDerivative */ 2445 /* template: IncaSubscriptDerivative */
2446 w= TOP(); 2446 w= TOP();
2447 v= SECOND(); 2447 v= SECOND();
2448 u= THIRD(); 2448 u= THIRD();
(...skipping 12 matching lines...) Expand all
2461 goto on_error; 2461 goto on_error;
2462 2462
2463 2463
2464 2464
2465 OPT_TARGET_DECODE_ARG(INCA_CMP_BYTEARRAY) 2465 OPT_TARGET_DECODE_ARG(INCA_CMP_BYTEARRAY)
2466 w= POP(); // tos element 2466 w= POP(); // tos element
2467 v= TOP(); // sec element 2467 v= TOP(); // sec element
2468 2468
2469 if (INLINE_CACHE_MISS(v, w, PyByteArray_Type)) goto COMPARE_OP_MISS; 2469 if (INLINE_CACHE_MISS(v, w, PyByteArray_Type)) goto COMPARE_OP_MISS;
2470 x= PyByteArray_Type.tp_richcompare(v, w, oparg); 2470 x= PyByteArray_Type.tp_richcompare(v, w, oparg);
2471 2471
2472 Py_DECREF( w ); 2472 Py_DECREF( w );
2473 Py_DECREF( v ); 2473 Py_DECREF( v );
2474 2474
2475 SET_TOP(x); 2475 SET_TOP(x);
2476 2476
2477 if (x != NULL) DISPATCH(); 2477 if (x != NULL) DISPATCH();
2478 goto on_error; 2478 goto on_error;
2479 2479
2480 2480
2481 2481
2482 2482
2483 2483
2484 TARGET(RAISE_VARARGS) 2484 TARGET(RAISE_VARARGS)
2485 v = w = NULL; 2485 v = w = NULL;
2486 switch (oparg) { 2486 switch (oparg) {
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
2681 DISPATCH(); 2681 DISPATCH();
2682 } 2682 }
2683 err = -1; 2683 err = -1;
2684 format_exc_unbound(co, oparg); 2684 format_exc_unbound(co, oparg);
2685 goto on_error;; 2685 goto on_error;;
2686 2686
2687 2687
2688 2688
2689 OPT_TARGET_DECODE_NOARG(INCA_BYTEARRAY_SUBSCRIPT) 2689 OPT_TARGET_DECODE_NOARG(INCA_BYTEARRAY_SUBSCRIPT)
2690 /* template: IncaDerivative */ 2690 /* template: IncaDerivative */
2691 2691
2692 w= POP(); 2692 w= POP();
2693 v= TOP(); 2693 v= TOP();
2694 2694
2695 if (INLINE_CACHE_MISS_UNARY(v, PyByteArray_Type)) { 2695 if (INLINE_CACHE_MISS_UNARY(v, PyByteArray_Type)) {
2696 /* repair stack pointer */ 2696 /* repair stack pointer */
2697 stack_pointer+= 1; 2697 stack_pointer+= 1;
2698 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 2698 /* fprintf(stderr, "generated by template inline cache miss\n"); */
2699 2699
2700 /* dispatch to generic implementation */ 2700 /* dispatch to generic implementation */
2701 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;; 2701 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;;
2702 } // if 2702 } // if
2703 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 2703 /* fprintf(stderr, "generated by template inline cache hit\n"); */
2704 2704
2705 x= PyByteArray_Type.tp_as_mapping->mp_subscript( v, w ); 2705 x= PyByteArray_Type.tp_as_mapping->mp_subscript( v, w );
2706 2706
2707 Py_DECREF( w ); 2707 Py_DECREF( w );
2708 Py_DECREF( v ); 2708 Py_DECREF( v );
2709 2709
2710 SET_TOP(x); 2710 SET_TOP(x);
2711 2711
2712 if (x != NULL) DISPATCH(); 2712 if (x != NULL) DISPATCH();
2713 goto on_error; 2713 goto on_error;
2714 2714
2715 2715
2716 2716
2717 2717
2718 2718
2719 TARGET_WITH_IMPL(CALL_FUNCTION_VAR, _call_function_var_kw) 2719 TARGET_WITH_IMPL(CALL_FUNCTION_VAR, _call_function_var_kw)
2720 TARGET_WITH_IMPL(CALL_FUNCTION_KW, _call_function_var_kw) 2720 TARGET_WITH_IMPL(CALL_FUNCTION_KW, _call_function_var_kw)
2721 TARGET(CALL_FUNCTION_VAR_KW) 2721 TARGET(CALL_FUNCTION_VAR_KW)
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
2876 2876
2877 2877
2878 2878
2879 2879
2880 OPT_TARGET_DECODE_ARG(INCA_CMP_UNICODE) 2880 OPT_TARGET_DECODE_ARG(INCA_CMP_UNICODE)
2881 w= POP(); // tos element 2881 w= POP(); // tos element
2882 v= TOP(); // sec element 2882 v= TOP(); // sec element
2883 2883
2884 if (INLINE_CACHE_MISS(v, w, PyUnicode_Type)) goto COMPARE_OP_MISS; 2884 if (INLINE_CACHE_MISS(v, w, PyUnicode_Type)) goto COMPARE_OP_MISS;
2885 x= PyUnicode_Type.tp_richcompare(v, w, oparg); 2885 x= PyUnicode_Type.tp_richcompare(v, w, oparg);
2886 2886
2887 Py_DECREF( w ); 2887 Py_DECREF( w );
2888 Py_DECREF( v ); 2888 Py_DECREF( v );
2889 2889
2890 SET_TOP(x); 2890 SET_TOP(x);
2891 2891
2892 if (x != NULL) DISPATCH(); 2892 if (x != NULL) DISPATCH();
2893 goto on_error; 2893 goto on_error;
2894 2894
2895 2895
2896 2896
2897 2897
2898 2898
2899 2899
2900 OPT_TARGET_DECODE_NOARG(INCA_UNICODE_SUBSCRIPT) 2900 OPT_TARGET_DECODE_NOARG(INCA_UNICODE_SUBSCRIPT)
2901 /* template: IncaDerivative */ 2901 /* template: IncaDerivative */
2902 2902
2903 w= POP(); 2903 w= POP();
2904 v= TOP(); 2904 v= TOP();
2905 2905
2906 if (INLINE_CACHE_MISS_UNARY(v, PyUnicode_Type)) { 2906 if (INLINE_CACHE_MISS_UNARY(v, PyUnicode_Type)) {
2907 /* repair stack pointer */ 2907 /* repair stack pointer */
2908 stack_pointer+= 1; 2908 stack_pointer+= 1;
2909 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 2909 /* fprintf(stderr, "generated by template inline cache miss\n"); */
2910 2910
2911 /* dispatch to generic implementation */ 2911 /* dispatch to generic implementation */
2912 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;; 2912 goto TARGET_BINARY_SUBSCR_SKIP_DISPATCH;;
2913 } // if 2913 } // if
2914 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 2914 /* fprintf(stderr, "generated by template inline cache hit\n"); */
2915 2915
2916 x= PyUnicode_Type.tp_as_mapping->mp_subscript( v, w ); 2916 x= PyUnicode_Type.tp_as_mapping->mp_subscript( v, w );
2917 2917
2918 Py_DECREF( w ); 2918 Py_DECREF( w );
2919 Py_DECREF( v ); 2919 Py_DECREF( v );
2920 2920
2921 SET_TOP(x); 2921 SET_TOP(x);
2922 2922
2923 if (x != NULL) DISPATCH(); 2923 if (x != NULL) DISPATCH();
2924 goto on_error; 2924 goto on_error;
2925 2925
2926 2926
2927 2927
2928 2928
2929 OPT_TARGET_DECODE_NOARG(INCA_UNICODE_REMAINDER) 2929 OPT_TARGET_DECODE_NOARG(INCA_UNICODE_REMAINDER)
2930 /* template: IncaDerivative */ 2930 /* template: IncaDerivative */
2931 2931
2932 w= POP(); 2932 w= POP();
2933 v= TOP(); 2933 v= TOP();
2934 2934
2935 if (INLINE_CACHE_MISS(v, w, PyUnicode_Type)) { 2935 if (INLINE_CACHE_MISS(v, w, PyUnicode_Type)) {
2936 /* repair stack pointer */ 2936 /* repair stack pointer */
2937 stack_pointer+= 1; 2937 stack_pointer+= 1;
2938 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 2938 /* fprintf(stderr, "generated by template inline cache miss\n"); */
2939 2939
2940 /* dispatch to generic implementation */ 2940 /* dispatch to generic implementation */
2941 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;; 2941 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;;
2942 } // if 2942 } // if
2943 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 2943 /* fprintf(stderr, "generated by template inline cache hit\n"); */
2944 2944
2945 x= PyUnicode_Type.tp_as_number->nb_remainder( v, w ); 2945 x= PyUnicode_Type.tp_as_number->nb_remainder( v, w );
2946 2946
2947 Py_DECREF( w ); 2947 Py_DECREF( w );
2948 Py_DECREF( v ); 2948 Py_DECREF( v );
2949 2949
2950 SET_TOP(x); 2950 SET_TOP(x);
2951 2951
2952 if (x != NULL) DISPATCH(); 2952 if (x != NULL) DISPATCH();
2953 goto on_error; 2953 goto on_error;
2954 2954
2955 2955
2956 2956
2957 OPT_TARGET_DECODE_ARG(FOR_ITER_RANGEITER) 2957 OPT_TARGET_DECODE_ARG(FOR_ITER_RANGEITER)
2958 v= TOP(); 2958 v= TOP();
2959 2959
2960 if (INLINE_CACHE_MISS_UNARY(v, PyRangeIter_Type)) 2960 if (INLINE_CACHE_MISS_UNARY(v, PyRangeIter_Type))
2961 goto TARGET_FOR_ITER_SKIP_DISPATCH; 2961 goto TARGET_FOR_ITER_SKIP_DISPATCH;
(...skipping 25 matching lines...) Expand all
2987 2987
2988 2988
2989 2989
2990 2990
2991 OPT_TARGET_DECODE_ARG(INCA_CMP_LONG) 2991 OPT_TARGET_DECODE_ARG(INCA_CMP_LONG)
2992 w= POP(); // tos element 2992 w= POP(); // tos element
2993 v= TOP(); // sec element 2993 v= TOP(); // sec element
2994 2994
2995 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) goto COMPARE_OP_MISS; 2995 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) goto COMPARE_OP_MISS;
2996 x= PyLong_Type.tp_richcompare(v, w, oparg); 2996 x= PyLong_Type.tp_richcompare(v, w, oparg);
2997 2997
2998 Py_DECREF( w ); 2998 Py_DECREF( w );
2999 Py_DECREF( v ); 2999 Py_DECREF( v );
3000 3000
3001 SET_TOP(x); 3001 SET_TOP(x);
3002 3002
3003 if (x != NULL) DISPATCH(); 3003 if (x != NULL) DISPATCH();
3004 goto on_error; 3004 goto on_error;
3005 3005
3006 3006
3007 3007
3008 3008
3009 3009
3010 3010
3011 OPT_TARGET_DECODE_NOARG(INCA_LONG_TRUE_DIVIDE) 3011 OPT_TARGET_DECODE_NOARG(INCA_LONG_TRUE_DIVIDE)
3012 /* template: IncaDerivative */ 3012 /* template: IncaDerivative */
3013 3013
3014 w= POP(); 3014 w= POP();
3015 v= TOP(); 3015 v= TOP();
3016 3016
3017 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3017 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3018 /* repair stack pointer */ 3018 /* repair stack pointer */
3019 stack_pointer+= 1; 3019 stack_pointer+= 1;
3020 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3020 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3021 3021
3022 /* dispatch to generic implementation */ 3022 /* dispatch to generic implementation */
3023 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;; 3023 goto TARGET_BINARY_TRUE_DIVIDE_SKIP_DISPATCH;;
3024 } // if 3024 } // if
3025 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3025 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3026 3026
3027 x= PyLong_Type.tp_as_number->nb_true_divide( v, w ); 3027 x= PyLong_Type.tp_as_number->nb_true_divide( v, w );
3028 3028
3029 Py_DECREF( w ); 3029 Py_DECREF( w );
3030 Py_DECREF( v ); 3030 Py_DECREF( v );
3031 3031
3032 SET_TOP(x); 3032 SET_TOP(x);
3033 3033
3034 if (x != NULL) DISPATCH(); 3034 if (x != NULL) DISPATCH();
3035 goto on_error; 3035 goto on_error;
3036 3036
3037 3037
3038 3038
3039 3039
3040 OPT_TARGET_DECODE_NOARG(INCA_LONG_RSHIFT) 3040 OPT_TARGET_DECODE_NOARG(INCA_LONG_RSHIFT)
3041 /* template: IncaDerivative */ 3041 /* template: IncaDerivative */
3042 3042
3043 w= POP(); 3043 w= POP();
3044 v= TOP(); 3044 v= TOP();
3045 3045
3046 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3046 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3047 /* repair stack pointer */ 3047 /* repair stack pointer */
3048 stack_pointer+= 1; 3048 stack_pointer+= 1;
3049 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3049 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3050 3050
3051 /* dispatch to generic implementation */ 3051 /* dispatch to generic implementation */
3052 goto TARGET_BINARY_RSHIFT_SKIP_DISPATCH;; 3052 goto TARGET_BINARY_RSHIFT_SKIP_DISPATCH;;
3053 } // if 3053 } // if
3054 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3054 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3055 3055
3056 x= PyLong_Type.tp_as_number->nb_rshift( v, w ); 3056 x= PyLong_Type.tp_as_number->nb_rshift( v, w );
3057 3057
3058 Py_DECREF( w ); 3058 Py_DECREF( w );
3059 Py_DECREF( v ); 3059 Py_DECREF( v );
3060 3060
3061 SET_TOP(x); 3061 SET_TOP(x);
3062 3062
3063 if (x != NULL) DISPATCH(); 3063 if (x != NULL) DISPATCH();
3064 goto on_error; 3064 goto on_error;
3065 3065
3066 3066
3067 3067
3068 3068
3069 OPT_TARGET_DECODE_NOARG(INCA_LONG_XOR) 3069 OPT_TARGET_DECODE_NOARG(INCA_LONG_XOR)
3070 /* template: IncaDerivative */ 3070 /* template: IncaDerivative */
3071 3071
3072 w= POP(); 3072 w= POP();
3073 v= TOP(); 3073 v= TOP();
3074 3074
3075 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3075 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3076 /* repair stack pointer */ 3076 /* repair stack pointer */
3077 stack_pointer+= 1; 3077 stack_pointer+= 1;
3078 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3078 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3079 3079
3080 /* dispatch to generic implementation */ 3080 /* dispatch to generic implementation */
3081 goto TARGET_BINARY_XOR_SKIP_DISPATCH;; 3081 goto TARGET_BINARY_XOR_SKIP_DISPATCH;;
3082 } // if 3082 } // if
3083 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3083 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3084 3084
3085 x= PyLong_Type.tp_as_number->nb_xor( v, w ); 3085 x= PyLong_Type.tp_as_number->nb_xor( v, w );
3086 3086
3087 Py_DECREF( w ); 3087 Py_DECREF( w );
3088 Py_DECREF( v ); 3088 Py_DECREF( v );
3089 3089
3090 SET_TOP(x); 3090 SET_TOP(x);
3091 3091
3092 if (x != NULL) DISPATCH(); 3092 if (x != NULL) DISPATCH();
3093 goto on_error; 3093 goto on_error;
3094 3094
3095 3095
3096 3096
3097 3097
3098 OPT_TARGET_DECODE_NOARG(INCA_LONG_SUBTRACT) 3098 OPT_TARGET_DECODE_NOARG(INCA_LONG_SUBTRACT)
3099 /* template: IncaDerivative */ 3099 /* template: IncaDerivative */
3100 3100
3101 w= POP(); 3101 w= POP();
3102 v= TOP(); 3102 v= TOP();
3103 3103
3104 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3104 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3105 /* repair stack pointer */ 3105 /* repair stack pointer */
3106 stack_pointer+= 1; 3106 stack_pointer+= 1;
3107 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3107 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3108 3108
3109 /* dispatch to generic implementation */ 3109 /* dispatch to generic implementation */
3110 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;; 3110 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;;
3111 } // if 3111 } // if
3112 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3112 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3113 3113
3114 3114
3115 \ 3115 \
3116 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \ 3116 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \
3117 (Py_SIZE(x) == 0 ? (sdigit)0 : \ 3117 (Py_SIZE(x) == 0 ? (sdigit)0 : \
3118 (sdigit)((PyLongObject*)x)->ob_digit[0])) 3118 (sdigit)((PyLongObject*)x)->ob_digit[0]))
3119 3119
3120 #define ABS(x) ((x) < 0 ? -(x) : (x)) 3120 #define ABS(x) ((x) < 0 ? -(x) : (x))
3121 3121
3122 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1) 3122 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1)
3123 x = PyLong_FromLong(MEDIUM_VALUE(v)-MEDIUM_VALUE(w)); 3123 x = PyLong_FromLong(MEDIUM_VALUE(v)-MEDIUM_VALUE(w));
3124 else 3124 else
3125 x= PyLong_Type.tp_as_number->nb_subtract(v, w); 3125 x= PyLong_Type.tp_as_number->nb_subtract(v, w);
3126 3126
3127 #undef MEDIUM_VALUE 3127 #undef MEDIUM_VALUE
3128 #undef ABS 3128 #undef ABS
3129 3129
3130 3130
3131 Py_DECREF( w ); 3131 Py_DECREF( w );
3132 Py_DECREF( v ); 3132 Py_DECREF( v );
3133 3133
3134 SET_TOP(x); 3134 SET_TOP(x);
3135 3135
3136 if (x != NULL) DISPATCH(); 3136 if (x != NULL) DISPATCH();
3137 goto on_error; 3137 goto on_error;
3138 3138
3139 3139
3140 3140
3141 3141
3142 OPT_TARGET_DECODE_NOARG(INCA_LONG_AND) 3142 OPT_TARGET_DECODE_NOARG(INCA_LONG_AND)
3143 /* template: IncaDerivative */ 3143 /* template: IncaDerivative */
3144 3144
3145 w= POP(); 3145 w= POP();
3146 v= TOP(); 3146 v= TOP();
3147 3147
3148 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3148 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3149 /* repair stack pointer */ 3149 /* repair stack pointer */
3150 stack_pointer+= 1; 3150 stack_pointer+= 1;
3151 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3151 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3152 3152
3153 /* dispatch to generic implementation */ 3153 /* dispatch to generic implementation */
3154 goto TARGET_BINARY_AND_SKIP_DISPATCH;; 3154 goto TARGET_BINARY_AND_SKIP_DISPATCH;;
3155 } // if 3155 } // if
3156 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3156 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3157 3157
3158 x= PyLong_Type.tp_as_number->nb_and( v, w ); 3158 x= PyLong_Type.tp_as_number->nb_and( v, w );
3159 3159
3160 Py_DECREF( w ); 3160 Py_DECREF( w );
3161 Py_DECREF( v ); 3161 Py_DECREF( v );
3162 3162
3163 SET_TOP(x); 3163 SET_TOP(x);
3164 3164
3165 if (x != NULL) DISPATCH(); 3165 if (x != NULL) DISPATCH();
3166 goto on_error; 3166 goto on_error;
3167 3167
3168 3168
3169 3169
3170 3170
3171 OPT_TARGET_DECODE_NOARG(INCA_LONG_POWER) 3171 OPT_TARGET_DECODE_NOARG(INCA_LONG_POWER)
3172 /* template: IncaDerivative */ 3172 /* template: IncaDerivative */
3173 3173
3174 w= POP(); 3174 w= POP();
3175 v= TOP(); 3175 v= TOP();
3176 3176
3177 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3177 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3178 /* repair stack pointer */ 3178 /* repair stack pointer */
3179 stack_pointer+= 1; 3179 stack_pointer+= 1;
3180 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3180 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3181 3181
3182 /* dispatch to generic implementation */ 3182 /* dispatch to generic implementation */
3183 goto TARGET_BINARY_POWER_SKIP_DISPATCH;; 3183 goto TARGET_BINARY_POWER_SKIP_DISPATCH;;
3184 } // if 3184 } // if
3185 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3185 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3186 3186
3187 x= PyLong_Type.tp_as_number->nb_power( v, w, Py_None ); 3187 x= PyLong_Type.tp_as_number->nb_power( v, w, Py_None );
3188 3188
3189 Py_DECREF( w ); 3189 Py_DECREF( w );
3190 Py_DECREF( v ); 3190 Py_DECREF( v );
3191 3191
3192 SET_TOP(x); 3192 SET_TOP(x);
3193 3193
3194 if (x != NULL) DISPATCH(); 3194 if (x != NULL) DISPATCH();
3195 goto on_error; 3195 goto on_error;
3196 3196
3197 3197
3198 3198
3199 3199
3200 OPT_TARGET_DECODE_NOARG(INCA_LONG_POSITIVE) 3200 OPT_TARGET_DECODE_NOARG(INCA_LONG_POSITIVE)
3201 /* template: IncaDerivative */ 3201 /* template: IncaDerivative */
3202 3202
3203 v= TOP(); 3203 v= TOP();
3204 3204
3205 if (INLINE_CACHE_MISS_UNARY(v, PyLong_Type)) { 3205 if (INLINE_CACHE_MISS_UNARY(v, PyLong_Type)) {
3206 /* repair stack pointer */ 3206 /* repair stack pointer */
3207 stack_pointer+= 0; 3207 stack_pointer+= 0;
3208 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3208 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3209 3209
3210 /* dispatch to generic implementation */ 3210 /* dispatch to generic implementation */
3211 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;; 3211 goto TARGET_UNARY_POSITIVE_SKIP_DISPATCH;;
3212 } // if 3212 } // if
3213 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3213 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3214 3214
3215 x= PyLong_Type.tp_as_number->nb_positive( v ); 3215 x= PyLong_Type.tp_as_number->nb_positive( v );
3216 3216
3217 Py_DECREF( v ); 3217 Py_DECREF( v );
3218 3218
3219 SET_TOP(x); 3219 SET_TOP(x);
3220 3220
3221 if (x != NULL) DISPATCH(); 3221 if (x != NULL) DISPATCH();
3222 goto on_error; 3222 goto on_error;
3223 3223
3224 3224
3225 3225
3226 3226
3227 OPT_TARGET_DECODE_NOARG(INCA_LONG_REMAINDER) 3227 OPT_TARGET_DECODE_NOARG(INCA_LONG_REMAINDER)
3228 /* template: IncaDerivative */ 3228 /* template: IncaDerivative */
3229 3229
3230 w= POP(); 3230 w= POP();
3231 v= TOP(); 3231 v= TOP();
3232 3232
3233 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3233 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3234 /* repair stack pointer */ 3234 /* repair stack pointer */
3235 stack_pointer+= 1; 3235 stack_pointer+= 1;
3236 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3236 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3237 3237
3238 /* dispatch to generic implementation */ 3238 /* dispatch to generic implementation */
3239 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;; 3239 goto TARGET_BINARY_MODULO_SKIP_DISPATCH;;
3240 } // if 3240 } // if
3241 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3241 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3242 3242
3243 x= PyLong_Type.tp_as_number->nb_remainder( v, w ); 3243 x= PyLong_Type.tp_as_number->nb_remainder( v, w );
3244 3244
3245 Py_DECREF( w ); 3245 Py_DECREF( w );
3246 Py_DECREF( v ); 3246 Py_DECREF( v );
3247 3247
3248 SET_TOP(x); 3248 SET_TOP(x);
3249 3249
3250 if (x != NULL) DISPATCH(); 3250 if (x != NULL) DISPATCH();
3251 goto on_error; 3251 goto on_error;
3252 3252
3253 3253
3254 3254
3255 3255
3256 OPT_TARGET_DECODE_NOARG(INCA_LONG_NEGATIVE) 3256 OPT_TARGET_DECODE_NOARG(INCA_LONG_NEGATIVE)
3257 /* template: IncaDerivative */ 3257 /* template: IncaDerivative */
3258 3258
3259 v= TOP(); 3259 v= TOP();
3260 3260
3261 if (INLINE_CACHE_MISS_UNARY(v, PyLong_Type)) { 3261 if (INLINE_CACHE_MISS_UNARY(v, PyLong_Type)) {
3262 /* repair stack pointer */ 3262 /* repair stack pointer */
3263 stack_pointer+= 0; 3263 stack_pointer+= 0;
3264 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3264 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3265 3265
3266 /* dispatch to generic implementation */ 3266 /* dispatch to generic implementation */
3267 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;; 3267 goto TARGET_UNARY_NEGATIVE_SKIP_DISPATCH;;
3268 } // if 3268 } // if
3269 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3269 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3270 3270
3271 x= PyLong_Type.tp_as_number->nb_negative( v ); 3271 x= PyLong_Type.tp_as_number->nb_negative( v );
3272 3272
3273 Py_DECREF( v ); 3273 Py_DECREF( v );
3274 3274
3275 SET_TOP(x); 3275 SET_TOP(x);
3276 3276
3277 if (x != NULL) DISPATCH(); 3277 if (x != NULL) DISPATCH();
3278 goto on_error; 3278 goto on_error;
3279 3279
3280 3280
3281 3281
3282 3282
3283 OPT_TARGET_DECODE_NOARG(INCA_LONG_ADD) 3283 OPT_TARGET_DECODE_NOARG(INCA_LONG_ADD)
3284 /* template: IncaDerivative */ 3284 /* template: IncaDerivative */
3285 3285
3286 w= POP(); 3286 w= POP();
3287 v= TOP(); 3287 v= TOP();
3288 3288
3289 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3289 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3290 /* repair stack pointer */ 3290 /* repair stack pointer */
3291 stack_pointer+= 1; 3291 stack_pointer+= 1;
3292 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3292 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3293 3293
3294 /* dispatch to generic implementation */ 3294 /* dispatch to generic implementation */
3295 goto TARGET_BINARY_ADD_SKIP_DISPATCH;; 3295 goto TARGET_BINARY_ADD_SKIP_DISPATCH;;
3296 } // if 3296 } // if
3297 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3297 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3298 3298
3299 3299
3300 \ 3300 \
3301 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \ 3301 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \
3302 (Py_SIZE(x) == 0 ? (sdigit)0 : \ 3302 (Py_SIZE(x) == 0 ? (sdigit)0 : \
3303 (sdigit)((PyLongObject*)x)->ob_digit[0])) 3303 (sdigit)((PyLongObject*)x)->ob_digit[0]))
3304 3304
3305 #define ABS(x) ((x) < 0 ? -(x) : (x)) 3305 #define ABS(x) ((x) < 0 ? -(x) : (x))
3306 3306
3307 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1) 3307 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1)
3308 x = PyLong_FromLong(MEDIUM_VALUE(v) + 3308 x = PyLong_FromLong(MEDIUM_VALUE(v) +
3309 MEDIUM_VALUE(w)); 3309 MEDIUM_VALUE(w));
3310 else 3310 else
3311 x= PyLong_Type.tp_as_number->nb_add(v, w); 3311 x= PyLong_Type.tp_as_number->nb_add(v, w);
3312 3312
3313 #undef MEDIUM_VALUE 3313 #undef MEDIUM_VALUE
3314 #undef ABS 3314 #undef ABS
3315 3315
3316 3316
3317 Py_DECREF( w ); 3317 Py_DECREF( w );
3318 Py_DECREF( v ); 3318 Py_DECREF( v );
3319 3319
3320 SET_TOP(x); 3320 SET_TOP(x);
3321 3321
3322 if (x != NULL) DISPATCH(); 3322 if (x != NULL) DISPATCH();
3323 goto on_error; 3323 goto on_error;
3324 3324
3325 3325
3326 3326
3327 3327
3328 OPT_TARGET_DECODE_NOARG(INCA_LONG_MULTIPLY) 3328 OPT_TARGET_DECODE_NOARG(INCA_LONG_MULTIPLY)
3329 /* template: IncaDerivative */ 3329 /* template: IncaDerivative */
3330 3330
3331 w= POP(); 3331 w= POP();
3332 v= TOP(); 3332 v= TOP();
3333 3333
3334 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3334 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3335 /* repair stack pointer */ 3335 /* repair stack pointer */
3336 stack_pointer+= 1; 3336 stack_pointer+= 1;
3337 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3337 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3338 3338
3339 /* dispatch to generic implementation */ 3339 /* dispatch to generic implementation */
3340 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;; 3340 goto TARGET_BINARY_MULTIPLY_SKIP_DISPATCH;;
3341 } // if 3341 } // if
3342 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3342 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3343 3343
3344 3344
3345 \ 3345 \
3346 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \ 3346 #define MEDIUM_VALUE(x) (Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject*)x)->ob_digit[ 0] : \
3347 (Py_SIZE(x) == 0 ? (sdigit)0 : \ 3347 (Py_SIZE(x) == 0 ? (sdigit)0 : \
3348 (sdigit)((PyLongObject*)x)->ob_digit[0])) 3348 (sdigit)((PyLongObject*)x)->ob_digit[0]))
3349 3349
3350 #define ABS(x) ((x) < 0 ? -(x) : (x)) 3350 #define ABS(x) ((x) < 0 ? -(x) : (x))
3351 3351
3352 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1) { 3352 if (ABS(Py_SIZE(v)) <= 1 && ABS(Py_SIZE(w)) <= 1) {
3353 stwodigits temp = (stwodigits)(MEDIUM_VALUE(v)) * MEDIUM_VALUE(w); 3353 stwodigits temp = (stwodigits)(MEDIUM_VALUE(v)) * MEDIUM_VALUE(w);
3354 #ifdef HAVE_LONG_LONG 3354 #ifdef HAVE_LONG_LONG
3355 x= PyLong_FromLongLong((PY_LONG_LONG)temp); 3355 x= PyLong_FromLongLong((PY_LONG_LONG)temp);
3356 #else 3356 #else
3357 if (temp >= LONG_MIN && temp <= LONG_MAX) 3357 if (temp >= LONG_MIN && temp <= LONG_MAX)
3358 x= PyLong_FromLong((long)temp); 3358 x= PyLong_FromLong((long)temp);
3359 #endif 3359 #endif
3360 } 3360 }
3361 else 3361 else
3362 x= PyLong_Type.tp_as_number->nb_multiply(v, w); 3362 x= PyLong_Type.tp_as_number->nb_multiply(v, w);
3363 3363
3364 #undef MEDIUM_VALUE 3364 #undef MEDIUM_VALUE
3365 #undef ABS 3365 #undef ABS
3366 3366
3367 3367
3368 Py_DECREF( w ); 3368 Py_DECREF( w );
3369 Py_DECREF( v ); 3369 Py_DECREF( v );
3370 3370
3371 SET_TOP(x); 3371 SET_TOP(x);
3372 3372
3373 if (x != NULL) DISPATCH(); 3373 if (x != NULL) DISPATCH();
3374 goto on_error; 3374 goto on_error;
3375 3375
3376 3376
3377 3377
3378 3378
3379 OPT_TARGET_DECODE_NOARG(INCA_LONG_FLOOR_DIVIDE) 3379 OPT_TARGET_DECODE_NOARG(INCA_LONG_FLOOR_DIVIDE)
3380 /* template: IncaDerivative */ 3380 /* template: IncaDerivative */
3381 3381
3382 w= POP(); 3382 w= POP();
3383 v= TOP(); 3383 v= TOP();
3384 3384
3385 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3385 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3386 /* repair stack pointer */ 3386 /* repair stack pointer */
3387 stack_pointer+= 1; 3387 stack_pointer+= 1;
3388 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3388 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3389 3389
3390 /* dispatch to generic implementation */ 3390 /* dispatch to generic implementation */
3391 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;; 3391 goto TARGET_BINARY_FLOOR_DIVIDE_SKIP_DISPATCH;;
3392 } // if 3392 } // if
3393 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3393 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3394 3394
3395 x= PyLong_Type.tp_as_number->nb_floor_divide( v, w ); 3395 x= PyLong_Type.tp_as_number->nb_floor_divide( v, w );
3396 3396
3397 Py_DECREF( w ); 3397 Py_DECREF( w );
3398 Py_DECREF( v ); 3398 Py_DECREF( v );
3399 3399
3400 SET_TOP(x); 3400 SET_TOP(x);
3401 3401
3402 if (x != NULL) DISPATCH(); 3402 if (x != NULL) DISPATCH();
3403 goto on_error; 3403 goto on_error;
3404 3404
3405 3405
3406 3406
3407 3407
3408 OPT_TARGET_DECODE_NOARG(INCA_LONG_OR) 3408 OPT_TARGET_DECODE_NOARG(INCA_LONG_OR)
3409 /* template: IncaDerivative */ 3409 /* template: IncaDerivative */
3410 3410
3411 w= POP(); 3411 w= POP();
3412 v= TOP(); 3412 v= TOP();
3413 3413
3414 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3414 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3415 /* repair stack pointer */ 3415 /* repair stack pointer */
3416 stack_pointer+= 1; 3416 stack_pointer+= 1;
3417 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3417 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3418 3418
3419 /* dispatch to generic implementation */ 3419 /* dispatch to generic implementation */
3420 goto TARGET_BINARY_OR_SKIP_DISPATCH;; 3420 goto TARGET_BINARY_OR_SKIP_DISPATCH;;
3421 } // if 3421 } // if
3422 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3422 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3423 3423
3424 x= PyLong_Type.tp_as_number->nb_or( v, w ); 3424 x= PyLong_Type.tp_as_number->nb_or( v, w );
3425 3425
3426 Py_DECREF( w ); 3426 Py_DECREF( w );
3427 Py_DECREF( v ); 3427 Py_DECREF( v );
3428 3428
3429 SET_TOP(x); 3429 SET_TOP(x);
3430 3430
3431 if (x != NULL) DISPATCH(); 3431 if (x != NULL) DISPATCH();
3432 goto on_error; 3432 goto on_error;
3433 3433
3434 3434
3435 3435
3436 3436
3437 OPT_TARGET_DECODE_NOARG(INCA_LONG_LSHIFT) 3437 OPT_TARGET_DECODE_NOARG(INCA_LONG_LSHIFT)
3438 /* template: IncaDerivative */ 3438 /* template: IncaDerivative */
3439 3439
3440 w= POP(); 3440 w= POP();
3441 v= TOP(); 3441 v= TOP();
3442 3442
3443 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) { 3443 if (INLINE_CACHE_MISS(v, w, PyLong_Type)) {
3444 /* repair stack pointer */ 3444 /* repair stack pointer */
3445 stack_pointer+= 1; 3445 stack_pointer+= 1;
3446 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3446 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3447 3447
3448 /* dispatch to generic implementation */ 3448 /* dispatch to generic implementation */
3449 goto TARGET_BINARY_LSHIFT_SKIP_DISPATCH;; 3449 goto TARGET_BINARY_LSHIFT_SKIP_DISPATCH;;
3450 } // if 3450 } // if
3451 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3451 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3452 3452
3453 x= PyLong_Type.tp_as_number->nb_lshift( v, w ); 3453 x= PyLong_Type.tp_as_number->nb_lshift( v, w );
3454 3454
3455 Py_DECREF( w ); 3455 Py_DECREF( w );
3456 Py_DECREF( v ); 3456 Py_DECREF( v );
3457 3457
3458 SET_TOP(x); 3458 SET_TOP(x);
3459 3459
3460 if (x != NULL) DISPATCH(); 3460 if (x != NULL) DISPATCH();
3461 goto on_error; 3461 goto on_error;
3462 3462
3463 3463
3464 3464
3465 OPT_TARGET_DECODE_ARG(INCA_CMP_DICTKEYS) 3465 OPT_TARGET_DECODE_ARG(INCA_CMP_DICTKEYS)
3466 w= POP(); // tos element 3466 w= POP(); // tos element
3467 v= TOP(); // sec element 3467 v= TOP(); // sec element
3468 3468
3469 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) goto COMPARE_OP_MISS; 3469 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) goto COMPARE_OP_MISS;
3470 x= PyDictKeys_Type.tp_richcompare(v, w, oparg); 3470 x= PyDictKeys_Type.tp_richcompare(v, w, oparg);
3471 3471
3472 Py_DECREF( w ); 3472 Py_DECREF( w );
3473 Py_DECREF( v ); 3473 Py_DECREF( v );
3474 3474
3475 SET_TOP(x); 3475 SET_TOP(x);
3476 3476
3477 if (x != NULL) DISPATCH(); 3477 if (x != NULL) DISPATCH();
3478 goto on_error; 3478 goto on_error;
3479 3479
3480 3480
3481 3481
3482 3482
3483 3483
3484 3484
3485 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_XOR) 3485 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_XOR)
3486 /* template: IncaDerivative */ 3486 /* template: IncaDerivative */
3487 3487
3488 w= POP(); 3488 w= POP();
3489 v= TOP(); 3489 v= TOP();
3490 3490
3491 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) { 3491 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) {
3492 /* repair stack pointer */ 3492 /* repair stack pointer */
3493 stack_pointer+= 1; 3493 stack_pointer+= 1;
3494 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3494 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3495 3495
3496 /* dispatch to generic implementation */ 3496 /* dispatch to generic implementation */
3497 goto TARGET_BINARY_XOR_SKIP_DISPATCH;; 3497 goto TARGET_BINARY_XOR_SKIP_DISPATCH;;
3498 } // if 3498 } // if
3499 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3499 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3500 3500
3501 x= PyDictKeys_Type.tp_as_number->nb_xor( v, w ); 3501 x= PyDictKeys_Type.tp_as_number->nb_xor( v, w );
3502 3502
3503 Py_DECREF( w ); 3503 Py_DECREF( w );
3504 Py_DECREF( v ); 3504 Py_DECREF( v );
3505 3505
3506 SET_TOP(x); 3506 SET_TOP(x);
3507 3507
3508 if (x != NULL) DISPATCH(); 3508 if (x != NULL) DISPATCH();
3509 goto on_error; 3509 goto on_error;
3510 3510
3511 3511
3512 3512
3513 3513
3514 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_SUBTRACT) 3514 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_SUBTRACT)
3515 /* template: IncaDerivative */ 3515 /* template: IncaDerivative */
3516 3516
3517 w= POP(); 3517 w= POP();
3518 v= TOP(); 3518 v= TOP();
3519 3519
3520 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) { 3520 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) {
3521 /* repair stack pointer */ 3521 /* repair stack pointer */
3522 stack_pointer+= 1; 3522 stack_pointer+= 1;
3523 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3523 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3524 3524
3525 /* dispatch to generic implementation */ 3525 /* dispatch to generic implementation */
3526 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;; 3526 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;;
3527 } // if 3527 } // if
3528 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3528 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3529 3529
3530 x= PyDictKeys_Type.tp_as_number->nb_subtract( v, w ); 3530 x= PyDictKeys_Type.tp_as_number->nb_subtract( v, w );
3531 3531
3532 Py_DECREF( w ); 3532 Py_DECREF( w );
3533 Py_DECREF( v ); 3533 Py_DECREF( v );
3534 3534
3535 SET_TOP(x); 3535 SET_TOP(x);
3536 3536
3537 if (x != NULL) DISPATCH(); 3537 if (x != NULL) DISPATCH();
3538 goto on_error; 3538 goto on_error;
3539 3539
3540 3540
3541 3541
3542 3542
3543 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_AND) 3543 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_AND)
3544 /* template: IncaDerivative */ 3544 /* template: IncaDerivative */
3545 3545
3546 w= POP(); 3546 w= POP();
3547 v= TOP(); 3547 v= TOP();
3548 3548
3549 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) { 3549 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) {
3550 /* repair stack pointer */ 3550 /* repair stack pointer */
3551 stack_pointer+= 1; 3551 stack_pointer+= 1;
3552 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3552 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3553 3553
3554 /* dispatch to generic implementation */ 3554 /* dispatch to generic implementation */
3555 goto TARGET_BINARY_AND_SKIP_DISPATCH;; 3555 goto TARGET_BINARY_AND_SKIP_DISPATCH;;
3556 } // if 3556 } // if
3557 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3557 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3558 3558
3559 x= PyDictKeys_Type.tp_as_number->nb_and( v, w ); 3559 x= PyDictKeys_Type.tp_as_number->nb_and( v, w );
3560 3560
3561 Py_DECREF( w ); 3561 Py_DECREF( w );
3562 Py_DECREF( v ); 3562 Py_DECREF( v );
3563 3563
3564 SET_TOP(x); 3564 SET_TOP(x);
3565 3565
3566 if (x != NULL) DISPATCH(); 3566 if (x != NULL) DISPATCH();
3567 goto on_error; 3567 goto on_error;
3568 3568
3569 3569
3570 3570
3571 3571
3572 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_OR) 3572 OPT_TARGET_DECODE_NOARG(INCA_DICTKEYS_OR)
3573 /* template: IncaDerivative */ 3573 /* template: IncaDerivative */
3574 3574
3575 w= POP(); 3575 w= POP();
3576 v= TOP(); 3576 v= TOP();
3577 3577
3578 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) { 3578 if (INLINE_CACHE_MISS(v, w, PyDictKeys_Type)) {
3579 /* repair stack pointer */ 3579 /* repair stack pointer */
3580 stack_pointer+= 1; 3580 stack_pointer+= 1;
3581 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3581 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3582 3582
3583 /* dispatch to generic implementation */ 3583 /* dispatch to generic implementation */
3584 goto TARGET_BINARY_OR_SKIP_DISPATCH;; 3584 goto TARGET_BINARY_OR_SKIP_DISPATCH;;
3585 } // if 3585 } // if
3586 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3586 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3587 3587
3588 x= PyDictKeys_Type.tp_as_number->nb_or( v, w ); 3588 x= PyDictKeys_Type.tp_as_number->nb_or( v, w );
3589 3589
3590 Py_DECREF( w ); 3590 Py_DECREF( w );
3591 Py_DECREF( v ); 3591 Py_DECREF( v );
3592 3592
3593 SET_TOP(x); 3593 SET_TOP(x);
3594 3594
3595 if (x != NULL) DISPATCH(); 3595 if (x != NULL) DISPATCH();
3596 goto on_error; 3596 goto on_error;
3597 3597
3598 3598
3599 3599
3600 OPT_TARGET_DECODE_ARG(FOR_ITER_SEQITER) 3600 OPT_TARGET_DECODE_ARG(FOR_ITER_SEQITER)
3601 v= TOP(); 3601 v= TOP();
3602 3602
3603 if (INLINE_CACHE_MISS_UNARY(v, PySeqIter_Type)) 3603 if (INLINE_CACHE_MISS_UNARY(v, PySeqIter_Type))
3604 goto TARGET_FOR_ITER_SKIP_DISPATCH; 3604 goto TARGET_FOR_ITER_SKIP_DISPATCH;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
3644 3644
3645 3645
3646 3646
3647 3647
3648 OPT_TARGET_DECODE_ARG(INCA_CMP_SET) 3648 OPT_TARGET_DECODE_ARG(INCA_CMP_SET)
3649 w= POP(); // tos element 3649 w= POP(); // tos element
3650 v= TOP(); // sec element 3650 v= TOP(); // sec element
3651 3651
3652 if (INLINE_CACHE_MISS(v, w, PySet_Type)) goto COMPARE_OP_MISS; 3652 if (INLINE_CACHE_MISS(v, w, PySet_Type)) goto COMPARE_OP_MISS;
3653 x= PySet_Type.tp_richcompare(v, w, oparg); 3653 x= PySet_Type.tp_richcompare(v, w, oparg);
3654 3654
3655 Py_DECREF( w ); 3655 Py_DECREF( w );
3656 Py_DECREF( v ); 3656 Py_DECREF( v );
3657 3657
3658 SET_TOP(x); 3658 SET_TOP(x);
3659 3659
3660 if (x != NULL) DISPATCH(); 3660 if (x != NULL) DISPATCH();
3661 goto on_error; 3661 goto on_error;
3662 3662
3663 3663
3664 3664
3665 3665
3666 3666
3667 3667
3668 OPT_TARGET_DECODE_NOARG(INCA_SET_XOR) 3668 OPT_TARGET_DECODE_NOARG(INCA_SET_XOR)
3669 /* template: IncaDerivative */ 3669 /* template: IncaDerivative */
3670 3670
3671 w= POP(); 3671 w= POP();
3672 v= TOP(); 3672 v= TOP();
3673 3673
3674 if (INLINE_CACHE_MISS(v, w, PySet_Type)) { 3674 if (INLINE_CACHE_MISS(v, w, PySet_Type)) {
3675 /* repair stack pointer */ 3675 /* repair stack pointer */
3676 stack_pointer+= 1; 3676 stack_pointer+= 1;
3677 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3677 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3678 3678
3679 /* dispatch to generic implementation */ 3679 /* dispatch to generic implementation */
3680 goto TARGET_BINARY_XOR_SKIP_DISPATCH;; 3680 goto TARGET_BINARY_XOR_SKIP_DISPATCH;;
3681 } // if 3681 } // if
3682 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3682 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3683 3683
3684 x= PySet_Type.tp_as_number->nb_xor( v, w ); 3684 x= PySet_Type.tp_as_number->nb_xor( v, w );
3685 3685
3686 Py_DECREF( w ); 3686 Py_DECREF( w );
3687 Py_DECREF( v ); 3687 Py_DECREF( v );
3688 3688
3689 SET_TOP(x); 3689 SET_TOP(x);
3690 3690
3691 if (x != NULL) DISPATCH(); 3691 if (x != NULL) DISPATCH();
3692 goto on_error; 3692 goto on_error;
3693 3693
3694 3694
3695 3695
3696 3696
3697 OPT_TARGET_DECODE_NOARG(INCA_SET_SUBTRACT) 3697 OPT_TARGET_DECODE_NOARG(INCA_SET_SUBTRACT)
3698 /* template: IncaDerivative */ 3698 /* template: IncaDerivative */
3699 3699
3700 w= POP(); 3700 w= POP();
3701 v= TOP(); 3701 v= TOP();
3702 3702
3703 if (INLINE_CACHE_MISS(v, w, PySet_Type)) { 3703 if (INLINE_CACHE_MISS(v, w, PySet_Type)) {
3704 /* repair stack pointer */ 3704 /* repair stack pointer */
3705 stack_pointer+= 1; 3705 stack_pointer+= 1;
3706 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3706 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3707 3707
3708 /* dispatch to generic implementation */ 3708 /* dispatch to generic implementation */
3709 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;; 3709 goto TARGET_BINARY_SUBTRACT_SKIP_DISPATCH;;
3710 } // if 3710 } // if
3711 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3711 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3712 3712
3713 x= PySet_Type.tp_as_number->nb_subtract( v, w ); 3713 x= PySet_Type.tp_as_number->nb_subtract( v, w );
3714 3714
3715 Py_DECREF( w ); 3715 Py_DECREF( w );
3716 Py_DECREF( v ); 3716 Py_DECREF( v );
3717 3717
3718 SET_TOP(x); 3718 SET_TOP(x);
3719 3719
3720 if (x != NULL) DISPATCH(); 3720 if (x != NULL) DISPATCH();
3721 goto on_error; 3721 goto on_error;
3722 3722
3723 3723
3724 3724
3725 3725
3726 OPT_TARGET_DECODE_NOARG(INCA_SET_AND) 3726 OPT_TARGET_DECODE_NOARG(INCA_SET_AND)
3727 /* template: IncaDerivative */ 3727 /* template: IncaDerivative */
3728 3728
3729 w= POP(); 3729 w= POP();
3730 v= TOP(); 3730 v= TOP();
3731 3731
3732 if (INLINE_CACHE_MISS(v, w, PySet_Type)) { 3732 if (INLINE_CACHE_MISS(v, w, PySet_Type)) {
3733 /* repair stack pointer */ 3733 /* repair stack pointer */
3734 stack_pointer+= 1; 3734 stack_pointer+= 1;
3735 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3735 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3736 3736
3737 /* dispatch to generic implementation */ 3737 /* dispatch to generic implementation */
3738 goto TARGET_BINARY_AND_SKIP_DISPATCH;; 3738 goto TARGET_BINARY_AND_SKIP_DISPATCH;;
3739 } // if 3739 } // if
3740 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3740 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3741 3741
3742 x= PySet_Type.tp_as_number->nb_and( v, w ); 3742 x= PySet_Type.tp_as_number->nb_and( v, w );
3743 3743
3744 Py_DECREF( w ); 3744 Py_DECREF( w );
3745 Py_DECREF( v ); 3745 Py_DECREF( v );
3746 3746
3747 SET_TOP(x); 3747 SET_TOP(x);
3748 3748
3749 if (x != NULL) DISPATCH(); 3749 if (x != NULL) DISPATCH();
3750 goto on_error; 3750 goto on_error;
3751 3751
3752 3752
3753 3753
3754 3754
3755 OPT_TARGET_DECODE_NOARG(INCA_SET_OR) 3755 OPT_TARGET_DECODE_NOARG(INCA_SET_OR)
3756 /* template: IncaDerivative */ 3756 /* template: IncaDerivative */
3757 3757
3758 w= POP(); 3758 w= POP();
3759 v= TOP(); 3759 v= TOP();
3760 3760
3761 if (INLINE_CACHE_MISS(v, w, PySet_Type)) { 3761 if (INLINE_CACHE_MISS(v, w, PySet_Type)) {
3762 /* repair stack pointer */ 3762 /* repair stack pointer */
3763 stack_pointer+= 1; 3763 stack_pointer+= 1;
3764 /* fprintf(stderr, "generated by template inline cache miss\n"); */ 3764 /* fprintf(stderr, "generated by template inline cache miss\n"); */
3765 3765
3766 /* dispatch to generic implementation */ 3766 /* dispatch to generic implementation */
3767 goto TARGET_BINARY_OR_SKIP_DISPATCH;; 3767 goto TARGET_BINARY_OR_SKIP_DISPATCH;;
3768 } // if 3768 } // if
3769 /* fprintf(stderr, "generated by template inline cache hit\n"); */ 3769 /* fprintf(stderr, "generated by template inline cache hit\n"); */
3770 3770
3771 x= PySet_Type.tp_as_number->nb_or( v, w ); 3771 x= PySet_Type.tp_as_number->nb_or( v, w );
3772 3772
3773 Py_DECREF( w ); 3773 Py_DECREF( w );
3774 Py_DECREF( v ); 3774 Py_DECREF( v );
3775 3775
3776 SET_TOP(x); 3776 SET_TOP(x);
3777 3777
3778 if (x != NULL) DISPATCH(); 3778 if (x != NULL) DISPATCH();
3779 goto on_error; 3779 goto on_error;
3780 3780
3781 3781
3782 3782
3783 OPT_TARGET_DECODE_ARG(FOR_ITER_REVERSED) 3783 OPT_TARGET_DECODE_ARG(FOR_ITER_REVERSED)
3784 v= TOP(); 3784 v= TOP();
3785 3785
3786 if (INLINE_CACHE_MISS_UNARY(v, PyReversed_Type)) 3786 if (INLINE_CACHE_MISS_UNARY(v, PyReversed_Type))
3787 goto TARGET_FOR_ITER_SKIP_DISPATCH; 3787 goto TARGET_FOR_ITER_SKIP_DISPATCH;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
3919 } // if 3919 } // if
3920 /* fprintf(stderr, "FAST_C_ZERO inline cache hit\n"); */ 3920 /* fprintf(stderr, "FAST_C_ZERO inline cache hit\n"); */
3921 3921
3922 3922
3923 u= PyCFunction_GET_SELF(v); 3923 u= PyCFunction_GET_SELF(v);
3924 x= (*((PyCFunction) PyCFunction_GET_FUNCTION(v)))(u, NULL); 3924 x= (*((PyCFunction) PyCFunction_GET_FUNCTION(v)))(u, NULL);
3925 3925
3926 Py_DECREF(v); 3926 Py_DECREF(v);
3927 3927
3928 SET_TOP(x); 3928 SET_TOP(x);
3929 3929
3930 if (x != NULL) DISPATCH(); 3930 if (x != NULL) DISPATCH();
3931 goto on_error; 3931 goto on_error;
3932 3932
3933 3933
3934 3934
3935 3935
3936 OPT_TARGET_DECODE_ARG(FAST_C_ONE) 3936 OPT_TARGET_DECODE_ARG(FAST_C_ONE)
3937 w= POP(); /* TOS element, when arity is 1 */ 3937 w= POP(); /* TOS element, when arity is 1 */
3938 v= TOP(); /* code pointer */ 3938 v= TOP(); /* code pointer */
3939 3939
3940 /* guard against inline cache misses */ 3940 /* guard against inline cache misses */
3941 if (! (PyCFunction_Check(v) && (PyCFunction_GET_FLAGS(v) & METH_O))) { 3941 if (! (PyCFunction_Check(v) && (PyCFunction_GET_FLAGS(v) & METH_O))) {
3942 stack_pointer++; /* reset stack pointer */ 3942 stack_pointer++; /* reset stack pointer */
3943 /* fprintf(stderr, "FAST_C_ONE inline cache miss\n"); */ 3943 /* fprintf(stderr, "FAST_C_ONE inline cache miss\n"); */
3944 3944
3945 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 3945 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
3946 } // if 3946 } // if
3947 /* fprintf(stderr, "FAST_C_ONE inline cache hit\n"); */ 3947 /* fprintf(stderr, "FAST_C_ONE inline cache hit\n"); */
3948 3948
3949 3949
3950 u= PyCFunction_GET_SELF(v); 3950 u= PyCFunction_GET_SELF(v);
3951 x= (*((PyCFunction) PyCFunction_GET_FUNCTION(v)))(u, w); 3951 x= (*((PyCFunction) PyCFunction_GET_FUNCTION(v)))(u, w);
3952 3952
3953 Py_DECREF(w); 3953 Py_DECREF(w);
3954 Py_DECREF(v); 3954 Py_DECREF(v);
3955 3955
3956 SET_TOP(x); 3956 SET_TOP(x);
3957 3957
3958 if (x != NULL) DISPATCH(); 3958 if (x != NULL) DISPATCH();
3959 goto on_error; 3959 goto on_error;
3960 3960
3961 3961
3962 3962
3963 3963
3964 OPT_TARGET_DECODE_ARG(FAST_CALL_GENERATOR_ONE) 3964 OPT_TARGET_DECODE_ARG(FAST_CALL_GENERATOR_ONE)
3965 { 3965 {
3966 if (oparg != 1) goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 3966 if (oparg != 1) goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
3967 3967
(...skipping 12 matching lines...) Expand all
3980 PyThreadState *tstate= PyThreadState_GET(); 3980 PyThreadState *tstate= PyThreadState_GET();
3981 if (globals == NULL || closure == NULL || tstate == NULL) 3981 if (globals == NULL || closure == NULL || tstate == NULL)
3982 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 3982 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
3983 3983
3984 STACKADJ(-1); 3984 STACKADJ(-1);
3985 register PyFrameObject *generator_frame= PyFrame_New(tstate, co, globals , NULL); 3985 register PyFrameObject *generator_frame= PyFrame_New(tstate, co, globals , NULL);
3986 register PyObject **freevars= generator_frame->f_localsplus + co->co_nlo cals; 3986 register PyObject **freevars= generator_frame->f_localsplus + co->co_nlo cals;
3987 3987
3988 Py_INCREF( w ); 3988 Py_INCREF( w );
3989 generator_frame->f_localsplus[ 0 ]= w; 3989 generator_frame->f_localsplus[ 0 ]= w;
3990 3990
3991 /* copy closure variables... */ 3991 /* copy closure variables... */
3992 u= PyTuple_GET_ITEM(closure, 0); 3992 u= PyTuple_GET_ITEM(closure, 0);
3993 Py_INCREF(u); 3993 Py_INCREF(u);
3994 freevars[0] = u; /* closure-bound variable */ 3994 freevars[0] = u; /* closure-bound variable */
3995 3995
3996 /* Don't need to keep the reference to f_back, it will be set 3996 /* Don't need to keep the reference to f_back, it will be set
3997 * when the generator is resumed. */ 3997 * when the generator is resumed. */
3998 Py_XDECREF(generator_frame->f_back); 3998 Py_XDECREF(generator_frame->f_back);
3999 generator_frame->f_back = NULL; 3999 generator_frame->f_back = NULL;
4000 4000
4001 x= PyGen_New(generator_frame); 4001 x= PyGen_New(generator_frame);
4002 4002
4003 Py_DECREF( w ); 4003 Py_DECREF( w );
4004 Py_DECREF( v ); 4004 Py_DECREF( v );
4005 4005
4006 SET_TOP(x); 4006 SET_TOP(x);
4007 4007
4008 if (x != NULL) DISPATCH(); 4008 if (x != NULL) DISPATCH();
4009 goto on_error; 4009 goto on_error;
4010 4010
4011 } 4011 }
4012 4012
4013 4013
4014 4014
4015 4015
4016 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_ZERO) 4016 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_ZERO)
4017 { 4017 {
(...skipping 15 matching lines...) Expand all
4033 register PyCFunction meth= PyCFunction_GET_FUNCTION(v); 4033 register PyCFunction meth= PyCFunction_GET_FUNCTION(v);
4034 register PyObject *self= PyCFunction_GET_SELF(v); 4034 register PyObject *self= PyCFunction_GET_SELF(v);
4035 register PyObject *args= PyTuple_New( 0 ); 4035 register PyObject *args= PyTuple_New( 0 );
4036 4036
4037 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL); 4037 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL);
4038 4038
4039 Py_XDECREF( args ); 4039 Py_XDECREF( args );
4040 Py_DECREF(v); 4040 Py_DECREF(v);
4041 4041
4042 SET_TOP(x); 4042 SET_TOP(x);
4043 4043
4044 if (x != NULL) DISPATCH(); 4044 if (x != NULL) DISPATCH();
4045 goto on_error; 4045 goto on_error;
4046 4046
4047 } 4047 }
4048 4048
4049 4049
4050 4050
4051 4051
4052 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_ONE) 4052 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_ONE)
4053 { 4053 {
(...skipping 11 matching lines...) Expand all
4065 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 4065 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
4066 } // if 4066 } // if
4067 /* fprintf(stderr, "FAST_C_VARARGS_ONE inline cache hit\n"); */ 4067 /* fprintf(stderr, "FAST_C_VARARGS_ONE inline cache hit\n"); */
4068 4068
4069 4069
4070 STACKADJ(-1); 4070 STACKADJ(-1);
4071 register PyCFunction meth= PyCFunction_GET_FUNCTION(v); 4071 register PyCFunction meth= PyCFunction_GET_FUNCTION(v);
4072 register PyObject *self= PyCFunction_GET_SELF(v); 4072 register PyObject *self= PyCFunction_GET_SELF(v);
4073 register PyObject *args= PyTuple_New( 1 ); 4073 register PyObject *args= PyTuple_New( 1 );
4074 PyTuple_SET_ITEM(args, 0, w); 4074 PyTuple_SET_ITEM(args, 0, w);
4075 4075
4076 4076
4077 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL); 4077 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL);
4078 4078
4079 Py_XDECREF( args ); 4079 Py_XDECREF( args );
4080 Py_DECREF(v); 4080 Py_DECREF(v);
4081 4081
4082 SET_TOP(x); 4082 SET_TOP(x);
4083 4083
4084 if (x != NULL) DISPATCH(); 4084 if (x != NULL) DISPATCH();
4085 goto on_error; 4085 goto on_error;
4086 4086
4087 } 4087 }
4088 4088
4089 4089
4090 4090
4091 4091
4092 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_TWO) 4092 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_TWO)
4093 { 4093 {
(...skipping 12 matching lines...) Expand all
4106 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 4106 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
4107 } // if 4107 } // if
4108 /* fprintf(stderr, "FAST_C_VARARGS_TWO inline cache hit\n"); */ 4108 /* fprintf(stderr, "FAST_C_VARARGS_TWO inline cache hit\n"); */
4109 4109
4110 4110
4111 STACKADJ(-2); 4111 STACKADJ(-2);
4112 register PyCFunction meth= PyCFunction_GET_FUNCTION(v); 4112 register PyCFunction meth= PyCFunction_GET_FUNCTION(v);
4113 register PyObject *self= PyCFunction_GET_SELF(v); 4113 register PyObject *self= PyCFunction_GET_SELF(v);
4114 register PyObject *args= PyTuple_New( 2 ); 4114 register PyObject *args= PyTuple_New( 2 );
4115 PyTuple_SET_ITEM(args, 0, w); 4115 PyTuple_SET_ITEM(args, 0, w);
4116 4116
4117 PyTuple_SET_ITEM(args, 1, u); 4117 PyTuple_SET_ITEM(args, 1, u);
4118 4118
4119 4119
4120 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL); 4120 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL);
4121 4121
4122 Py_XDECREF( args ); 4122 Py_XDECREF( args );
4123 Py_DECREF(v); 4123 Py_DECREF(v);
4124 4124
4125 SET_TOP(x); 4125 SET_TOP(x);
4126 4126
4127 if (x != NULL) DISPATCH(); 4127 if (x != NULL) DISPATCH();
4128 goto on_error; 4128 goto on_error;
4129 4129
4130 } 4130 }
4131 4131
4132 4132
4133 4133
4134 4134
4135 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_THREE) 4135 OPT_TARGET_DECODE_ARG(FAST_C_VARARGS_THREE)
4136 { 4136 {
(...skipping 13 matching lines...) Expand all
4150 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 4150 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
4151 } // if 4151 } // if
4152 /* fprintf(stderr, "FAST_C_VARARGS_THREE inline cache hit\n"); */ 4152 /* fprintf(stderr, "FAST_C_VARARGS_THREE inline cache hit\n"); */
4153 4153
4154 4154
4155 STACKADJ(-3); 4155 STACKADJ(-3);
4156 register PyCFunction meth= PyCFunction_GET_FUNCTION(v); 4156 register PyCFunction meth= PyCFunction_GET_FUNCTION(v);
4157 register PyObject *self= PyCFunction_GET_SELF(v); 4157 register PyObject *self= PyCFunction_GET_SELF(v);
4158 register PyObject *args= PyTuple_New( 3 ); 4158 register PyObject *args= PyTuple_New( 3 );
4159 PyTuple_SET_ITEM(args, 0, w); 4159 PyTuple_SET_ITEM(args, 0, w);
4160 4160
4161 PyTuple_SET_ITEM(args, 1, u); 4161 PyTuple_SET_ITEM(args, 1, u);
4162 4162
4163 PyTuple_SET_ITEM(args, 2, t); 4163 PyTuple_SET_ITEM(args, 2, t);
4164 4164
4165 4165
4166 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL); 4166 x= (*(PyCFunctionWithKeywords)meth)(self, args, NULL);
4167 4167
4168 Py_XDECREF( args ); 4168 Py_XDECREF( args );
4169 Py_DECREF(v); 4169 Py_DECREF(v);
4170 4170
4171 SET_TOP(x); 4171 SET_TOP(x);
4172 4172
4173 if (x != NULL) DISPATCH(); 4173 if (x != NULL) DISPATCH();
4174 goto on_error; 4174 goto on_error;
4175 4175
4176 } 4176 }
4177 4177
4178 4178
4179 4179
4180 4180
4181 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_ZERO) 4181 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_ZERO)
4182 { 4182 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4215 Py_LeaveRecursiveCall(); 4215 Py_LeaveRecursiveCall();
4216 4216
4217 if (x == NULL && !PyErr_Occurred()) 4217 if (x == NULL && !PyErr_Occurred())
4218 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call"); 4218 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call");
4219 4219
4220 Py_XDECREF( args ); 4220 Py_XDECREF( args );
4221 4221
4222 Py_DECREF(v); 4222 Py_DECREF(v);
4223 4223
4224 SET_TOP(x); 4224 SET_TOP(x);
4225 4225
4226 if (x != NULL) DISPATCH(); 4226 if (x != NULL) DISPATCH();
4227 goto on_error; 4227 goto on_error;
4228 4228
4229 } 4229 }
4230 4230
4231 4231
4232 4232
4233 4233
4234 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_ONE) 4234 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_ONE)
4235 { 4235 {
(...skipping 16 matching lines...) Expand all
4252 register ternaryfunc call= v->ob_type->tp_call; 4252 register ternaryfunc call= v->ob_type->tp_call;
4253 if (call == NULL) 4253 if (call == NULL)
4254 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 4254 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
4255 4255
4256 STACKADJ(-1); 4256 STACKADJ(-1);
4257 /* fprintf(stderr, "FAST_PYFUN_DOCALL_ONE inline cache hit\n"); */ 4257 /* fprintf(stderr, "FAST_PYFUN_DOCALL_ONE inline cache hit\n"); */
4258 4258
4259 4259
4260 register PyObject *args= PyTuple_New( 1 ); 4260 register PyObject *args= PyTuple_New( 1 );
4261 PyTuple_SET_ITEM(args, 0, w); 4261 PyTuple_SET_ITEM(args, 0, w);
4262 4262
4263 if (Py_EnterRecursiveCall(" while calling a Python object")) { 4263 if (Py_EnterRecursiveCall(" while calling a Python object")) {
4264 x= NULL; 4264 x= NULL;
4265 SET_TOP(x); 4265 SET_TOP(x);
4266 break; 4266 break;
4267 } // if 4267 } // if
4268 4268
4269 x= (*call)(v, args, NULL); 4269 x= (*call)(v, args, NULL);
4270 4270
4271 Py_LeaveRecursiveCall(); 4271 Py_LeaveRecursiveCall();
4272 4272
4273 if (x == NULL && !PyErr_Occurred()) 4273 if (x == NULL && !PyErr_Occurred())
4274 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call"); 4274 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call");
4275 4275
4276 Py_XDECREF( args ); 4276 Py_XDECREF( args );
4277 4277
4278 Py_DECREF(v); 4278 Py_DECREF(v);
4279 4279
4280 SET_TOP(x); 4280 SET_TOP(x);
4281 4281
4282 if (x != NULL) DISPATCH(); 4282 if (x != NULL) DISPATCH();
4283 goto on_error; 4283 goto on_error;
4284 4284
4285 } 4285 }
4286 4286
4287 4287
4288 4288
4289 4289
4290 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_TWO) 4290 OPT_TARGET_DECODE_ARG(FAST_PYFUN_DOCALL_TWO)
4291 { 4291 {
(...skipping 18 matching lines...) Expand all
4310 if (call == NULL) 4310 if (call == NULL)
4311 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH; 4311 goto TARGET_CALL_FUNCTION_SKIP_DISPATCH;
4312 4312
4313 STACKADJ(-2); 4313 STACKADJ(-2);
4314 /* fprintf(stderr, "FAST_PYFUN_DOCALL_TWO inline cache hit\n"); */ 4314 /* fprintf(stderr, "FAST_PYFUN_DOCALL_TWO inline cache hit\n"); */
4315 4315
4316 4316
4317 register PyObject *args= PyTuple_New( 2 ); 4317 register PyObject *args= PyTuple_New( 2 );
4318 PyTuple_SET_ITEM(args, 0, w); 4318 PyTuple_SET_ITEM(args, 0, w);
4319 PyTuple_SET_ITEM(args, 1, u); 4319 PyTuple_SET_ITEM(args, 1, u);
4320 4320
4321 if (Py_EnterRecursiveCall(" while calling a Python object")) { 4321 if (Py_EnterRecursiveCall(" while calling a Python object")) {
4322 x= NULL; 4322 x= NULL;
4323 SET_TOP(x); 4323 SET_TOP(x);
4324 break; 4324 break;
4325 } // if 4325 } // if
4326 4326
4327 x= (*call)(v, args, NULL); 4327 x= (*call)(v, args, NULL);
4328 4328
4329 Py_LeaveRecursiveCall(); 4329 Py_LeaveRecursiveCall();
4330 4330
4331 if (x == NULL && !PyErr_Occurred()) 4331 if (x == NULL && !PyErr_Occurred())
4332 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call"); 4332 PyErr_SetString(PyExc_SystemError, "NULL result without error in PyO bject_Call");
4333 4333
4334 Py_XDECREF( args ); 4334 Py_XDECREF( args );
4335 4335
4336 Py_DECREF(v); 4336 Py_DECREF(v);
4337 4337
4338 SET_TOP(x); 4338 SET_TOP(x);
4339 4339
4340 if (x != NULL) DISPATCH(); 4340 if (x != NULL) DISPATCH();
4341 goto on_error; 4341 goto on_error;
4342 4342
4343 } 4343 }
4344 4344
4345 4345
4346 4346
4347 4347
4348 OPT_TARGET_DECODE_ARG(FAST_PYMETH_ZERO) 4348 OPT_TARGET_DECODE_ARG(FAST_PYMETH_ZERO)
4349 { 4349 {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
4399 4399
4400 ++tstate->recursion_depth; 4400 ++tstate->recursion_depth;
4401 Py_DECREF(callee_frame); 4401 Py_DECREF(callee_frame);
4402 --tstate->recursion_depth; 4402 --tstate->recursion_depth;
4403 4403
4404 Py_DECREF(func); 4404 Py_DECREF(func);
4405 Py_DECREF(self); 4405 Py_DECREF(self);
4406 4406
4407 4407
4408 SET_TOP(x); 4408 SET_TOP(x);
4409 4409
4410 if (x != NULL) DISPATCH(); 4410 if (x != NULL) DISPATCH();
4411 goto on_error; 4411 goto on_error;
4412 4412
4413 } 4413 }
4414 4414
4415 4415
4416 4416
4417 4417
4418 OPT_TARGET_DECODE_ARG(FAST_PYMETH_ONE) 4418 OPT_TARGET_DECODE_ARG(FAST_PYMETH_ONE)
4419 { 4419 {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
4461 x= NULL; 4461 x= NULL;
4462 SET_TOP(x); 4462 SET_TOP(x);
4463 break; 4463 break;
4464 } // if 4464 } // if
4465 4465
4466 callee_frame->f_localsplus[0]= self; 4466 callee_frame->f_localsplus[0]= self;
4467 Py_INCREF(self); 4467 Py_INCREF(self);
4468 4468
4469 callee_frame->f_localsplus[1]= w; 4469 callee_frame->f_localsplus[1]= w;
4470 Py_INCREF( w ); 4470 Py_INCREF( w );
4471 4471
4472 x= PyEval_EvalFrameEx(callee_frame, 0); 4472 x= PyEval_EvalFrameEx(callee_frame, 0);
4473 4473
4474 ++tstate->recursion_depth; 4474 ++tstate->recursion_depth;
4475 Py_DECREF(callee_frame); 4475 Py_DECREF(callee_frame);
4476 --tstate->recursion_depth; 4476 --tstate->recursion_depth;
4477 4477
4478 Py_DECREF(func); 4478 Py_DECREF(func);
4479 Py_DECREF(self); 4479 Py_DECREF(self);
4480 4480
4481 Py_DECREF( w ); 4481 Py_DECREF( w );
4482 4482
4483 SET_TOP(x); 4483 SET_TOP(x);
4484 4484
4485 if (x != NULL) DISPATCH(); 4485 if (x != NULL) DISPATCH();
4486 goto on_error; 4486 goto on_error;
4487 4487
4488 } 4488 }
4489 4489
4490 4490
4491 4491
4492 4492
4493 OPT_TARGET_DECODE_ARG(FAST_PYMETH_TWO) 4493 OPT_TARGET_DECODE_ARG(FAST_PYMETH_TWO)
4494 { 4494 {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
4539 break; 4539 break;
4540 } // if 4540 } // if
4541 4541
4542 callee_frame->f_localsplus[0]= self; 4542 callee_frame->f_localsplus[0]= self;
4543 Py_INCREF(self); 4543 Py_INCREF(self);
4544 4544
4545 callee_frame->f_localsplus[1]= w; 4545 callee_frame->f_localsplus[1]= w;
4546 Py_INCREF( w ); 4546 Py_INCREF( w );
4547 callee_frame->f_localsplus[2]= u; 4547 callee_frame->f_localsplus[2]= u;
4548 Py_INCREF( u ); 4548 Py_INCREF( u );
4549 4549
4550 x= PyEval_EvalFrameEx(callee_frame, 0); 4550 x= PyEval_EvalFrameEx(callee_frame, 0);
4551 4551
4552 ++tstate->recursion_depth; 4552 ++tstate->recursion_depth;
4553 Py_DECREF(callee_frame); 4553 Py_DECREF(callee_frame);
4554 --tstate->recursion_depth; 4554 --tstate->recursion_depth;
4555 4555
4556 Py_DECREF(func); 4556 Py_DECREF(func);
4557 Py_DECREF(self); 4557 Py_DECREF(self);
4558 4558
4559 Py_DECREF( u ); 4559 Py_DECREF( u );
4560 Py_DECREF( w ); 4560 Py_DECREF( w );
4561 4561
4562 SET_TOP(x); 4562 SET_TOP(x);
4563 4563
4564 if (x != NULL) DISPATCH(); 4564 if (x != NULL) DISPATCH();
4565 goto on_error; 4565 goto on_error;
4566 4566
4567 } 4567 }
4568 4568
4569 4569
4570 4570
4571 4571
4572 OPT_TARGET_DECODE_ARG(FAST_PYMETH_THREE) 4572 OPT_TARGET_DECODE_ARG(FAST_PYMETH_THREE)
4573 { 4573 {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
4621 4621
4622 callee_frame->f_localsplus[0]= self; 4622 callee_frame->f_localsplus[0]= self;
4623 Py_INCREF(self); 4623 Py_INCREF(self);
4624 4624
4625 callee_frame->f_localsplus[1]= w; 4625 callee_frame->f_localsplus[1]= w;
4626 Py_INCREF( w ); 4626 Py_INCREF( w );
4627 callee_frame->f_localsplus[2]= u; 4627 callee_frame->f_localsplus[2]= u;
4628 Py_INCREF( u ); 4628 Py_INCREF( u );
4629 callee_frame->f_localsplus[3]= t; 4629 callee_frame->f_localsplus[3]= t;
4630 Py_INCREF( t ); 4630 Py_INCREF( t );
4631 4631
4632 x= PyEval_EvalFrameEx(callee_frame, 0); 4632 x= PyEval_EvalFrameEx(callee_frame, 0);
4633 4633
4634 ++tstate->recursion_depth; 4634 ++tstate->recursion_depth;
4635 Py_DECREF(callee_frame); 4635 Py_DECREF(callee_frame);
4636 --tstate->recursion_depth; 4636 --tstate->recursion_depth;
4637 4637
4638 Py_DECREF(func); 4638 Py_DECREF(func);
4639 Py_DECREF(self); 4639 Py_DECREF(self);
4640 4640
4641 Py_DECREF( t ); 4641 Py_DECREF( t );
4642 Py_DECREF( u ); 4642 Py_DECREF( u );
4643 Py_DECREF( w ); 4643 Py_DECREF( w );
4644 4644
4645 SET_TOP(x); 4645 SET_TOP(x);
4646 4646
4647 if (x != NULL) DISPATCH(); 4647 if (x != NULL) DISPATCH();
4648 goto on_error; 4648 goto on_error;
4649 4649
4650 } 4650 }
4651 4651
4652 4652
4653 4653
4654 4654
4655 OPT_TARGET_DECODE_ARG(FAST_PYFUN_ZERO) 4655 OPT_TARGET_DECODE_ARG(FAST_PYFUN_ZERO)
4656 { 4656 {
(...skipping 22 matching lines...) Expand all
4679 4679
4680 4680
4681 PyObject *globals= PyFunction_GET_GLOBALS(v); 4681 PyObject *globals= PyFunction_GET_GLOBALS(v);
4682 PyThreadState *tstate= PyThreadState_GET(); 4682 PyThreadState *tstate= PyThreadState_GET();
4683 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL ); 4683 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL );
4684 if (callee_frame == NULL) { 4684 if (callee_frame == NULL) {
4685 SET_TOP((PyObject*)NULL); 4685 SET_TOP((PyObject*)NULL);
4686 break; 4686 break;
4687 } // if 4687 } // if
4688 4688
4689 4689
4690 x= PyEval_EvalFrameEx(callee_frame, 0); 4690 x= PyEval_EvalFrameEx(callee_frame, 0);
4691 4691
4692 ++tstate->recursion_depth; 4692 ++tstate->recursion_depth;
4693 Py_DECREF(callee_frame); 4693 Py_DECREF(callee_frame);
4694 --tstate->recursion_depth; 4694 --tstate->recursion_depth;
4695 4695
4696 SET_TOP(x); 4696 SET_TOP(x);
4697 4697
4698 if (x != NULL) DISPATCH(); 4698 if (x != NULL) DISPATCH();
4699 goto on_error; 4699 goto on_error;
4700 4700
4701 } 4701 }
4702 4702
4703 4703
4704 4704
4705 4705
4706 OPT_TARGET_DECODE_ARG(FAST_PYFUN_ONE) 4706 OPT_TARGET_DECODE_ARG(FAST_PYFUN_ONE)
4707 { 4707 {
(...skipping 25 matching lines...) Expand all
4733 STACKADJ(-1); 4733 STACKADJ(-1);
4734 PyObject *globals= PyFunction_GET_GLOBALS(v); 4734 PyObject *globals= PyFunction_GET_GLOBALS(v);
4735 PyThreadState *tstate= PyThreadState_GET(); 4735 PyThreadState *tstate= PyThreadState_GET();
4736 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL ); 4736 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL );
4737 if (callee_frame == NULL) { 4737 if (callee_frame == NULL) {
4738 SET_TOP((PyObject*)NULL); 4738 SET_TOP((PyObject*)NULL);
4739 break; 4739 break;
4740 } // if 4740 } // if
4741 4741
4742 callee_frame->f_localsplus[0]= w; 4742 callee_frame->f_localsplus[0]= w;
4743 4743
4744 x= PyEval_EvalFrameEx(callee_frame, 0); 4744 x= PyEval_EvalFrameEx(callee_frame, 0);
4745 4745
4746 ++tstate->recursion_depth; 4746 ++tstate->recursion_depth;
4747 Py_DECREF(callee_frame); 4747 Py_DECREF(callee_frame);
4748 --tstate->recursion_depth; 4748 --tstate->recursion_depth;
4749 4749
4750 SET_TOP(x); 4750 SET_TOP(x);
4751 4751
4752 if (x != NULL) DISPATCH(); 4752 if (x != NULL) DISPATCH();
4753 goto on_error; 4753 goto on_error;
4754 4754
4755 } 4755 }
4756 4756
4757 4757
4758 4758
4759 4759
4760 OPT_TARGET_DECODE_ARG(FAST_PYFUN_TWO) 4760 OPT_TARGET_DECODE_ARG(FAST_PYFUN_TWO)
4761 { 4761 {
(...skipping 27 matching lines...) Expand all
4789 PyObject *globals= PyFunction_GET_GLOBALS(v); 4789 PyObject *globals= PyFunction_GET_GLOBALS(v);
4790 PyThreadState *tstate= PyThreadState_GET(); 4790 PyThreadState *tstate= PyThreadState_GET();
4791 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL ); 4791 PyFrameObject *callee_frame= PyFrame_New( tstate, code, globals, NULL );
4792 if (callee_frame == NULL) { 4792 if (callee_frame == NULL) {
4793 SET_TOP((PyObject*)NULL); 4793 SET_TOP((PyObject*)NULL);
4794 break; 4794 break;
4795 } // if 4795 } // if
4796 4796
4797 callee_frame->f_localsplus[0]= w; 4797 callee_frame->f_localsplus[0]= w;
4798 callee_frame->f_localsplus[1]= u; 4798 callee_frame->f_localsplus[1]= u;
4799 4799
4800 x= PyEval_EvalFrameEx(callee_frame, 0); 4800 x= PyEval_EvalFrameEx(callee_frame, 0);
4801 4801
4802 ++tstate->recursion_depth; 4802 ++tstate->recursion_depth;
4803 Py_DECREF(callee_frame); 4803 Py_DECREF(callee_frame);
4804 --tstate->recursion_depth; 4804 --tstate->recursion_depth;
4805 4805
4806 SET_TOP(x); 4806 SET_TOP(x);
4807 4807
4808 if (x != NULL) DISPATCH(); 4808 if (x != NULL) DISPATCH();
4809 goto on_error; 4809 goto on_error;
4810 4810
4811 } 4811 }
4812 4812
4813 4813
4814 4814
4815 4815
4816 4816
4817 4817
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
4852 4852
4853 4853
4854 4854
4855 4855
4856 4856
4857 4857
4858 4858
4859 4859
4860 4860
4861 4861
LEFTRIGHT

RSS Feeds Recent Issues | This issue
This is Rietveld cbc36f91f3f7