DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T r

⟦a91ca21d7⟧ TextFile

    Length: 5319 (0x14c7)
    Types: TextFile
    Names: »returns.h«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/scheme/microcode/returns.h« 

TextFile

/* Emacs, -*-C-*-an't you guess? */

/****************************************************************
*                                                               *
*                         Copyright (c) 1986                    *
*               Massachusetts Institute of Technology           *
*                                                               *
* This material was developed by the Scheme project at the      *
* Massachusetts Institute of Technology, Department of          *
* Electrical Engineering and Computer Science.  Permission to   *
* copy this software, to redistribute it, and to use it for any *
* purpose is granted, subject to the following restrictions and *
* understandings.                                               *
*                                                               *
* 1. Any copy made of this software must include this copyright *
* notice in full.                                               *
*                                                               *
* 2. Users of this software agree to make their best efforts (a)*
* to return to the MIT Scheme project any improvements or       *
* extensions that they make, so that these may be included in   *
* future releases; and (b) to inform MIT of noteworthy uses of  *
* this software.                                                *
*                                                               *
* 3.  All materials developed as a consequence of the use of    *
* this software shall duly acknowledge such use, in accordance  *
* with the usual standards of acknowledging credit in academic  *
* research.                                                     *
*                                                               *
* 4. MIT has made no warrantee or representation that the       *
* operation of this software will be error-free, and MIT is     *
* under no obligation to provide any services, by way of        *
* maintenance, update, or otherwise.                            *
*                                                               *
* 5.  In conjunction with products arising from the use of this *
* material, there shall be no use of the name of the            *
* Massachusetts Institute of Technology nor of any adaptation   *
* thereof in any advertising, promotional, or sales literature  *
* without prior written consent from MIT in each case.          *
*                                                               *
****************************************************************/

/* File: RETURNS.H
 *
 * Return codes.  These are placed in Return when an
 * interpreter operation needs to operate in several
 * phases.  This must correspond with UTABMD.SCM
 *
 */
\f


#define RC_END_OF_COMPUTATION		0x00
#define RC_RESTORE_CONTROL_POINT	0x01
#define RC_RESTORE_CONTINUATION		0x02 /* Used for 68000 */
#define RC_INTERNAL_APPLY		0x03
#define RC_BAD_INTERRUPT_CONTINUE 	0x04 /* Used for 68000 */
#define RC_RESTORE_HISTORY 		0x05
/* Generated by primitive WITH_HISTORY_DISABLED */
#define RC_INVOKE_STACK_THREAD 		0x06
/* Generated by primitive WITH_THREADED_CONTINUATION */
#define RC_RESTART_EXECUTION 		0x07 /* Used for 68000 */
#define RC_EXECUTE_ASSIGNMENT_FINISH	0x08
#define RC_EXECUTE_DEFINITION_FINISH	0x09
#define RC_EXECUTE_ACCESS_FINISH	0x0A
#define RC_EXECUTE_IN_PACKAGE_CONTINUE  0x0B
#define RC_SEQ_2_DO_2			0x0C
#define RC_SEQ_3_DO_2			0x0D
#define RC_SEQ_3_DO_3			0x0E
#define RC_CONDITIONAL_DECIDE		0x0F
#define RC_DISJUNCTION_DECIDE		0x10
#define RC_COMB_1_PROCEDURE		0x11
#define RC_COMB_APPLY_FUNCTION		0x12
#define RC_COMB_2_FIRST_OPERAND		0x13
#define RC_COMB_2_PROCEDURE		0x14
#define RC_COMB_SAVE_VALUE		0x15
#define RC_PCOMB1_APPLY			0x16
#define RC_PCOMB2_DO_1			0x17
#define RC_PCOMB2_APPLY			0x18
#define RC_PCOMB3_DO_2			0x19
#define RC_PCOMB3_DO_1			0x1A
#define RC_PCOMB3_APPLY			0x1B
\f


#define RC_SNAP_NEED_THUNK		0x1C
/* Generated by primitive FORCE */
#define RC_REENTER_COMPILED_CODE 	0x1D /* Used for 68000 */
/* Formerly RC_GET_CHAR_REPEAT on 68000 0x1E */
#define RC_REDO_CMPLR_REFERENCE 	0x1F /* Used for 68000 */
#define RC_NORMAL_GC_DONE	 	0x20
#define RC_COMPLETE_GC_DONE 		0x21 /* Used for 68000 */
#define RC_PURIFY_GC_1			0x22
/* Generated by primitive PURIFY */
#define RC_PURIFY_GC_2			0x23
/* Generated by primitive PURIFY */
#define RC_AFTER_MEMORY_UPDATE 		0x24 /* Used for 68000 */
#define RC_RESTARTABLE_EXIT	 	0x25 /* Used for 68000 */
/* formerly RC_GET_CHAR 		0x26 */
/* formerly RC_GET_CHAR_IMMEDIATE	0x27 */
#define RC_REDO_CMPLR_ASSIGNMENT 	0x28 /* Used for 68000 */
#define RC_POP_TO_COMPILED_CODE 	0x29 /* Used for 68000 */
#define RC_RETURN_TRAP_POINT		0x2A
#define RC_RESTORE_STEPPER		0x2B /* Used for 68000 */
#define RC_RESTORE_TO_STATE_POINT	0x2C
/* Generated by primitive EXECUTE_AT_NEW_POINT */
#define RC_MOVE_TO_ADJACENT_POINT	0x2D
#define RC_RESTORE_VALUE		0x2E
#define RC_RESTORE_DONT_COPY_HISTORY    0x2F

/* The following are not used in the 68000 implementation */

#define RC_POP_RETURN_ERROR		0x40
#define RC_EVAL_ERROR			0x41
#define RC_REPEAT_PRIMITIVE		0x42
#define RC_COMPILER_ENTRY_GC		0x43
#define RC_COMPILER_RECURSION_GC	0x44
#define RC_RESTORE_INT_MASK		0x45
#define RC_HALT				0x46
#define RC_FINISH_GLOBAL_INT		0x47	/* Multiprocessor */

#define MAX_RETURN_CODE			0x47