mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 06:42:18 -08:00
In eval_form(), avoid bytecompiling constant forms.
This commit is contained in:
parent
4c590fbb1b
commit
cd7e2af0fe
1 changed files with 11 additions and 1 deletions
|
|
@ -2235,7 +2235,7 @@ for special form ~S.", 1, function);
|
|||
}
|
||||
|
||||
static void
|
||||
eval_form(cl_env_ptr env, cl_object form) {
|
||||
eval_nontrivial_form(cl_env_ptr env, cl_object form) {
|
||||
const cl_compiler_ptr old_c_env = env->c_env;
|
||||
struct cl_compiler_env new_c_env = *old_c_env;
|
||||
cl_index handle;
|
||||
|
|
@ -2265,6 +2265,16 @@ eval_form(cl_env_ptr env, cl_object form) {
|
|||
env->c_env = old_c_env;
|
||||
}
|
||||
|
||||
static void
|
||||
eval_form(cl_env_ptr env, cl_object form) {
|
||||
if (ECL_LISTP(form) || ECL_SYMBOLP(form)) {
|
||||
eval_nontrivial_form(env, form);
|
||||
} else {
|
||||
env->values[0] = form;
|
||||
env->nvalues = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
compile_toplevel_body(cl_env_ptr env, cl_object body, int flags) {
|
||||
const cl_compiler_ptr c_env = env->c_env;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue