comparison src/bytecode.c @ 5438:8d29f1c4bb98

Merge with 21.5 trunk.
author Mats Lidell <matsl@xemacs.org>
date Fri, 26 Nov 2010 06:43:36 +0100
parents 46491edfd94a c096d8051f89
children ac37a5f7e5be
comparison
equal deleted inserted replaced
5437:002cb5224e4f 5438:8d29f1c4bb98
1727 1727
1728 case Bbind_multiple_value_limits: 1728 case Bbind_multiple_value_limits:
1729 { 1729 {
1730 Lisp_Object upper = POP, first = TOP, speccount; 1730 Lisp_Object upper = POP, first = TOP, speccount;
1731 1731
1732 CHECK_NATNUM (upper); 1732 check_integer_range (upper, Qzero,
1733 CHECK_NATNUM (first); 1733 make_integer (Vmultiple_values_limit));
1734 check_integer_range (first, Qzero, upper);
1734 1735
1735 speccount = make_int (bind_multiple_value_limits (XINT (first), 1736 speccount = make_int (bind_multiple_value_limits (XINT (first),
1736 XINT (upper))); 1737 XINT (upper)));
1737 PUSH (upper); 1738 PUSH (upper);
1738 PUSH (speccount); 1739 PUSH (speccount);
2753 Elemcount program_length; 2754 Elemcount program_length;
2754 Opbyte *program; 2755 Opbyte *program;
2755 2756
2756 CHECK_STRING (instructions); 2757 CHECK_STRING (instructions);
2757 CHECK_VECTOR (constants); 2758 CHECK_VECTOR (constants);
2758 CHECK_NATNUM (stack_depth); 2759 check_integer_range (stack_depth, Qzero, make_int (USHRT_MAX));
2759 2760
2760 /* Optimize the `instructions' string, just like when executing a 2761 /* Optimize the `instructions' string, just like when executing a
2761 regular compiled function, but don't save it for later since this is 2762 regular compiled function, but don't save it for later since this is
2762 likely to only be executed once. */ 2763 likely to only be executed once. */
2763 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (instructions)); 2764 program = alloca_array (Opbyte, 1 + 2 * XSTRING_LENGTH (instructions));