NVALUES is now part of legacy.h

This commit is contained in:
Juan Jose Garcia Ripoll 2012-06-30 09:14:21 +02:00
parent 896e1e3ff1
commit fe631c483e
6 changed files with 20 additions and 18 deletions

View file

@ -152,12 +152,13 @@ cl_return_from(cl_object block_id, cl_object block_name)
void
cl_go(cl_object tag_id, cl_object label)
{
const cl_env_ptr the_env = ecl_process_env();
ecl_frame_ptr fr = frs_sch(tag_id);
if (fr == NULL)
FEcontrol_error("GO: The tagbody ~S is missing.", 1, tag_id);
VALUES(0)=label;
NVALUES=1;
ecl_unwind(ecl_process_env(), fr);
the_env->values[0] = label;
the_env->nvalues = 1;
ecl_unwind(the_env, fr);
}
cl_object

View file

@ -925,16 +925,16 @@ _mark_contblock(void *x, cl_index s)
int i;
cl_object *tl;
@
NVALUES = 8;
VALUES(0) = ecl_make_fixnum(real_maxpage);
VALUES(1) = ecl_make_fixnum(available_pages());
VALUES(2) = ecl_make_fixnum(ncbpage);
VALUES(3) = ecl_make_fixnum(maxcbpage);
VALUES(4) = ecl_make_fixnum(ncb);
VALUES(5) = ecl_make_fixnum(cbgccount);
VALUES(6) = ecl_make_fixnum(holepage);
VALUES(7) = Cnil;
tl = &VALUES(7);
the_env->nvalues = 8;
the_env->values[0] = ecl_make_fixnum(real_maxpage);
the_env->values[1] = ecl_make_fixnum(available_pages());
the_env->values[2] = ecl_make_fixnum(ncbpage);
the_env->values[3] = ecl_make_fixnum(maxcbpage);
the_env->values[4] = ecl_make_fixnum(ncb);
the_env->values[5] = ecl_make_fixnum(cbgccount);
the_env->values[6] = ecl_make_fixnum(holepage);
the_env->values[7] = Cnil;
tl = &the_env->values[7];
for (i = 0; i < (int)t_end; i++) {
if (tm_table[i].tm_type == (cl_type)i) {
tl = &CDR(*tl = CONS(ecl_make_fixnum(tm_table[i].tm_nused), Cnil));
@ -950,7 +950,7 @@ _mark_contblock(void *x, cl_index s)
tl = &CDR(*tl = CONS(Cnil, Cnil));
}
}
return VALUES(0);
return the_env->values[0];
@)
@(defun si::reset-gc-count ()

View file

@ -295,5 +295,5 @@ si_clear_gfun_hash(cl_object what)
#endif
ecl_cache_remove_one(the_env->method_cache, what);
ecl_cache_remove_one(the_env->slot_cache, what);
return0();
ecl_return0(the_env);
}

View file

@ -414,9 +414,9 @@ si_read_object_or_ignore(cl_object in, cl_object eof)
x = ecl_read_object_with_delimiter(in, EOF, ECL_READ_RETURN_IGNORABLE,
cat_constituent);
if (x == OBJNULL) {
NVALUES = 1;
env->nvalues = 1;
x = eof;
} else if (env->nvalues != 0) {
} else if (env->nvalues) {
if (!Null(ECL_SYM_VAL(env, @'si::*sharp-eq-context*')))
x = patch_sharp(x);
}

View file

@ -137,3 +137,5 @@
#define cl_va_end ecl_va_end
#define CHAR_CODE_LIMIT ECL_CHAR_CODE_LIMIT
#define NVALUES cl_env.nvalues

View file

@ -284,7 +284,6 @@ extern ECL_API ecl_frame_ptr _ecl_frs_push(register cl_env_ptr, register cl_obje
* RETURN VALUES STACK
***********************/
#define NVALUES cl_env.nvalues
#define VALUES(n) cl_env.values[n]
#define return0() return ((NVALUES = 0),Cnil)
#define return1(x) return ((VALUES(0)=(x)),(NVALUES=1),VALUES(0))