Lines Matching defs:lisp__data

149 LispMac lisp__data;
652 if (!lisp__data.destroyed) {
660 if (!lisp__data.ignore_errors) {
669 lisp__data.error_condition = STRING(string);
672 if (lisp__data.debugging) {
678 lisp__data.destroyed = 1;
680 if (lisp__data.errexit)
685 if (lisp__data.debugging) {
687 lisp__data.debug_level = -1;
688 lisp__data.debug = LispDebugUnspec;
692 while (lisp__data.mem.level) {
693 --lisp__data.mem.level;
694 if (lisp__data.mem.mem[lisp__data.mem.level])
695 free(lisp__data.mem.mem[lisp__data.mem.level]);
697 lisp__data.mem.index = 0;
700 if (lisp__data.savepackage != NULL)
701 PACKAGE = lisp__data.savepackage;
702 lisp__data.pack = lisp__data.savepack;
706 if (!lisp__data.running) {
714 siglongjmp(lisp__data.jmp, 1);
784 if (lisp__data.debugging) {
786 if (lisp__data.debug == LispDebugFinish)
787 lisp__data.debug = LispDebugUnspec;
788 lisp__data.debug_level = -1;
789 lisp__data.debug_step = 0;
793 lisp__data.block.block_level = 0;
794 if (lisp__data.block.block_size) {
795 while (lisp__data.block.block_size)
796 free(lisp__data.block.block[--lisp__data.block.block_size]);
797 free(lisp__data.block.block);
798 lisp__data.block.block = NULL;
801 lisp__data.destroyed = lisp__data.ignore_errors = 0;
803 if (CONSP(lisp__data.input_list)) {
804 LispUngetInfo **info, *unget = lisp__data.unget[0];
806 while (CONSP(lisp__data.input_list))
807 lisp__data.input_list = CDR(lisp__data.input_list);
808 SINPUT = lisp__data.input_list;
809 while (lisp__data.nunget > 1)
810 free(lisp__data.unget[--lisp__data.nunget]);
811 if ((info = realloc(lisp__data.unget, sizeof(LispUngetInfo*))) != NULL)
812 lisp__data.unget = info;
813 lisp__data.unget[0] = unget;
814 lisp__data.iunget = 0;
815 lisp__data.eof = 0;
818 for (count = 0; lisp__data.mem.level;) {
819 --lisp__data.mem.level;
820 if (lisp__data.mem.mem[lisp__data.mem.level]) {
823 printf("LEAK: %p\n", lisp__data.mem.mem[lisp__data.mem.level]);
827 lisp__data.mem.index = 0;
831 lisp__data.stack.base = lisp__data.stack.length =
832 lisp__data.env.lex = lisp__data.env.length = lisp__data.env.head = 0;
834 lisp__data.protect.length = 0;
836 lisp__data.savepackage = PACKAGE;
837 lisp__data.savepack = lisp__data.pack;
871 ++lisp__data.gc.count;
876 if (lisp__data.gc.timebits)
884 if (lisp__data.gc.immutablebits) {
915 * definitions if lisp__data.gc.immutablebits set */
922 if (lisp__data.gc.immutablebits) {
935 for (pentry = lisp__data.env.values,
936 eentry = pentry + lisp__data.env.length;
941 for (pentry = lisp__data.returns.values,
942 eentry = pentry + lisp__data.returns.count;
947 for (pentry = lisp__data.stack.values,
948 eentry = pentry + lisp__data.stack.length;
953 for (pentry = lisp__data.protect.objects,
954 eentry = pentry + lisp__data.protect.length;
967 LispMark(lisp__data.input_list);
968 LispMark(lisp__data.output_list);
1063 lisp__data.gc.immutablebits = 0;
1080 if (lisp__data.gc.timebits) {
1084 lisp__data.gc.gctime += msec;
1097 for (i = lisp__data.mem.index; i < lisp__data.mem.level; i++)
1098 if (lisp__data.mem.mem[i] == NULL) {
1099 lisp__data.mem.index = i;
1104 for (i = 0; i < lisp__data.mem.index; i++)
1105 if (lisp__data.mem.mem[i] == NULL) {
1106 lisp__data.mem.index = i;
1110 lisp__data.mem.index = lisp__data.mem.level;
1111 ++lisp__data.mem.level;
1112 if (lisp__data.mem.index < lisp__data.mem.space)
1116 void **ptr = (void**)realloc(lisp__data.mem.mem,
1117 (lisp__data.mem.space + 16) *
1122 lisp__data.mem.mem = ptr;
1123 lisp__data.mem.space += 16;
1133 for (i = lisp__data.mem.index; i >= 0; i--)
1134 if (lisp__data.mem.mem[i] == pointer) {
1135 lisp__data.mem.mem[i] = NULL;
1136 lisp__data.mem.index = i;
1140 for (i = lisp__data.mem.level - 1; i > lisp__data.mem.index; i--)
1141 if (lisp__data.mem.mem[i] == pointer) {
1142 lisp__data.mem.mem[i] = NULL;
1143 lisp__data.mem.index = i;
1162 lisp__data.mem.mem[lisp__data.mem.index] = pointer;
1179 lisp__data.mem.mem[lisp__data.mem.index] = pointer;
1193 for (i = lisp__data.mem.index; i >= 0; i--)
1194 if (lisp__data.mem.mem[i] == pointer)
1197 for (i = lisp__data.mem.index + 1; i < lisp__data.mem.level; i++)
1198 if (lisp__data.mem.mem[i] == pointer)
1203 i = lisp__data.mem.index;
1209 lisp__data.mem.mem[i] = ptr;
1231 for (i = lisp__data.mem.index; i >= 0; i--)
1232 if (lisp__data.mem.mem[i] == pointer) {
1233 lisp__data.mem.mem[i] = NULL;
1234 lisp__data.mem.index = i;
1238 for (i = lisp__data.mem.level - 1; i > lisp__data.mem.index; i--)
1239 if (lisp__data.mem.mem[i] == pointer) {
1240 lisp__data.mem.mem[i] = NULL;
1241 lisp__data.mem.index = i;
1268 opaque = (LispOpaque *)hash_check(lisp__data.opqs, desc, length);
1275 hash_put(lisp__data.opqs, (hash_entry *)opaque);
1279 opaque->type = ++lisp__data.opaque;
1291 for (opaque = (LispOpaque *)hash_iter_first(lisp__data.opqs);
1293 opaque = (LispOpaque *)hash_iter_next(lisp__data.opqs)) {
1310 entry = hash_check(lisp__data.strings, string, length);
1320 hash_put(lisp__data.strings, entry);
1337 atom = (LispAtom *)hash_check(lisp__data.pack->atoms, str, length);
1342 hash_put(lisp__data.pack->atoms, (hash_entry *)atom);
1361 property->package = lisp__data.pack;
1403 lisp__data.gc.immutablebits = 1;
1407 lisp__data.gc.immutablebits = 1;
1411 lisp__data.gc.immutablebits = 1;
1415 lisp__data.gc.immutablebits = 1;
1419 lisp__data.gc.immutablebits = 1;
1431 if (atom->object == lisp__data.package) {
1434 ATOMID(lisp__data.package)->value, STROBJ(object));
1435 lisp__data.pack = object->data.package.package;
1458 lisp__data.gc.immutablebits = 1;
1473 lisp__data.gc.immutablebits = 1;
1488 lisp__data.gc.immutablebits = 1;
1509 lisp__data.gc.immutablebits = 1;
1524 lisp__data.gc.immutablebits = 1;
1542 lisp__data.gc.immutablebits = 1;
1556 lisp__data.gc.immutablebits = 1;
1569 lisp__data.gc.immutablebits = 1;
1588 lisp__data.gc.immutablebits = 1;
1598 lisp__data.gc.immutablebits = 1;
2154 int length = lisp__data.protect.length;
2174 if (length + 1 >= lisp__data.protect.space)
2176 lisp__data.protect.objects[lisp__data.protect.length++] = list;
2193 lisp__data.protect.length = length;
2574 lisp__data.gc.average = (objseg.nfree + lisp__data.gc.average) >> 1;
2575 if (lisp__data.gc.average < minfree) {
2576 if (lisp__data.gc.expandbits < 6)
2577 ++lisp__data.gc.expandbits;
2579 else if (lisp__data.gc.expandbits)
2580 --lisp__data.gc.expandbits;
2585 cellcount = minfree << lisp__data.gc.expandbits;
2968 if (PACKAGE != lisp__data.keyword) {
2974 savepack = lisp__data.pack;
2977 PACKAGE = lisp__data.keyword;
2978 lisp__data.pack = lisp__data.key;
2985 lisp__data.pack = savepack;
3164 atom = (LispAtom *)hash_get(lisp__data.pack->atoms,
3183 for (pentry = lisp__data.pack->use.pairs,
3184 eentry = pentry + lisp__data.pack->use.length;
3190 if (lisp__data.pack->use.length + 1 >= lisp__data.pack->use.space) {
3191 LispObj **pairs = realloc(lisp__data.pack->use.pairs,
3192 (lisp__data.pack->use.space + 1) *
3198 lisp__data.pack->use.pairs = pairs;
3199 ++lisp__data.pack->use.space;
3201 lisp__data.pack->use.pairs[lisp__data.pack->use.length++] = package;
3229 if (lisp__data.pack->glb.length + 1 >= lisp__data.pack->glb.space)
3230 LispMoreGlobals(lisp__data.pack);
3231 lisp__data.pack->glb.pairs[lisp__data.pack->glb.length++] = symbol;
3327 if (name->constant && name->package == lisp__data.keyword)
3339 base = lisp__data.env.lex;
3340 i = lisp__data.env.head - 1;
3343 lisp__data.env.names[offset] == id)
3344 return (lisp__data.env.values[offset]);
3347 if (lisp__data.env.names[i] == id) {
3350 return (lisp__data.env.values[i]);
3356 if (lisp__data.env.names[i] == id) {
3359 return (lisp__data.env.values[i]);
3385 if (name->constant && name->package == lisp__data.keyword)
3390 i = lisp__data.env.head - 1;
3391 for (base = lisp__data.env.lex; i >= base; i--)
3392 if (lisp__data.env.names[i] == id)
3393 return (&(lisp__data.env.values[i]));
3397 if (lisp__data.env.names[i] == id)
3398 return (&(lisp__data.env.values[i]));
3444 if (lisp__data.env.length >= lisp__data.env.space)
3457 atom->offset = lisp__data.env.length;
3458 lisp__data.env.values[lisp__data.env.length] = value;
3459 lisp__data.env.names[lisp__data.env.length++] = atom->key;
3473 base = lisp__data.env.lex;
3474 i = lisp__data.env.head - 1;
3477 lisp__data.env.names[offset] == id)
3478 return (lisp__data.env.values[offset] = obj);
3481 if (lisp__data.env.names[i] == id) {
3484 return (lisp__data.env.values[i] = obj);
3489 if (lisp__data.env.names[i] == id)
3490 return (lisp__data.env.values[i] = obj);
3691 unsigned blevel = lisp__data.block.block_level + 1;
3693 if (blevel > lisp__data.block.block_size) {
3700 blk = realloc(lisp__data.block.block, sizeof(LispBlock*) * (blevel + 1));
3707 lisp__data.block.block = blk;
3708 lisp__data.block.block[lisp__data.block.block_size] = block;
3709 lisp__data.block.block_size = blevel;
3712 block = lisp__data.block.block[lisp__data.block.block_level];
3715 lisp__data.protect.objects[lisp__data.protect.length++] = tag;
3719 block->stack = lisp__data.stack.length;
3720 block->protect = lisp__data.protect.length;
3721 block->block_level = lisp__data.block.block_level;
3723 lisp__data.block.block_level = blevel;
3726 if (lisp__data.debugging) {
3727 block->debug_level = lisp__data.debug_level;
3728 block->debug_step = lisp__data.debug_step;
3738 lisp__data.protect.length = block->protect;
3739 lisp__data.block.block_level = block->block_level;
3742 if (lisp__data.debugging) {
3743 if (lisp__data.debug_level >= block->debug_level) {
3744 while (lisp__data.debug_level > block->debug_level) {
3746 --lisp__data.debug_level;
3749 lisp__data.debug_step = block->debug_step;
3758 int blevel = lisp__data.block.block_level;
3761 unwind = lisp__data.block.block[--blevel];
3840 protect = lisp__data.protect.length;
3847 if (protect + 1 >= lisp__data.protect.space)
3849 lisp__data.protect.objects[lisp__data.protect.length++] = NIL;
3880 lisp__data.protect.objects[protect] = result;
3886 lisp__data.protect.objects[protect] = result;
3891 lisp__data.protect.objects[protect] = result;
3949 lisp__data.protect.length = protect;
3961 names = realloc(lisp__data.env.names,
3962 (lisp__data.env.space + 256) * sizeof(Atom_id));
3964 values = realloc(lisp__data.env.values,
3965 (lisp__data.env.space + 256) * sizeof(LispObj*));
3967 lisp__data.env.names = names;
3968 lisp__data.env.values = values;
3969 lisp__data.env.space += 256;
3986 values = realloc(lisp__data.stack.values,
3987 (lisp__data.stack.space + 256) * sizeof(LispObj*));
3992 lisp__data.stack.values = values;
3993 lisp__data.stack.space += 256;
4020 objects = realloc(lisp__data.protect.objects,
4021 (lisp__data.protect.space + 256) * sizeof(LispObj*));
4026 lisp__data.protect.objects = objects;
4027 lisp__data.protect.space += 256;
4040 lisp__data.stack.values[lisp__data.stack.length++] = value
4047 lisp__data.stack.values[index] = value
4053 base = lisp__data.stack.length;
4054 if (base + alist->num_arguments > lisp__data.stack.space) {
4057 while (base + alist->num_arguments > lisp__data.stack.space);
4061 base = lisp__data.env.length;
4062 if (base + alist->num_arguments > lisp__data.env.space) {
4065 while (base + alist->num_arguments > lisp__data.env.space);
4105 * lisp__data.stack.length, as there is no risk of GC while
4107 lisp__data.stack.length += i;
4181 int head = lisp__data.env.head;
4182 int lex = lisp__data.env.lex;
4184 lisp__data.env.lex = base;
4185 lisp__data.env.head = lisp__data.env.length;
4187 lisp__data.env.head = head;
4188 lisp__data.env.lex = lex;
4303 int offset = lisp__data.env.length;
4319 lisp__data.env.names[atom->offset] ==
4344 lisp__data.env.names[atom->offset] ==
4378 if (lisp__data.env.names[j] == id)
4387 int head = lisp__data.env.head;
4388 int lex = lisp__data.env.lex;
4390 lisp__data.env.lex = base;
4391 lisp__data.env.head = lisp__data.env.length;
4393 lisp__data.env.head = head;
4394 lisp__data.env.lex = lex;
4460 int head = lisp__data.env.head;
4461 int lex = lisp__data.env.lex;
4463 lisp__data.env.lex = base;
4464 lisp__data.env.head = lisp__data.env.length;
4466 lisp__data.env.head = head;
4467 lisp__data.env.lex = lex;
4580 int lex = lisp__data.env.lex;
4582 lisp__data.env.lex = base;
4583 lisp__data.env.head = lisp__data.env.length;
4586 ++lisp__data.env.head;
4588 lisp__data.env.lex = lex;
4597 lisp__data.stack.base = base;
4599 lisp__data.env.head = lisp__data.env.length;
4618 if (lisp__data.debugging)
4642 lisp__data.stack.base = lisp__data.stack.length = base;
4645 int lex = lisp__data.env.lex;
4650 lisp__data.env.lex = base;
4652 lisp__data.env.lex = lex;
4653 lisp__data.env.head = lisp__data.env.length = base;
4696 lisp__data.stack.length = base;
4735 if (lisp__data.debugging)
4828 int lex = lisp__data.env.lex;
4833 lisp__data.env.lex = base;
4841 result = lisp__data.block.block_ret;
4842 lisp__data.env.lex = lex;
4843 lisp__data.env.head = lisp__data.env.length = base;
4855 lisp__data.env.head = lisp__data.env.length = base;
4878 ++lisp__data.env.head;
4887 lisp__data.env.head = lisp__data.env.length = base - 1;
4917 lisp__data.env.head = lisp__data.env.length = base;
5045 lisp__data.sigint = signal(SIGINT, LispSignalHandler);
5046 lisp__data.sigfpe = signal(SIGFPE, LispSignalHandler);
5050 if (sigsetjmp(lisp__data.jmp, 1) == 0) {
5051 lisp__data.running = 1;
5052 if (lisp__data.interactive && lisp__data.prompt) {
5053 LispFputs(Stdout, lisp__data.prompt);
5058 if (lisp__data.interactive) {
5074 if (lisp__data.eof)
5078 signal(SIGINT, lisp__data.sigint);
5079 signal(SIGFPE, lisp__data.sigfpe);
5081 lisp__data.running = 0;
5091 int running = lisp__data.running;
5115 lisp__data.running = 1;
5116 if (sigsetjmp(lisp__data.jmp, 1) != 0)
5127 if (lisp__data.eof)
5132 lisp__data.running = running;
5148 lisp__data.strings = hash_new(STRTBLSZ, NULL);
5149 lisp__data.opqs = hash_new(STRTBLSZ, NULL);
5152 lisp__data.mem.mem = (void**)calloc(lisp__data.mem.space = 16,
5154 lisp__data.mem.index = lisp__data.mem.level = 0;
5182 lisp__data.gc.average = segsize;
5189 lisp__data.lisp = LispNewPackage(STRING("LISP"),
5193 lisp__data.pack = lisp__data.savepack =
5194 lisp__data.lisp->data.package.package;
5197 LispMoreGlobals(lisp__data.pack);
5200 lisp__data.returns.values = malloc(MULTIPLE_VALUES_LIMIT *
5206 lisp__data.package = atomseg.freeobj;
5209 lisp__data.package->type = LispAtom_t;
5210 lisp__data.package->data.atom = atom;
5211 atom->object = lisp__data.package;
5212 atom->package = lisp__data.lisp;
5215 PACK = CONS(lisp__data.lisp, NIL);
5218 LispProclaimSpecial(lisp__data.package, lisp__data.lisp, NIL);
5223 lisp__data.package->data.atom->watch = 1;
5226 LispExportSymbol(lisp__data.package);
5241 lisp__data.keyword = object;
5242 lisp__data.key = object->data.package.package;
5298 lisp__data.unget = malloc(sizeof(LispUngetInfo*));
5299 lisp__data.unget[0] = calloc(1, sizeof(LispUngetInfo));
5300 lisp__data.nunget = 1;
5302 lisp__data.standard_input = ATOM2("*STANDARD-INPUT*");
5303 SINPUT = STANDARDSTREAM(Stdin, lisp__data.standard_input, STREAM_READ);
5304 lisp__data.interactive = 1;
5305 LispProclaimSpecial(lisp__data.standard_input,
5306 lisp__data.input_list = SINPUT, NIL);
5307 LispExportSymbol(lisp__data.standard_input);
5309 lisp__data.standard_output = ATOM2("*STANDARD-OUTPUT*");
5310 SOUTPUT = STANDARDSTREAM(Stdout, lisp__data.standard_output, STREAM_WRITE);
5311 LispProclaimSpecial(lisp__data.standard_output,
5312 lisp__data.output_list = SOUTPUT, NIL);
5313 LispExportSymbol(lisp__data.standard_output);
5316 lisp__data.error_stream = STANDARDSTREAM(Stderr, object, STREAM_WRITE);
5317 LispProclaimSpecial(object, lisp__data.error_stream, NIL);
5320 lisp__data.modules = ATOM2("*MODULES*");
5321 LispProclaimSpecial(lisp__data.modules, MOD, NIL);
5322 LispExportSymbol(lisp__data.modules);
5325 lisp__data.features = ATOM2("*FEATURES*");
5326 LispProclaimSpecial(lisp__data.features, object, NIL);
5327 LispExportSymbol(lisp__data.features);
5345 lisp__data.prompt = isatty(0) ? "> " : NULL;
5347 lisp__data.errexit = !lisp__data.interactive;
5349 if (lisp__data.interactive) {
5402 lisp__data.pack = lisp__data.savepack = PACKAGE->data.package.package;
5408 LispUsePackage(lisp__data.lisp);
5419 lisp__data.pack = lisp__data.savepack = PACKAGE->data.package.package;
5425 LispUsePackage(lisp__data.lisp);
5441 lisp__data.prompt = prompt;
5447 lisp__data.interactive = !!interactive;
5453 lisp__data.errexit = !!errexit;
5459 lisp__data.debugging = !!enable;
5464 lisp__data.debug_level = -1;
5465 lisp__data.debug_step = 0;