adata             934 src/load.c         ScmAutoload *adata = SCM_NEW(ScmAutoload);
adata             935 src/load.c         SCM_SET_CLASS(adata, SCM_CLASS_AUTOLOAD);
adata             936 src/load.c         adata->name = name;
adata             937 src/load.c         adata->module = where;
adata             938 src/load.c         adata->path = path;
adata             939 src/load.c         adata->import_from = import_from;
adata             940 src/load.c         adata->loaded = FALSE;
adata             941 src/load.c         adata->value = SCM_UNBOUND;
adata             942 src/load.c         (void)SCM_INTERNAL_MUTEX_INIT(adata->mutex);
adata             943 src/load.c         (void)SCM_INTERNAL_COND_INIT(adata->cv);
adata             944 src/load.c         adata->locker = NULL;
adata             945 src/load.c         return SCM_OBJ(adata);
adata             986 src/load.c     ScmObj Scm_LoadAutoload(ScmAutoload *adata)
adata             993 src/load.c         if (adata->loaded) {
adata             994 src/load.c             return adata->value;
adata             998 src/load.c         (void)SCM_INTERNAL_MUTEX_LOCK(adata->mutex);
adata            1000 src/load.c             if (adata->loaded) break;
adata            1001 src/load.c             if (adata->locker == NULL) {
adata            1002 src/load.c                 adata->locker = vm;
adata            1003 src/load.c             } else if (adata->locker == vm) {
adata            1006 src/load.c             } else if (adata->locker->state == SCM_VM_TERMINATED) {
adata            1009 src/load.c                 adata->locker = vm;
adata            1011 src/load.c                 (void)SCM_INTERNAL_COND_WAIT(adata->cv, adata->mutex);
adata            1015 src/load.c         SCM_INTERNAL_MUTEX_UNLOCK(adata->mutex);
adata            1016 src/load.c         if (adata->loaded) {
adata            1018 src/load.c             return adata->value;
adata            1022 src/load.c             adata->locker = NULL;
adata            1023 src/load.c             SCM_INTERNAL_COND_SIGNAL(adata->cv);
adata            1025 src/load.c                       adata->module, adata->name);
adata            1030 src/load.c             vm->module = adata->module;
adata            1031 src/load.c             Scm_Require(SCM_OBJ(adata->path));
adata            1034 src/load.c             if (adata->import_from) {
adata            1037 src/load.c                 ScmModule *m = Scm_FindModule(adata->import_from,
adata            1042 src/load.c                               adata->import_from, adata->path);
adata            1044 src/load.c                 f = Scm_FindBinding(SCM_MODULE(m), adata->name, FALSE);
adata            1045 src/load.c                 g = Scm_FindBinding(adata->module, adata->name, FALSE);
adata            1048 src/load.c                 adata->value = SCM_GLOC_GET(f);
adata            1049 src/load.c                 if (SCM_UNBOUNDP(adata->value) || SCM_AUTOLOADP(adata->value)) {
adata            1051 src/load.c                               adata->name, adata->import_from);
adata            1053 src/load.c                 SCM_GLOC_SET(g, adata->value);
adata            1057 src/load.c                 ScmGloc *g = Scm_FindBinding(adata->module, adata->name, FALSE);
adata            1059 src/load.c                 adata->value = SCM_GLOC_GET(g);
adata            1060 src/load.c                 if (SCM_UNBOUNDP(adata->value) || SCM_AUTOLOADP(adata->value)) {
adata            1062 src/load.c                               adata->name, adata->path);
adata            1066 src/load.c             adata->locker = NULL;
adata            1068 src/load.c             SCM_INTERNAL_COND_SIGNAL(adata->cv);
adata            1072 src/load.c         adata->loaded = TRUE;
adata            1073 src/load.c         adata->locker = NULL;
adata            1074 src/load.c         SCM_INTERNAL_COND_SIGNAL(adata->cv);
adata            1075 src/load.c         return adata->value;
adata             220 src/macro.c    static ScmMacro *resolve_macro_autoload(ScmAutoload *adata)
adata             222 src/macro.c        ScmObj mac = Scm_LoadAutoload(adata);
adata             224 src/macro.c            Scm_Error("tried to autoload macro %S, but it yields non-macro object: %S", adata->name, mac);
adata             235 src/macro.c    ScmObj Scm_MakeMacroAutoload(ScmSymbol *name, ScmAutoload *adata)
adata             237 src/macro.c        return Scm_MakeMacro(name, macro_autoload, (void*)adata);