Changeset 14024
- Timestamp:
- 07/29/12 20:08:54 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/LispThread.java
r13540 r14024 46 46 public final class LispThread extends LispObject 47 47 { 48 static boolean use_fast_calls = false;48 // static boolean use_fast_calls = false; 49 49 50 50 // use a concurrent hashmap: we may want to add threads … … 626 626 public LispObject execute(LispObject function) 627 627 { 628 if (use_fast_calls)629 return function.execute();630 631 628 pushStackFrame(new LispStackFrame(function)); 632 629 try { … … 640 637 @Override 641 638 public LispObject execute(LispObject function, LispObject arg) 642 643 { 644 if (use_fast_calls) 645 return function.execute(arg); 646 639 { 647 640 pushStackFrame(new LispStackFrame(function, arg)); 648 641 try { … … 657 650 public LispObject execute(LispObject function, LispObject first, 658 651 LispObject second) 659 660 { 661 if (use_fast_calls) 662 return function.execute(first, second); 663 652 { 664 653 pushStackFrame(new LispStackFrame(function, first, second)); 665 654 try { … … 674 663 public LispObject execute(LispObject function, LispObject first, 675 664 LispObject second, LispObject third) 676 677 { 678 if (use_fast_calls) 679 return function.execute(first, second, third); 680 665 { 681 666 pushStackFrame(new LispStackFrame(function, first, second, third)); 682 667 try { … … 692 677 LispObject second, LispObject third, 693 678 LispObject fourth) 694 695 { 696 if (use_fast_calls) 697 return function.execute(first, second, third, fourth); 698 679 { 699 680 pushStackFrame(new LispStackFrame(function, first, second, third, fourth)); 700 681 try { … … 710 691 LispObject second, LispObject third, 711 692 LispObject fourth, LispObject fifth) 712 713 { 714 if (use_fast_calls) 715 return function.execute(first, second, third, fourth, fifth); 716 693 { 717 694 pushStackFrame(new LispStackFrame(function, first, second, third, fourth, fifth)); 718 695 try { … … 729 706 LispObject fourth, LispObject fifth, 730 707 LispObject sixth) 731 732 { 733 if (use_fast_calls) 734 return function.execute(first, second, third, fourth, fifth, sixth); 735 708 { 736 709 pushStackFrame(new LispStackFrame(function, first, second, 737 710 third, fourth, fifth, sixth)); … … 749 722 LispObject fourth, LispObject fifth, 750 723 LispObject sixth, LispObject seventh) 751 752 { 753 if (use_fast_calls) 754 return function.execute(first, second, third, fourth, fifth, sixth, 755 seventh); 756 724 { 757 725 pushStackFrame(new LispStackFrame(function, first, second, third, 758 726 fourth, fifth, sixth, seventh)); … … 771 739 LispObject sixth, LispObject seventh, 772 740 LispObject eighth) 773 774 { 775 if (use_fast_calls) 776 return function.execute(first, second, third, fourth, fifth, sixth, 777 seventh, eighth); 778 741 { 779 742 pushStackFrame(new LispStackFrame(function, first, second, third, 780 743 fourth, fifth, sixth, seventh, eighth)); … … 789 752 790 753 public LispObject execute(LispObject function, LispObject[] args) 791 792 { 793 if (use_fast_calls) 794 return function.execute(args); 795 754 { 796 755 pushStackFrame(new LispStackFrame(function, args)); 797 756 try { … … 1204 1163 1205 1164 1206 @DocString(name="use-fast-calls")1207 private static final Primitive USE_FAST_CALLS =1208 new Primitive("use-fast-calls", PACKAGE_SYS, true)1209 {1210 @Override1211 public LispObject execute(LispObject arg)1212 {1213 use_fast_calls = (arg != NIL);1214 return use_fast_calls ? T : NIL;1215 }1216 };1217 1218 1165 @DocString(name="synchronized-on", args="form &body body") 1219 1166 private static final SpecialOperator SYNCHRONIZED_ON =
Note: See TracChangeset
for help on using the changeset viewer.