/* -*-C-*-
-$Id: dosenv.c,v 1.5 1993/07/07 05:46:49 gjr Exp $
+$Id: dosenv.c,v 1.6 1993/08/28 22:46:35 gjr Exp $
Copyright (c) 1992-1993 Massachusetts Institute of Technology
return;
}
+void
+DEFUN (OS_profile_timer_set, (first, interval),
+ clock_t first AND
+ clock_t interval)
+{
+ error_unimplemented_primitive ();
+}
+
+void
+DEFUN_VOID (OS_profile_timer_clear)
+{
+ return;
+}
+
void
DEFUN (OS_real_timer_set, (first, interval),
clock_t first AND
/* -*-C-*-
-$Id: fixobj.h,v 9.33 1993/08/23 22:25:54 cph Exp $
+$Id: fixobj.h,v 9.34 1993/08/28 22:46:36 gjr Exp $
-Copyright (c) 1987-93 Massachusetts Institute of Technology
+Copyright (c) 1987-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
primitives. */
/* Trampolines for various generic arithmetic operations.
- These facilitate upwards compatibility and simplify compilation. */
+ These facilitate upwards compatibility and simplify compilation.
+ */
+
#define GENERIC_TRAMPOLINE_ZERO_P 0x24
#define GENERIC_TRAMPOLINE_POSITIVE_P 0x25
#define GENERIC_TRAMPOLINE_NEGATIVE_P 0x26
#define GENERIC_TRAMPOLINE_QUOTIENT 0x30
#define GENERIC_TRAMPOLINE_REMAINDER 0x31
#define GENERIC_TRAMPOLINE_MODULO 0x32
-
+\f
#define ARITY_DISPATCHER_TAG 0x33
-#define NFixed_Objects 0x34
+/* Descartes profiling tables */
+
+#define PC_Sample_Builtin_Table 0x34 /* ``built in'' assembly code */
+#define PC_Sample_Utility_Table 0x35 /* Foreign func'n utilities */
+#define PC_Sample_Primitive_Table 0x36 /* Primitive proc samples */
+
+#define PC_Sample_Code_Block_Table 0x37 /* Compiled proc samples */
+
+#define PC_Sample_PCB_Block_Buffer 0x38 /* Double buffer pure compiled */
+#define PC_Sample_PCB_Offset_Buffer 0x39 /* Double buffer pure comp offs */
+#define PC_Sample_HCB_Block_Buffer 0x3A /* Double buffer heathen comps */
+#define PC_Sample_HCB_Offset_Buffer 0x3B /* Double buffer heathen comps */
+
+#define PC_Sample_Interp_Proc_Buffer 0x3C /* Double buffer interp procs */
+
+#define PC_Sample_Prob_Comp_Table 0x3D /* Sure looked compiled ?! */
+#define PC_Sample_UFO_Table 0x3E /* Invalid ENV at sample time */
+
+
+#define NFixed_Objects 0x3F
/* -*-C-*-
-$Id: intrpt.h,v 1.13 1993/08/21 02:28:59 gjr Exp $
+$Id: intrpt.h,v 1.14 1993/08/28 22:46:37 gjr Exp $
Copyright (c) 1987-1993 Massachusetts Institute of Technology
#define INT_Global_Mask \
(INT_Global_GC | INT_Global_1 | INT_Global_3)
+/* Descartes profiling interrupts */
+
+#define INT_IPPB_Flush 512 /* Local interrupt */
+#define INT_IPPB_Extend 1024 /* Local interrupt */
+#define INT_PCBPB_Flush 2048 /* Local interrupt */
+#define INT_PCBPB_Extend 4096 /* Local interrupt */
+#define INT_HCBPB_Flush 8192 /* Local interrupt */
+#define INT_HCBPB_Extend 16384 /* Local interrupt */
+
#define Global_GC_Level 1
#define Global_1_Level 3
#define Global_3_Level 7
-#define MAX_INTERRUPT_NUMBER 8
+#define MAX_INTERRUPT_NUMBER 14 /* 2^14 = 16384 = INT_HCBPB_Extend */
#define INT_Mask ((1 << (MAX_INTERRUPT_NUMBER + 1)) - 1)
\f
/* -*-C-*-
-$Id: ntenv.c,v 1.6 1993/08/21 03:21:19 gjr Exp $
+$Id: ntenv.c,v 1.7 1993/08/28 22:46:38 gjr Exp $
Copyright (c) 1992-1993 Massachusetts Institute of Technology
return;
}
+void
+DEFUN (OS_profile_timer_set, (first, interval),
+ clock_t first AND clock_t interval)
+{
+ return;
+}
+
+void
+DEFUN_VOID (OS_profile_timer_clear)
+{
+ return;
+}
+
void
DEFUN (OS_real_timer_set, (first, interval),
clock_t first AND clock_t interval)
/* -*-C-*-
-$Id: osenv.h,v 1.4 1993/07/01 22:29:57 cph Exp $
+$Id: osenv.h,v 1.5 1993/08/28 22:46:39 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
extern double EXFUN (OS_real_time_clock, (void));
extern void EXFUN (OS_process_timer_set, (clock_t first, clock_t interval));
extern void EXFUN (OS_process_timer_clear, (void));
+extern void EXFUN (OS_profile_timer_set, (clock_t first, clock_t interval));
+extern void EXFUN (OS_profile_timer_clear, (void));
extern void EXFUN (OS_real_timer_set, (clock_t first, clock_t interval));
extern void EXFUN (OS_real_timer_clear, (void));
extern CONST char * EXFUN (OS_working_dir_pathname, (void));
/* -*-C-*-
-$Id: prosenv.c,v 1.9 1993/07/01 22:29:58 cph Exp $
+$Id: prosenv.c,v 1.10 1993/08/28 22:46:39 gjr Exp $
Copyright (c) 1987-1993 Massachusetts Institute of Technology
(arg_nonnegative_integer (2)));
PRIMITIVE_RETURN (UNSPECIFIC);
}
+\f
+DEFINE_PRIMITIVE ("PROFILE-TIMER-CLEAR", Prim_profile_timer_clear, 0, 0,
+ "Turn off the PC sample timer.")
+{
+ PRIMITIVE_HEADER (0);
+ OS_profile_timer_clear ();
+ PRIMITIVE_RETURN (UNSPECIFIC);
+}
+
+DEFINE_PRIMITIVE ("PROFILE-TIMER-SET", Prim_profile_timer_set, 2, 2,
+ "Set the PC sample timer.\n\
+First arg FIRST says how long to wait until the first interrupt;\n\
+second arg INTERVAL says how long to wait between interrupts after that.\n\
+Both arguments are in units of milliseconds.")
+{
+ PRIMITIVE_HEADER (2);
+ OS_profile_timer_set ((arg_nonnegative_integer (1)),
+ (arg_nonnegative_integer (2)));
+ PRIMITIVE_RETURN (UNSPECIFIC);
+}
DEFINE_PRIMITIVE ("SETUP-TIMER-INTERRUPT", Prim_setup_timer_interrupt, 2, 2,
"This is an obsolete primitive; use `process-timer-set' instead.")
}
PRIMITIVE_RETURN (UNSPECIFIC);
}
-\f
+
DEFINE_PRIMITIVE ("WORKING-DIRECTORY-PATHNAME", Prim_working_dir_pathname, 0, 0,
"Return the current working directory as a string.")
{
/* -*-C-*-
-$Id: uxenv.c,v 1.11 1993/07/01 22:29:59 cph Exp $
+$Id: uxenv.c,v 1.12 1993/08/28 22:46:40 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
#include "ux.h"
#include "osenv.h"
+#include "config.h" /* For TRUE/FALSE & true/false */
\f
time_t
DEFUN_VOID (OS_encoded_time)
set_timer (ITIMER_VIRTUAL, 0, 0);
}
+void
+DEFUN (OS_profile_timer_set, (first, interval),
+ clock_t first AND
+ clock_t interval)
+{
+ set_timer (ITIMER_PROF, first, interval);
+}
+
+void
+DEFUN_VOID (OS_profile_timer_clear)
+{
+ set_timer (ITIMER_PROF, 0, 0);
+}
+
void
DEFUN (OS_real_timer_set, (first, interval),
clock_t first AND
void
DEFUN_VOID (OS_process_timer_clear)
{
+ return;
+}
+
+void
+DEFUN (OS_profile_timer_set, (first, interval),
+ clock_t first AND
+ clock_t interval)
+{
+ error_unimplemented_primitive ();
+}
+
+void
+DEFUN_VOID (OS_profile_timer_clear)
+{
+ return;
}
void
/* -*-C-*-
-$Id: uxsig.c,v 1.26 1993/06/24 06:35:59 gjr Exp $
+$Id: uxsig.c,v 1.27 1993/08/28 22:46:42 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
promotional, or sales literature without prior written consent from
MIT in each case. */
+#include "config.h"
#include "ux.h"
#include "ossig.h"
#include "osctty.h"
#include "ostty.h"
#include "uxtrap.h"
+#include "uxsig.h"
#include "uxutil.h"
#include "critsec.h"
\f
#define SA_SIGINFO 0
#endif
-static void
+void
DEFUN (INSTALL_HANDLER, (signo, handler),
int signo AND
Tsignal_handler handler)
return (result);
}
-#define INSTALL_HANDLER UX_sigset
-
-#define NEED_HANDLER_TRANSACTION
-#define ENTER_HANDLER(signo)
-#define ABORT_HANDLER(signo, handler) UX_sigrelse (signo)
-#define EXIT_HANDLER(signo, handler)
-
#else /* not HAVE_SYSV3_SIGNALS */
static Tsignal_handler
return (result);
}
-#define INSTALL_HANDLER UX_signal
-
-#define NEED_HANDLER_TRANSACTION
-#define ENTER_HANDLER(signo) UX_signal ((signo), SIG_IGN)
-#define ABORT_HANDLER UX_signal
-#define EXIT_HANDLER UX_signal
-
#endif /* HAVE_SYSV3_SIGNALS */
#endif /* HAVE_POSIX_SIGNALS */
+
+#ifdef NEED_HANDLER_TRANSACTION
+
+void
+DEFUN (ta_abort_handler, (ap), PTR ap)
+{
+ ABORT_HANDLER ((((struct handler_record *) ap) -> signo),
+ (((struct handler_record *) ap) -> handler));
+}
+
+#endif /* NEED_HANDLER_TRANSACTION */
\f
#ifdef HAVE_POSIX_SIGNALS
}
#endif /* not HAVE_POSIX_SIGNALS */
+
+void
+DEFUN (deactivate_handler, (signo), int signo)
+{
+ INSTALL_HANDLER (signo, SIG_IGN) ;
+}
+
+void
+DEFUN (activate_handler, (signo, handler),
+ int signo AND
+ Tsignal_handler handler)
+{
+ INSTALL_HANDLER (signo, handler) ;
+}
\f
/* Signal Descriptors */
#endif
}
\f
-/* Signal Handlers */
-
-#ifndef NEED_HANDLER_TRANSACTION
-
-#define DEFUN_STD_HANDLER(name, statement) \
-static Tsignal_handler_result \
-DEFUN (name, (signo, info, pscp), \
- int signo AND \
- SIGINFO_T info AND \
- struct SIGCONTEXT * pscp) \
-{ \
- int STD_HANDLER_abortp; \
- DECLARE_FULL_SIGCONTEXT (scp); \
- INITIALIZE_FULL_SIGCONTEXT (pscp, scp); \
- STD_HANDLER_abortp = (enter_interruption_extent ()); \
- statement; \
- if (STD_HANDLER_abortp) \
- exit_interruption_extent (); \
- SIGNAL_HANDLER_RETURN (); \
-}
-
-#else /* NEED_HANDLER_TRANSACTION */
-
-struct handler_record
-{
- int signo;
- Tsignal_handler handler;
-};
-
-#define DEFUN_STD_HANDLER(name, statement) \
-static Tsignal_handler_result \
-DEFUN (name, (signo, info, pscp), \
- int signo AND \
- SIGINFO_T info AND \
- struct SIGCONTEXT * pscp) \
-{ \
- int STD_HANDLER_abortp; \
- DECLARE_FULL_SIGCONTEXT (scp); \
- INITIALIZE_FULL_SIGCONTEXT (pscp, scp); \
- ENTER_HANDLER (signo); \
- STD_HANDLER_abortp = (enter_interruption_extent ()); \
- transaction_begin (); \
- { \
- struct handler_record * record = \
- (dstack_alloc (sizeof (struct handler_record))); \
- (record -> signo) = signo; \
- (record -> handler) = name; \
- transaction_record_action (tat_abort, ta_abort_handler, record); \
- } \
- statement; \
- if (STD_HANDLER_abortp) \
- { \
- transaction_abort (); \
- exit_interruption_extent (); \
- } \
- transaction_commit (); \
- EXIT_HANDLER (signo, name); \
- SIGNAL_HANDLER_RETURN (); \
-}
-
-static void
-DEFUN (ta_abort_handler, (ap), PTR ap)
-{
- ABORT_HANDLER ((((struct handler_record *) ap) -> signo),
- (((struct handler_record *) ap) -> handler));
-}
-
-#endif /* NEED_HANDLER_TRANSACTION */
-\f
#define CONTROL_B_INTERRUPT_CHAR 'B'
#define CONTROL_G_INTERRUPT_CHAR 'G'
#define CONTROL_U_INTERRUPT_CHAR 'U'
fflush (stdout);
}
-DEFUN_STD_HANDLER (sighnd_control_g,
+static DEFUN_STD_HANDLER (sighnd_control_g,
{
echo_keyboard_interrupt ((OS_ctty_int_char ()), ALERT_CHAR);
tty_set_next_interrupt_char (CONTROL_G_INTERRUPT_CHAR);
})
-DEFUN_STD_HANDLER (sighnd_control_u,
+static DEFUN_STD_HANDLER (sighnd_control_u,
{
tty_set_next_interrupt_char (CONTROL_U_INTERRUPT_CHAR);
})
-DEFUN_STD_HANDLER (sighnd_control_x,
+static DEFUN_STD_HANDLER (sighnd_control_x,
{
tty_set_next_interrupt_char (CONTROL_X_INTERRUPT_CHAR);
})
-DEFUN_STD_HANDLER (sighnd_control_b,
+static DEFUN_STD_HANDLER (sighnd_control_b,
{
tty_set_next_interrupt_char (CONTROL_B_INTERRUPT_CHAR);
})
static void EXFUN
(interactive_interrupt_handler, (struct FULL_SIGCONTEXT * scp));
-DEFUN_STD_HANDLER (sighnd_interactive,
+static DEFUN_STD_HANDLER (sighnd_interactive,
(interactive_interrupt_handler (scp)))
void
# define IF_POSIX_SIGNALS(code) do {} while (0)
#endif
-DEFUN_STD_HANDLER (sighnd_stop,
+static DEFUN_STD_HANDLER (sighnd_stop,
IF_POSIX_SIGNALS(
{
sigset_t old_mask;
#ifdef HAVE_ITIMER
-DEFUN_STD_HANDLER (sighnd_timer,
+static DEFUN_STD_HANDLER (sighnd_timer,
{
request_timer_interrupt ();
})
extern void EXFUN (reschedule_alarm, (void));
-DEFUN_STD_HANDLER (sighnd_timer,
+static DEFUN_STD_HANDLER (sighnd_timer,
{
reschedule_alarm ();
request_timer_interrupt ();
#endif /* HAVE_ITIMER */
-DEFUN_STD_HANDLER (sighnd_save_then_terminate,
+static DEFUN_STD_HANDLER (sighnd_save_then_terminate,
(request_suspend_interrupt ()))
-DEFUN_STD_HANDLER (sighnd_terminate,
+static DEFUN_STD_HANDLER (sighnd_terminate,
(termination_signal
((! (option_emacs_subprocess && (signo == SIGHUP)))
? (find_signal_name (signo))
: 0)))
\f
-DEFUN_STD_HANDLER (sighnd_fpe,
+static DEFUN_STD_HANDLER (sighnd_fpe,
{
if (executing_scheme_primitive_p ())
error_floating_point_exception ();
trap_handler ("floating-point exception", signo, info, scp);
})
-DEFUN_STD_HANDLER (sighnd_hardware_trap,
+static DEFUN_STD_HANDLER (sighnd_hardware_trap,
(trap_handler ("hardware fault", signo, info, scp)))
-DEFUN_STD_HANDLER (sighnd_software_trap,
+static DEFUN_STD_HANDLER (sighnd_software_trap,
(trap_handler ("system software fault", signo, info, scp)))
#ifdef HAVE_NICE
#define NICE_DELTA 5
#endif
-DEFUN_STD_HANDLER (sighnd_renice,
+static DEFUN_STD_HANDLER (sighnd_renice,
{
fprintf (stderr, "\n;;; Renicing! New nice value = %d\n",
((nice (NICE_DELTA)) + 20));
#define BREAK break
#endif
-DEFUN_STD_HANDLER (sighnd_dead_subprocess,
+static DEFUN_STD_HANDLER (sighnd_dead_subprocess,
{
while (1)
{
/* -*-C-*-
-$Id: uxtrap.c,v 1.22 1993/07/29 07:02:51 gjr Exp $
+$Id: uxtrap.c,v 1.23 1993/08/28 22:46:05 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
}
}
\f
-#define STATE_UNKNOWN (LONG_TO_UNSIGNED_FIXNUM (0))
-#define STATE_PRIMITIVE (LONG_TO_UNSIGNED_FIXNUM (1))
-#define STATE_COMPILED_CODE (LONG_TO_UNSIGNED_FIXNUM (2))
-#define STATE_PROBABLY_COMPILED (LONG_TO_UNSIGNED_FIXNUM (3))
-
-struct trap_recovery_info
-{
- SCHEME_OBJECT state;
- SCHEME_OBJECT pc_info_1;
- SCHEME_OBJECT pc_info_2;
- SCHEME_OBJECT extra_trap_info;
-};
-
static struct trap_recovery_info dummy_recovery_info =
{
STATE_UNKNOWN,
#define STACK_ALIGNMENT_MASK SCHEME_ALIGNMENT_MASK
#define FREE_PARANOIA_MARGIN 0x100
-/* PCs must be aligned according to this. */
-
-#define PC_ALIGNMENT_MASK ((1 << PC_ZERO_BITS) - 1)
-
-/* But they may have bits that can be masked by this. */
-
-#ifndef PC_VALUE_MASK
-#define PC_VALUE_MASK (~0)
-#endif
-
#define C_STACK_SIZE 0x01000000
-
-#ifdef HAS_COMPILER_SUPPORT
-#define ALLOW_ONLY_C 0
-#else
-#define ALLOW_ONLY_C 1
-#define PLAUSIBLE_CC_BLOCK_P(block) 0
-#endif
-
-static SCHEME_OBJECT * EXFUN
- (find_block_address, (char * pc_value, SCHEME_OBJECT * area_start));
-
-#if !(defined (_NEXTOS) && (_NEXTOS_VERSION >= 20))
-#if !(defined (_HPUX) && (_HPUX_VERSION >= 80) && defined (hp9000s300))
-extern long etext;
-#endif
-# define get_etext() (&etext)
-#endif
\f
static void
DEFUN (continue_from_trap, (signo, info, scp),
}
else if (pc_in_builtin)
{
- (trinfo . state) = STATE_PROBABLY_COMPILED;
+ (trinfo . state) = STATE_BUILTIN;
(trinfo . pc_info_1) = (LONG_TO_UNSIGNED_FIXNUM (builtin_index));
(trinfo . pc_info_2) = SHARP_T;
}
if (pc_in_utility)
{
- (trinfo . state) = STATE_PROBABLY_COMPILED;
+ (trinfo . state) = STATE_UTILITY;
(trinfo . pc_info_1) = (LONG_TO_UNSIGNED_FIXNUM (utility_index));
(trinfo . pc_info_2) = UNSPECIFIC;
}
#define MINIMUM_SCAN_RANGE 2048
-static SCHEME_OBJECT *
+SCHEME_OBJECT *
DEFUN (find_block_address, (pc_value, area_start),
char * pc_value AND
SCHEME_OBJECT * area_start)
/* -*-C-*-
-$Id: uxtrap.h,v 1.20 1993/07/29 07:02:52 gjr Exp $
+$Id: uxtrap.h,v 1.21 1993/08/28 22:46:43 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
#include "os.h"
\f
+/* Machine/OS-dependent section (long) */
+
#ifdef hp9000s300
#include <sys/sysmacros.h>
#ifndef INITIALIZE_UX_SIGNAL_CODES
#define INITIALIZE_UX_SIGNAL_CODES()
#endif
+
+/* PCs must be aligned according to this. */
+
+#define PC_ALIGNMENT_MASK ((1 << PC_ZERO_BITS) - 1)
+
+/* But they may have bits that can be masked by this. */
+
+#ifndef PC_VALUE_MASK
+#define PC_VALUE_MASK (~0)
+#endif
+
+#ifdef HAS_COMPILER_SUPPORT
+# define ALLOW_ONLY_C 0
+#else
+# define ALLOW_ONLY_C 1
+# define PLAUSIBLE_CC_BLOCK_P(block) 0
+#endif
+
+#if !(defined (_NEXTOS) && (_NEXTOS_VERSION >= 20))
+#if !(defined (_HPUX) && (_HPUX_VERSION >= 80) && defined (hp9000s300))
+extern long etext;
+#endif
+# define get_etext() (&etext)
+#endif
\f
+/* Machine/OS-independent section */
+
enum trap_state
{
trap_state_trapped,
extern void EXFUN (hard_reset, (struct FULL_SIGCONTEXT * scp));
extern void EXFUN (soft_reset, (void));
+#define STATE_UNKNOWN (LONG_TO_UNSIGNED_FIXNUM (0))
+#define STATE_PRIMITIVE (LONG_TO_UNSIGNED_FIXNUM (1))
+#define STATE_COMPILED_CODE (LONG_TO_UNSIGNED_FIXNUM (2))
+#define STATE_PROBABLY_COMPILED (LONG_TO_UNSIGNED_FIXNUM (3))
+#define STATE_BUILTIN (LONG_TO_UNSIGNED_FIXNUM (4))
+#define STATE_UTILITY (LONG_TO_UNSIGNED_FIXNUM (5)) /* CommGas? */
+
+struct trap_recovery_info
+{
+ SCHEME_OBJECT state;
+ SCHEME_OBJECT pc_info_1;
+ SCHEME_OBJECT pc_info_2;
+ SCHEME_OBJECT extra_trap_info;
+};
+
+extern SCHEME_OBJECT * EXFUN
+ (find_block_address, (char * pc_value, SCHEME_OBJECT * area_start));
+
#endif /* SCM_UXTRAP_H */
/* -*-C-*-
-$Id: version.h,v 11.139 1993/08/28 05:45:25 gjr Exp $
+$Id: version.h,v 11.140 1993/08/28 22:46:44 gjr Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 139
+#define SUBVERSION 140
#endif
/* -*-C-*-
-$Id: fixobj.h,v 9.33 1993/08/23 22:25:54 cph Exp $
+$Id: fixobj.h,v 9.34 1993/08/28 22:46:36 gjr Exp $
-Copyright (c) 1987-93 Massachusetts Institute of Technology
+Copyright (c) 1987-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
primitives. */
/* Trampolines for various generic arithmetic operations.
- These facilitate upwards compatibility and simplify compilation. */
+ These facilitate upwards compatibility and simplify compilation.
+ */
+
#define GENERIC_TRAMPOLINE_ZERO_P 0x24
#define GENERIC_TRAMPOLINE_POSITIVE_P 0x25
#define GENERIC_TRAMPOLINE_NEGATIVE_P 0x26
#define GENERIC_TRAMPOLINE_QUOTIENT 0x30
#define GENERIC_TRAMPOLINE_REMAINDER 0x31
#define GENERIC_TRAMPOLINE_MODULO 0x32
-
+\f
#define ARITY_DISPATCHER_TAG 0x33
-#define NFixed_Objects 0x34
+/* Descartes profiling tables */
+
+#define PC_Sample_Builtin_Table 0x34 /* ``built in'' assembly code */
+#define PC_Sample_Utility_Table 0x35 /* Foreign func'n utilities */
+#define PC_Sample_Primitive_Table 0x36 /* Primitive proc samples */
+
+#define PC_Sample_Code_Block_Table 0x37 /* Compiled proc samples */
+
+#define PC_Sample_PCB_Block_Buffer 0x38 /* Double buffer pure compiled */
+#define PC_Sample_PCB_Offset_Buffer 0x39 /* Double buffer pure comp offs */
+#define PC_Sample_HCB_Block_Buffer 0x3A /* Double buffer heathen comps */
+#define PC_Sample_HCB_Offset_Buffer 0x3B /* Double buffer heathen comps */
+
+#define PC_Sample_Interp_Proc_Buffer 0x3C /* Double buffer interp procs */
+
+#define PC_Sample_Prob_Comp_Table 0x3D /* Sure looked compiled ?! */
+#define PC_Sample_UFO_Table 0x3E /* Invalid ENV at sample time */
+
+
+#define NFixed_Objects 0x3F
/* -*-C-*-
-$Id: version.h,v 11.139 1993/08/28 05:45:25 gjr Exp $
+$Id: version.h,v 11.140 1993/08/28 22:46:44 gjr Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 139
+#define SUBVERSION 140
#endif