remove unintended copy of include files
This commit is contained in:
parent
2174a2d5c0
commit
274bce975a
|
@ -1,33 +0,0 @@
|
|||
/* This file should be included by Racket dynamically-loaded
|
||||
extenstion files */
|
||||
|
||||
#ifndef E_SCHEME_H
|
||||
#define E_SCHEME_H
|
||||
|
||||
#define SCHEME_DIRECT_EMBEDDED 0
|
||||
|
||||
#include "scheme.h"
|
||||
|
||||
#ifdef CODEFRAGMENT_DYNAMIC_LOAD
|
||||
#pragma export on
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
extern Scheme_Object *scheme_initialize(Scheme_Env *global_env);
|
||||
extern Scheme_Object *scheme_reload(Scheme_Env *global_env);
|
||||
extern Scheme_Object *scheme_module_name(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CODEFRAGMENT_DYNAMIC_LOAD
|
||||
#pragma export off
|
||||
#endif
|
||||
|
||||
#endif /* ! E_SCHEME_H */
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#! ..
|
||||
scheme_initialize_internal
|
||||
scheme_initialize
|
||||
scheme_reload
|
||||
scheme_module_name
|
|
@ -1,105 +0,0 @@
|
|||
/* mzconfig.h. Generated from mzconfig.h.in by configure. */
|
||||
|
||||
/* This file contains information that was gathered by the configure script. */
|
||||
|
||||
#ifndef __MZSCHEME_CONFIGURATION_INFO__
|
||||
#define __MZSCHEME_CONFIGURATION_INFO__
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
#define SIZEOF_INT 4
|
||||
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
#define SIZEOF_SHORT 2
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
#define SIZEOF_LONG 8
|
||||
|
||||
/* The size of a `long long', as computed by sizeof. */
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
/* The size of a `void *', as computed by sizeof. */
|
||||
#define SIZEOF_VOID_P 8
|
||||
|
||||
/* The size of a `bool' with <stdbool.h>, as computed by sizeof. */
|
||||
#define SIZEOF_BOOL 1
|
||||
|
||||
/* Whether `intptr_t' is available. */
|
||||
#define HAVE_INTPTR_T 1
|
||||
|
||||
/* Whether `uintptr_t' is available. */
|
||||
#define HAVE_UINTPTR_T 1
|
||||
|
||||
#ifdef HAVE_INTPTR_T
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
#ifndef HAVE_INTPTR_T
|
||||
typedef long intptr_t;
|
||||
#endif
|
||||
#ifndef HAVE_UINTPTR_T
|
||||
typedef unsigned long uintptr_t;
|
||||
#endif
|
||||
|
||||
/* Endianness. */
|
||||
/* #undef SCHEME_BIG_ENDIAN */
|
||||
|
||||
/* Direction of stack growth: 1 = up, -1 = down, 0 = unknown. */
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* Whether __attribute__ ((noinline)) works. */
|
||||
#define MZ_USE_NOINLINE 1
|
||||
|
||||
/* Whether pthread_rwlock is available. */
|
||||
#define HAVE_PTHREAD_RWLOCK 1
|
||||
|
||||
/* When mmap() and mprotect() are available: */
|
||||
#define HAVE_MMAP_MPROTECT 1
|
||||
|
||||
/* To enable 2^16 page size instead of 2^14: */
|
||||
/* #undef MZ_USE_LARGE_PAGE_SIZE */
|
||||
|
||||
/* When __builtin_popcount() is available: */
|
||||
#define MZ_HAS_BUILTIN_POPCOUNT 1
|
||||
|
||||
/* When __builtin_clz() is available: */
|
||||
#define MZ_HAS_BUILTIN_CLZ 1
|
||||
|
||||
/* Enable futures: */
|
||||
#define MZ_USE_FUTURES 1
|
||||
|
||||
/* Enable places --- 3m only: */
|
||||
#ifdef MZ_PRECISE_GC
|
||||
#define MZ_USE_PLACES 1
|
||||
#endif
|
||||
|
||||
/* Enable FFI polling: */
|
||||
/* #undef MZ_USE_FFIPOLL */
|
||||
|
||||
/* Whether __sync_bool_compare_and_swap() works: */
|
||||
#define MZ_CAS_AVAILABLE 1
|
||||
|
||||
/* Configure use of pthreads for the user-thread timer. */
|
||||
#define USE_PTHREAD_INSTEAD_OF_ITIMER 1
|
||||
|
||||
/* Enable single-precision floats [as default]: */
|
||||
#define USE_SINGLE_FLOATS 1
|
||||
/* #undef USE_SINGLE_FLOATS_AS_DEFAULT */
|
||||
|
||||
/* To disable extflonums when they would otherwise work: */
|
||||
/* #undef MZ_NO_EXTFLONUMS */
|
||||
|
||||
/* Extflonums are specifically requested (so complain if not supported): */
|
||||
/* #undef MZ_INSIST_EXTFLONUMS */
|
||||
|
||||
/* Library subpath */
|
||||
/* #undef SPLS_SUFFIX */
|
||||
|
||||
/* Use Generations with the GC */
|
||||
#define USE_GC_GENS 1
|
||||
|
||||
/* For platforms like Linux, where context info may not be available: */
|
||||
/* #undef MZ_NO_UNWIND_SUPPORT */
|
||||
|
||||
/* Initialize the compiled directory path "compiled/bc": */
|
||||
/* #undef COMPILED_PATH_AS_BC */
|
||||
|
||||
#endif
|
|
@ -1,592 +0,0 @@
|
|||
#!..
|
||||
scheme_init_jmpup_buf
|
||||
scheme_setjmpup_relative
|
||||
scheme_longjmpup
|
||||
scheme_reset_jmpup_buf
|
||||
scheme_clear_escape
|
||||
scheme_new_jmpupbuf_holder
|
||||
scheme_current_config
|
||||
scheme_extend_config
|
||||
scheme_install_config
|
||||
scheme_get_param
|
||||
scheme_set_param
|
||||
scheme_get_thread_param
|
||||
scheme_set_thread_param
|
||||
scheme_get_env
|
||||
scheme_inherit_cells
|
||||
scheme_current_break_cell
|
||||
scheme_current_thread
|
||||
scheme_fuel_counter
|
||||
scheme_current_thread_ptr
|
||||
scheme_fuel_counter_ptr
|
||||
scheme_get_current_thread
|
||||
scheme_start_atomic
|
||||
scheme_end_atomic
|
||||
scheme_end_atomic_no_swap
|
||||
scheme_start_in_scheduler
|
||||
scheme_end_in_scheduler
|
||||
scheme_out_of_fuel
|
||||
scheme_thread
|
||||
scheme_thread_w_details
|
||||
scheme_kill_thread
|
||||
scheme_break_thread
|
||||
scheme_break_main_thread
|
||||
scheme_set_break_main_target
|
||||
scheme_thread_block
|
||||
scheme_thread_block_enable_break
|
||||
scheme_swap_thread
|
||||
scheme_making_progress
|
||||
scheme_weak_suspend_thread
|
||||
scheme_weak_resume_thread
|
||||
scheme_block_until
|
||||
scheme_block_until_enable_break
|
||||
scheme_block_until_unless
|
||||
scheme_wait_input_allowed
|
||||
scheme_unless_ready
|
||||
scheme_in_main_thread
|
||||
scheme_cancel_sleep
|
||||
scheme_start_sleeper_thread
|
||||
scheme_end_sleeper_thread
|
||||
scheme_notify_sleep_progress
|
||||
scheme_make_thread_cell
|
||||
scheme_thread_cell_get
|
||||
scheme_thread_cell_set
|
||||
scheme_tls_allocate
|
||||
scheme_tls_set
|
||||
scheme_tls_get
|
||||
scheme_make_custodian
|
||||
scheme_add_managed
|
||||
scheme_custodian_check_available
|
||||
scheme_custodian_is_available
|
||||
scheme_remove_managed
|
||||
scheme_close_managed
|
||||
scheme_schedule_custodian_close
|
||||
scheme_add_custodian_extractor
|
||||
scheme_add_atexit_closer
|
||||
scheme_add_atexit
|
||||
scheme_add_evt
|
||||
scheme_add_evt_through_sema
|
||||
scheme_is_evt
|
||||
scheme_sync
|
||||
scheme_sync_enable_break
|
||||
scheme_sync_timeout
|
||||
scheme_make_evt_set
|
||||
scheme_add_swap_callback
|
||||
scheme_add_swap_out_callback
|
||||
scheme_call_enable_break
|
||||
scheme_close_should_force_port_closed
|
||||
scheme_push_kill_action
|
||||
scheme_pop_kill_action
|
||||
scheme_set_can_break
|
||||
scheme_push_break_enable
|
||||
scheme_pop_break_enable
|
||||
scheme_with_stack_freeze
|
||||
scheme_frozen_run_some
|
||||
scheme_is_in_frozen_stack
|
||||
scheme_signal_error
|
||||
scheme_raise_exn
|
||||
scheme_warning
|
||||
scheme_raise
|
||||
scheme_log_level_p
|
||||
scheme_log
|
||||
scheme_log_message
|
||||
scheme_log_abort
|
||||
scheme_out_of_memory_abort
|
||||
scheme_wrong_count
|
||||
scheme_wrong_count_m
|
||||
scheme_case_lambda_wrong_count
|
||||
scheme_wrong_type
|
||||
scheme_wrong_field_type
|
||||
scheme_arg_mismatch
|
||||
scheme_wrong_return_arity
|
||||
scheme_unbound_global
|
||||
scheme_dynamic_wind
|
||||
scheme_make_type
|
||||
scheme_get_type_name
|
||||
scheme_eof
|
||||
scheme_make_eof
|
||||
scheme_null
|
||||
scheme_make_null
|
||||
scheme_true
|
||||
scheme_make_true
|
||||
scheme_false
|
||||
scheme_make_false
|
||||
scheme_void
|
||||
scheme_make_void
|
||||
scheme_undefined
|
||||
scheme_tail_call_waiting
|
||||
scheme_multiple_values
|
||||
scheme_uchar_table
|
||||
scheme_uchar_cases_table
|
||||
scheme_uchar_cats_table
|
||||
scheme_uchar_ups
|
||||
scheme_uchar_downs
|
||||
scheme_uchar_titles
|
||||
scheme_uchar_folds
|
||||
scheme_uchar_combining_classes
|
||||
scheme_eval
|
||||
scheme_eval_multi
|
||||
scheme_eval_with_prompt
|
||||
scheme_eval_multi_with_prompt
|
||||
scheme_eval_compiled
|
||||
scheme_eval_compiled_multi
|
||||
_scheme_eval_compiled
|
||||
_scheme_eval_compiled_multi
|
||||
scheme_apply
|
||||
scheme_apply_multi
|
||||
scheme_apply_no_eb
|
||||
scheme_apply_multi_no_eb
|
||||
scheme_apply_to_list
|
||||
scheme_apply_with_prompt
|
||||
scheme_apply_multi_with_prompt
|
||||
_scheme_apply_with_prompt
|
||||
_scheme_apply_multi_with_prompt
|
||||
scheme_eval_string
|
||||
scheme_eval_string_multi
|
||||
scheme_eval_string_all
|
||||
scheme_eval_string_with_prompt
|
||||
scheme_eval_string_multi_with_prompt
|
||||
scheme_eval_string_all_with_prompt
|
||||
scheme_eval_module_string
|
||||
_scheme_apply_known_prim_closure
|
||||
_scheme_apply_known_prim_closure_multi
|
||||
_scheme_apply_prim_closure
|
||||
_scheme_apply_prim_closure_multi
|
||||
scheme_current_argument_stack
|
||||
scheme_call_with_prompt
|
||||
scheme_call_with_prompt_multi
|
||||
_scheme_call_with_prompt
|
||||
_scheme_call_with_prompt_multi
|
||||
scheme_values
|
||||
scheme_check_one_value
|
||||
scheme_tail_apply
|
||||
scheme_tail_apply_no_copy
|
||||
scheme_tail_apply_to_list
|
||||
scheme_tail_eval_expr
|
||||
scheme_set_tail_buffer_size
|
||||
scheme_force_value
|
||||
scheme_force_one_value
|
||||
scheme_set_cont_mark
|
||||
scheme_push_continuation_frame
|
||||
scheme_pop_continuation_frame
|
||||
scheme_temp_dec_mark_depth
|
||||
scheme_temp_inc_mark_depth
|
||||
scheme_current_continuation_marks
|
||||
scheme_extract_one_cc_mark
|
||||
scheme_extract_one_cc_mark_to_tag
|
||||
scheme_do_eval
|
||||
scheme_eval_compiled_stx_string
|
||||
scheme_load_compiled_stx_string
|
||||
scheme_compiled_stx_symbol
|
||||
scheme_eval_compiled_sized_string
|
||||
scheme_eval_compiled_sized_string_with_magic
|
||||
scheme_detach_multple_array
|
||||
GC_malloc
|
||||
GC_malloc_atomic
|
||||
GC_malloc_stubborn
|
||||
GC_malloc_uncollectable
|
||||
scheme_malloc_code
|
||||
scheme_free_code
|
||||
scheme_malloc_gcable_code
|
||||
scheme_malloc_eternal
|
||||
scheme_end_stubborn_change
|
||||
scheme_calloc
|
||||
scheme_strdup
|
||||
scheme_strdup_eternal
|
||||
scheme_malloc_fail_ok
|
||||
scheme_weak_reference
|
||||
scheme_weak_reference_indirect
|
||||
scheme_unweak_reference
|
||||
scheme_add_finalizer
|
||||
scheme_add_finalizer_once
|
||||
scheme_subtract_finalizer
|
||||
scheme_add_scheme_finalizer
|
||||
scheme_add_scheme_finalizer_once
|
||||
scheme_register_finalizer
|
||||
scheme_remove_all_finalization
|
||||
scheme_dont_gc_ptr
|
||||
scheme_gc_ptr_ok
|
||||
scheme_collect_garbage
|
||||
GC_register_traversers
|
||||
GC_resolve
|
||||
GC_mark
|
||||
GC_fixup
|
||||
GC_fixup_self
|
||||
scheme_malloc_immobile_box
|
||||
scheme_free_immobile_box
|
||||
scheme_make_bucket_table
|
||||
scheme_add_to_table
|
||||
scheme_change_in_table
|
||||
scheme_lookup_in_table
|
||||
scheme_bucket_from_table
|
||||
scheme_bucket_table_equal
|
||||
scheme_clone_bucket_table
|
||||
scheme_make_hash_table
|
||||
scheme_make_hash_table_equal
|
||||
scheme_make_hash_table_eqv
|
||||
scheme_hash_set
|
||||
scheme_hash_get
|
||||
scheme_eq_hash_get
|
||||
scheme_hash_set_atomic
|
||||
scheme_hash_get_atomic
|
||||
scheme_hash_table_equal
|
||||
scheme_is_hash_table_equal
|
||||
scheme_is_hash_table_eqv
|
||||
scheme_clone_hash_table
|
||||
scheme_make_hash_tree
|
||||
scheme_hash_tree_set
|
||||
scheme_hash_tree_get
|
||||
scheme_hash_tree_next
|
||||
scheme_hash_tree_index
|
||||
scheme_hash_tree_equal
|
||||
scheme_is_hash_tree_equal
|
||||
scheme_is_hash_tree_eqv
|
||||
scheme_make_prim
|
||||
scheme_make_noneternal_prim
|
||||
scheme_make_prim_w_arity
|
||||
scheme_make_folding_prim
|
||||
scheme_make_immed_prim
|
||||
scheme_make_noncm_prim
|
||||
scheme_make_noneternal_prim_w_arity
|
||||
scheme_make_prim_w_everything
|
||||
scheme_make_prim_closure_w_arity
|
||||
scheme_make_folding_prim_closure
|
||||
scheme_make_closed_prim
|
||||
scheme_make_closed_prim_w_arity
|
||||
scheme_make_folding_closed_prim
|
||||
scheme_make_closed_prim_w_everything
|
||||
scheme_prim_is_method
|
||||
scheme_make_pair
|
||||
scheme_make_mutable_pair
|
||||
scheme_make_raw_pair
|
||||
scheme_make_byte_string
|
||||
scheme_make_sized_byte_string
|
||||
scheme_make_sized_offset_byte_string
|
||||
scheme_make_immutable_sized_byte_string
|
||||
scheme_make_byte_string_without_copying
|
||||
scheme_alloc_byte_string
|
||||
scheme_append_byte_string
|
||||
scheme_make_utf8_string
|
||||
scheme_make_sized_utf8_string
|
||||
scheme_make_sized_offset_utf8_string
|
||||
scheme_make_immutable_sized_utf8_string
|
||||
scheme_make_locale_string
|
||||
scheme_char_string_to_byte_string
|
||||
scheme_byte_string_to_char_string
|
||||
scheme_char_string_to_byte_string_locale
|
||||
scheme_byte_string_to_char_string_locale
|
||||
scheme_char_string_to_path
|
||||
scheme_path_to_char_string
|
||||
scheme_make_char_string
|
||||
scheme_make_sized_char_string
|
||||
scheme_make_sized_offset_char_string
|
||||
scheme_make_immutable_sized_char_string
|
||||
scheme_make_char_string_without_copying
|
||||
scheme_alloc_char_string
|
||||
scheme_append_char_string
|
||||
scheme_string_recase
|
||||
scheme_make_vector
|
||||
scheme_make_integer_value
|
||||
scheme_make_integer_value_from_unsigned
|
||||
scheme_make_integer_value_from_long_long
|
||||
scheme_make_integer_value_from_unsigned_long_long
|
||||
scheme_make_integer_value_from_long_halves
|
||||
scheme_make_integer_value_from_unsigned_long_halves
|
||||
scheme_make_double
|
||||
scheme_make_char
|
||||
scheme_make_char_or_nul
|
||||
scheme_make_sema
|
||||
scheme_post_sema
|
||||
scheme_post_sema_all
|
||||
scheme_wait_sema
|
||||
scheme_try_plain_sema
|
||||
scheme_char_constants
|
||||
scheme_make_channel
|
||||
scheme_make_channel_put_evt
|
||||
scheme_get_int_val
|
||||
scheme_get_unsigned_int_val
|
||||
scheme_get_long_long_val
|
||||
scheme_get_unsigned_long_long_val
|
||||
scheme_real_to_double
|
||||
scheme_make_cptr
|
||||
scheme_make_offset_cptr
|
||||
scheme_make_external_cptr
|
||||
scheme_make_offset_external_cptr
|
||||
scheme_get_proc_name
|
||||
scheme_utf8_decode
|
||||
scheme_utf8_decode_as_prefix
|
||||
scheme_utf8_decode_all
|
||||
scheme_utf8_decode_prefix
|
||||
scheme_utf8_decode_to_buffer
|
||||
scheme_utf8_decode_to_buffer_len
|
||||
scheme_utf8_decode_count
|
||||
scheme_utf8_encode
|
||||
scheme_utf8_encode_all
|
||||
scheme_utf8_encode_to_buffer
|
||||
scheme_utf8_encode_to_buffer_len
|
||||
scheme_ucs4_to_utf16
|
||||
scheme_utf16_to_ucs4
|
||||
scheme_open_converter
|
||||
scheme_close_converter
|
||||
scheme_make_bignum
|
||||
scheme_make_bignum_from_unsigned
|
||||
scheme_make_bignum_from_long_long
|
||||
scheme_make_bignum_from_unsigned_long_long
|
||||
scheme_bignum_to_double
|
||||
scheme_bignum_from_double
|
||||
scheme_bignum_to_string
|
||||
scheme_bignum_to_allocated_string
|
||||
scheme_read_bignum
|
||||
scheme_read_bignum_bytes
|
||||
scheme_bignum_normalize
|
||||
scheme_make_rational
|
||||
scheme_rational_to_double
|
||||
scheme_rational_from_double
|
||||
scheme_rational_normalize
|
||||
scheme_rational_numerator
|
||||
scheme_rational_denominator
|
||||
scheme_make_complex
|
||||
scheme_complex_normalize
|
||||
scheme_complex_real_part
|
||||
scheme_complex_imaginary_part
|
||||
scheme_is_exact
|
||||
scheme_is_inexact
|
||||
scheme_expand
|
||||
scheme_compile
|
||||
scheme_read
|
||||
scheme_read_syntax
|
||||
scheme_write
|
||||
scheme_print
|
||||
scheme_display
|
||||
scheme_write_w_max
|
||||
scheme_display_w_max
|
||||
scheme_print_w_max
|
||||
scheme_write_byte_string
|
||||
scheme_write_char_string
|
||||
scheme_put_byte_string
|
||||
scheme_put_char_string
|
||||
scheme_write_to_string
|
||||
scheme_display_to_string
|
||||
scheme_print_to_string
|
||||
scheme_write_to_string_w_max
|
||||
scheme_display_to_string_w_max
|
||||
scheme_print_to_string_w_max
|
||||
scheme_debug_print
|
||||
scheme_flush_output
|
||||
scheme_format
|
||||
scheme_printf
|
||||
scheme_format_utf8
|
||||
scheme_printf_utf8
|
||||
scheme_getc
|
||||
scheme_get_byte
|
||||
scheme_peekc
|
||||
scheme_peek_byte
|
||||
scheme_peekc_skip
|
||||
scheme_peek_byte_skip
|
||||
scheme_getc_special_ok
|
||||
scheme_get_byte_special_ok
|
||||
scheme_peekc_special_ok
|
||||
scheme_peek_byte_special_ok_skip
|
||||
scheme_peekc_special_ok_skip
|
||||
scheme_ungetc
|
||||
scheme_byte_ready
|
||||
scheme_char_ready
|
||||
scheme_peekc_is_ungetc
|
||||
scheme_need_wakeup
|
||||
scheme_get_byte_string
|
||||
scheme_get_byte_string_unless
|
||||
scheme_get_byte_string_special_ok_unless
|
||||
scheme_progress_evt
|
||||
scheme_peeked_read
|
||||
scheme_get_char_string
|
||||
scheme_get_bytes
|
||||
scheme_get_ready_special
|
||||
scheme_tell
|
||||
scheme_output_tell
|
||||
scheme_tell_line
|
||||
scheme_tell_column
|
||||
scheme_tell_all
|
||||
scheme_count_lines
|
||||
scheme_close_input_port
|
||||
scheme_close_output_port
|
||||
scheme_write_special
|
||||
scheme_write_special_nonblock
|
||||
scheme_make_write_evt
|
||||
scheme_port_record
|
||||
scheme_input_port_record
|
||||
scheme_output_port_record
|
||||
scheme_is_input_port
|
||||
scheme_is_output_port
|
||||
scheme_make_port_type
|
||||
scheme_make_input_port
|
||||
scheme_make_output_port
|
||||
scheme_set_next_port_custodian
|
||||
scheme_set_port_location_fun
|
||||
scheme_set_port_count_lines_fun
|
||||
scheme_progress_evt_via_get
|
||||
scheme_peeked_read_via_get
|
||||
scheme_write_evt_via_write
|
||||
scheme_write_special_evt_via_write_special
|
||||
scheme_open_input_file
|
||||
scheme_open_output_file
|
||||
scheme_open_input_output_file
|
||||
scheme_open_output_file_with_mode
|
||||
scheme_make_file_input_port
|
||||
scheme_make_named_file_input_port
|
||||
scheme_make_file_output_port
|
||||
scheme_make_fd_input_port
|
||||
scheme_make_fd_output_port
|
||||
scheme_make_byte_string_input_port
|
||||
scheme_make_sized_byte_string_input_port
|
||||
scheme_make_byte_string_output_port
|
||||
scheme_get_sized_byte_string_output
|
||||
scheme_get_reset_sized_byte_string_output
|
||||
scheme_pipe
|
||||
scheme_pipe_with_limit
|
||||
scheme_make_null_output_port
|
||||
scheme_make_redirect_output_port
|
||||
scheme_set_file_position
|
||||
scheme_file_exists
|
||||
scheme_directory_exists
|
||||
scheme_expand_filename
|
||||
scheme_expand_user_filename
|
||||
scheme_expand_string_filename
|
||||
scheme_os_getcwd
|
||||
scheme_os_setcwd
|
||||
scheme_getdrive
|
||||
scheme_split_path
|
||||
scheme_build_path
|
||||
scheme_path_to_directory_path
|
||||
scheme_path_to_complete_path
|
||||
scheme_make_path
|
||||
scheme_make_sized_path
|
||||
scheme_make_sized_offset_path
|
||||
scheme_make_sized_offset_kind_path
|
||||
scheme_make_path_without_copying
|
||||
scheme_alloc_fdset_array
|
||||
scheme_init_fdset_array
|
||||
scheme_get_fdset
|
||||
scheme_fdzero
|
||||
scheme_fdset
|
||||
scheme_fdclr
|
||||
scheme_fdisset
|
||||
scheme_add_fd_handle
|
||||
scheme_add_fd_eventmask
|
||||
scheme_collapse_win_fd
|
||||
scheme_security_check_file
|
||||
scheme_security_check_file_link
|
||||
scheme_security_check_network
|
||||
scheme_get_host_address
|
||||
scheme_free_host_address
|
||||
scheme_host_address_strerror
|
||||
scheme_getnameinfo
|
||||
scheme_get_port_file_descriptor
|
||||
scheme_get_port_fd
|
||||
scheme_get_port_socket
|
||||
scheme_socket_to_ports
|
||||
scheme_set_type_printer
|
||||
scheme_print_bytes
|
||||
scheme_print_utf8
|
||||
scheme_print_string
|
||||
scheme_read_byte_string
|
||||
scheme_make_namespace
|
||||
scheme_add_global
|
||||
scheme_add_global_symbol
|
||||
scheme_make_envunbox
|
||||
scheme_lookup_global
|
||||
scheme_global_bucket
|
||||
scheme_global_keyword_bucket
|
||||
scheme_module_bucket
|
||||
scheme_builtin_value
|
||||
scheme_set_global_bucket
|
||||
scheme_install_macro
|
||||
scheme_save_initial_module_set
|
||||
scheme_primitive_module
|
||||
scheme_finish_primitive_module
|
||||
scheme_protect_primitive_provide
|
||||
scheme_make_modidx
|
||||
scheme_apply_for_syntax_in_env
|
||||
scheme_dynamic_require
|
||||
scheme_namespace_require
|
||||
scheme_is_module_path
|
||||
scheme_datum_to_kernel_stx
|
||||
scheme_intern_symbol
|
||||
scheme_intern_exact_symbol
|
||||
scheme_intern_exact_char_symbol
|
||||
scheme_make_symbol
|
||||
scheme_make_exact_symbol
|
||||
scheme_make_exact_char_symbol
|
||||
scheme_symbol_name
|
||||
scheme_symbol_name_and_size
|
||||
scheme_symbol_val
|
||||
scheme_intern_exact_keyword
|
||||
scheme_intern_exact_char_keyword
|
||||
scheme_make_struct_values
|
||||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_type2
|
||||
scheme_make_struct_instance
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
scheme_make_struct_type_property
|
||||
scheme_make_struct_type_property_w_guard
|
||||
scheme_struct_type_property_ref
|
||||
scheme_chaperone_struct_type_property_ref
|
||||
scheme_make_location
|
||||
scheme_is_location
|
||||
scheme_make_inspector
|
||||
scheme_is_subinspector
|
||||
scheme_eq
|
||||
scheme_eqv
|
||||
scheme_equal
|
||||
scheme_chaperone_of
|
||||
scheme_equal_hash_key
|
||||
scheme_equal_hash_key2
|
||||
scheme_recur_equal_hash_key
|
||||
scheme_recur_equal_hash_key2
|
||||
scheme_eqv_hash_key
|
||||
scheme_eqv_hash_key2
|
||||
scheme_set_type_equality
|
||||
scheme_recur_equal
|
||||
scheme_build_list
|
||||
scheme_build_list_offset
|
||||
scheme_is_list
|
||||
scheme_list_length
|
||||
scheme_proper_list_length
|
||||
scheme_alloc_list
|
||||
scheme_map_1
|
||||
scheme_car
|
||||
scheme_cdr
|
||||
scheme_cadr
|
||||
scheme_caddr
|
||||
scheme_vector_to_list
|
||||
scheme_list_to_vector
|
||||
scheme_append
|
||||
scheme_reverse
|
||||
scheme_box
|
||||
scheme_unbox
|
||||
scheme_set_box
|
||||
scheme_make_weak_box
|
||||
scheme_make_ephemeron
|
||||
scheme_ephemeron_value
|
||||
scheme_ephemeron_key
|
||||
scheme_load
|
||||
scheme_load_extension
|
||||
scheme_register_extension_global
|
||||
scheme_get_seconds
|
||||
scheme_get_milliseconds
|
||||
scheme_get_inexact_milliseconds
|
||||
scheme_get_process_milliseconds
|
||||
scheme_get_thread_milliseconds
|
||||
scheme_banner
|
||||
scheme_version
|
||||
scheme_check_proc_arity
|
||||
scheme_check_proc_arity2
|
||||
scheme_make_provided_string
|
||||
scheme_make_args_string
|
||||
scheme_system_library_subpath
|
||||
scheme_signal_received
|
||||
scheme_signal_received_at
|
||||
scheme_get_signal_handle
|
||||
scheme_char_strlen
|
|
@ -1,599 +0,0 @@
|
|||
#!..
|
||||
scheme_init_jmpup_buf
|
||||
scheme_setjmpup_relative
|
||||
scheme_longjmpup
|
||||
scheme_reset_jmpup_buf
|
||||
scheme_clear_escape
|
||||
scheme_new_jmpupbuf_holder
|
||||
scheme_current_config
|
||||
scheme_extend_config
|
||||
scheme_install_config
|
||||
scheme_get_param
|
||||
scheme_set_param
|
||||
scheme_get_thread_param
|
||||
scheme_set_thread_param
|
||||
scheme_get_env
|
||||
scheme_inherit_cells
|
||||
scheme_current_break_cell
|
||||
scheme_current_thread
|
||||
scheme_fuel_counter
|
||||
scheme_current_thread_ptr
|
||||
scheme_fuel_counter_ptr
|
||||
scheme_get_current_thread
|
||||
scheme_start_atomic
|
||||
scheme_end_atomic
|
||||
scheme_end_atomic_no_swap
|
||||
scheme_start_in_scheduler
|
||||
scheme_end_in_scheduler
|
||||
scheme_out_of_fuel
|
||||
scheme_thread
|
||||
scheme_thread_w_details
|
||||
scheme_kill_thread
|
||||
scheme_break_thread
|
||||
scheme_break_main_thread
|
||||
scheme_set_break_main_target
|
||||
scheme_thread_block
|
||||
scheme_thread_block_enable_break
|
||||
scheme_swap_thread
|
||||
scheme_making_progress
|
||||
scheme_weak_suspend_thread
|
||||
scheme_weak_resume_thread
|
||||
scheme_block_until
|
||||
scheme_block_until_enable_break
|
||||
scheme_block_until_unless
|
||||
scheme_wait_input_allowed
|
||||
scheme_unless_ready
|
||||
scheme_in_main_thread
|
||||
scheme_cancel_sleep
|
||||
scheme_start_sleeper_thread
|
||||
scheme_end_sleeper_thread
|
||||
scheme_notify_sleep_progress
|
||||
scheme_make_thread_cell
|
||||
scheme_thread_cell_get
|
||||
scheme_thread_cell_set
|
||||
scheme_tls_allocate
|
||||
scheme_tls_set
|
||||
scheme_tls_get
|
||||
scheme_make_custodian
|
||||
scheme_add_managed
|
||||
scheme_custodian_check_available
|
||||
scheme_custodian_is_available
|
||||
scheme_remove_managed
|
||||
scheme_close_managed
|
||||
scheme_schedule_custodian_close
|
||||
scheme_add_custodian_extractor
|
||||
scheme_add_atexit_closer
|
||||
scheme_atexit
|
||||
scheme_add_evt
|
||||
scheme_add_evt_through_sema
|
||||
scheme_is_evt
|
||||
scheme_sync
|
||||
scheme_sync_enable_break
|
||||
scheme_sync_timeout
|
||||
scheme_make_evt_set
|
||||
scheme_add_swap_callback
|
||||
scheme_add_swap_out_callback
|
||||
scheme_call_enable_break
|
||||
scheme_close_should_force_port_closed
|
||||
scheme_push_kill_action
|
||||
scheme_pop_kill_action
|
||||
scheme_set_can_break
|
||||
scheme_push_break_enable
|
||||
scheme_pop_break_enable
|
||||
scheme_with_stack_freeze
|
||||
scheme_frozen_run_some
|
||||
scheme_is_in_frozen_stack
|
||||
scheme_signal_error
|
||||
scheme_raise_exn
|
||||
scheme_warning
|
||||
scheme_raise
|
||||
scheme_log_level_p
|
||||
scheme_log
|
||||
scheme_log_message
|
||||
scheme_log_abort
|
||||
scheme_out_of_memory_abort
|
||||
scheme_wrong_count
|
||||
scheme_wrong_count_m
|
||||
scheme_case_lambda_wrong_count
|
||||
scheme_wrong_type
|
||||
scheme_wrong_field_type
|
||||
scheme_arg_mismatch
|
||||
scheme_wrong_return_arity
|
||||
scheme_unbound_global
|
||||
scheme_dynamic_wind
|
||||
scheme_make_type
|
||||
scheme_get_type_name
|
||||
scheme_eof
|
||||
scheme_make_eof
|
||||
scheme_null
|
||||
scheme_make_null
|
||||
scheme_true
|
||||
scheme_make_true
|
||||
scheme_false
|
||||
scheme_make_false
|
||||
scheme_void
|
||||
scheme_make_void
|
||||
scheme_undefined
|
||||
scheme_tail_call_waiting
|
||||
scheme_multiple_values
|
||||
scheme_uchar_table
|
||||
scheme_uchar_cases_table
|
||||
scheme_uchar_cats_table
|
||||
scheme_uchar_ups
|
||||
scheme_uchar_downs
|
||||
scheme_uchar_titles
|
||||
scheme_uchar_folds
|
||||
scheme_uchar_combining_classes
|
||||
scheme_eval
|
||||
scheme_eval_multi
|
||||
scheme_eval_with_prompt
|
||||
scheme_eval_multi_with_prompt
|
||||
scheme_eval_compiled
|
||||
scheme_eval_compiled_multi
|
||||
_scheme_eval_compiled
|
||||
_scheme_eval_compiled_multi
|
||||
scheme_apply
|
||||
scheme_apply_multi
|
||||
scheme_apply_no_eb
|
||||
scheme_apply_multi_no_eb
|
||||
scheme_apply_to_list
|
||||
scheme_apply_with_prompt
|
||||
scheme_apply_multi_with_prompt
|
||||
_scheme_apply_with_prompt
|
||||
_scheme_apply_multi_with_prompt
|
||||
scheme_eval_string
|
||||
scheme_eval_string_multi
|
||||
scheme_eval_string_all
|
||||
scheme_eval_string_with_prompt
|
||||
scheme_eval_string_multi_with_prompt
|
||||
scheme_eval_string_all_with_prompt
|
||||
scheme_eval_module_string
|
||||
_scheme_apply_known_prim_closure
|
||||
_scheme_apply_known_prim_closure_multi
|
||||
_scheme_apply_prim_closure
|
||||
_scheme_apply_prim_closure_multi
|
||||
scheme_current_argument_stack
|
||||
scheme_call_with_prompt
|
||||
scheme_call_with_prompt_multi
|
||||
_scheme_call_with_prompt
|
||||
_scheme_call_with_prompt_multi
|
||||
scheme_values
|
||||
scheme_check_one_value
|
||||
scheme_tail_apply
|
||||
scheme_tail_apply_no_copy
|
||||
scheme_tail_apply_to_list
|
||||
scheme_tail_eval_expr
|
||||
scheme_set_tail_buffer_size
|
||||
scheme_force_value
|
||||
scheme_force_one_value
|
||||
scheme_set_cont_mark
|
||||
scheme_push_continuation_frame
|
||||
scheme_pop_continuation_frame
|
||||
scheme_temp_dec_mark_depth
|
||||
scheme_temp_inc_mark_depth
|
||||
scheme_current_continuation_marks
|
||||
scheme_extract_one_cc_mark
|
||||
scheme_extract_one_cc_mark_to_tag
|
||||
scheme_do_eval
|
||||
scheme_eval_compiled_stx_string
|
||||
scheme_load_compiled_stx_string
|
||||
scheme_compiled_stx_symbol
|
||||
scheme_eval_compiled_sized_string
|
||||
scheme_eval_compiled_sized_string_with_magic
|
||||
scheme_detach_multple_array
|
||||
GC_malloc
|
||||
GC_malloc_atomic
|
||||
GC_malloc_one_tagged
|
||||
GC_malloc_atomic_uncollectable
|
||||
scheme_malloc_uncollectable
|
||||
GC_malloc_array_tagged
|
||||
GC_malloc_allow_interior
|
||||
GC_malloc_atomic_allow_interior
|
||||
GC_malloc_tagged_allow_interior
|
||||
scheme_malloc_code
|
||||
scheme_free_code
|
||||
scheme_malloc_gcable_code
|
||||
scheme_malloc_eternal
|
||||
scheme_end_stubborn_change
|
||||
scheme_calloc
|
||||
scheme_strdup
|
||||
scheme_strdup_eternal
|
||||
scheme_malloc_fail_ok
|
||||
scheme_weak_reference
|
||||
scheme_weak_reference_indirect
|
||||
scheme_unweak_reference
|
||||
scheme_add_finalizer
|
||||
scheme_add_finalizer_once
|
||||
scheme_subtract_finalizer
|
||||
scheme_add_scheme_finalizer
|
||||
scheme_add_scheme_finalizer_once
|
||||
scheme_register_finalizer
|
||||
scheme_remove_all_finalization
|
||||
scheme_dont_gc_ptr
|
||||
scheme_gc_ptr_ok
|
||||
scheme_collect_garbage
|
||||
GC_variable_stack
|
||||
GC_register_traversers
|
||||
GC_resolve
|
||||
GC_mark
|
||||
GC_fixup
|
||||
GC_fixup_self
|
||||
scheme_malloc_immobile_box
|
||||
scheme_free_immobile_box
|
||||
scheme_make_bucket_table
|
||||
scheme_add_to_table
|
||||
scheme_change_in_table
|
||||
scheme_lookup_in_table
|
||||
scheme_bucket_from_table
|
||||
scheme_bucket_table_equal
|
||||
scheme_clone_bucket_table
|
||||
scheme_make_hash_table
|
||||
scheme_make_hash_table_equal
|
||||
scheme_make_hash_table_eqv
|
||||
scheme_hash_set
|
||||
scheme_hash_get
|
||||
scheme_eq_hash_get
|
||||
scheme_hash_set_atomic
|
||||
scheme_hash_get_atomic
|
||||
scheme_hash_table_equal
|
||||
scheme_is_hash_table_equal
|
||||
scheme_is_hash_table_eqv
|
||||
scheme_clone_hash_table
|
||||
scheme_make_hash_tree
|
||||
scheme_hash_tree_set
|
||||
scheme_hash_tree_get
|
||||
scheme_hash_tree_next
|
||||
scheme_hash_tree_index
|
||||
scheme_hash_tree_equal
|
||||
scheme_is_hash_tree_equal
|
||||
scheme_is_hash_tree_eqv
|
||||
scheme_make_prim
|
||||
scheme_make_noneternal_prim
|
||||
scheme_make_prim_w_arity
|
||||
scheme_make_folding_prim
|
||||
scheme_make_immed_prim
|
||||
scheme_make_noncm_prim
|
||||
scheme_make_noneternal_prim_w_arity
|
||||
scheme_make_prim_w_everything
|
||||
scheme_make_prim_closure_w_arity
|
||||
scheme_make_folding_prim_closure
|
||||
scheme_make_closed_prim
|
||||
scheme_make_closed_prim_w_arity
|
||||
scheme_make_folding_closed_prim
|
||||
scheme_make_closed_prim_w_everything
|
||||
scheme_prim_is_method
|
||||
scheme_make_pair
|
||||
scheme_make_mutable_pair
|
||||
scheme_make_raw_pair
|
||||
scheme_make_byte_string
|
||||
scheme_make_sized_byte_string
|
||||
scheme_make_sized_offset_byte_string
|
||||
scheme_make_immutable_sized_byte_string
|
||||
scheme_make_byte_string_without_copying
|
||||
scheme_alloc_byte_string
|
||||
scheme_append_byte_string
|
||||
scheme_make_utf8_string
|
||||
scheme_make_sized_utf8_string
|
||||
scheme_make_sized_offset_utf8_string
|
||||
scheme_make_immutable_sized_utf8_string
|
||||
scheme_make_locale_string
|
||||
scheme_char_string_to_byte_string
|
||||
scheme_byte_string_to_char_string
|
||||
scheme_char_string_to_byte_string_locale
|
||||
scheme_byte_string_to_char_string_locale
|
||||
scheme_char_string_to_path
|
||||
scheme_path_to_char_string
|
||||
scheme_make_char_string
|
||||
scheme_make_sized_char_string
|
||||
scheme_make_sized_offset_char_string
|
||||
scheme_make_immutable_sized_char_string
|
||||
scheme_make_char_string_without_copying
|
||||
scheme_alloc_char_string
|
||||
scheme_append_char_string
|
||||
scheme_string_recase
|
||||
scheme_make_vector
|
||||
scheme_make_integer_value
|
||||
scheme_make_integer_value_from_unsigned
|
||||
scheme_make_integer_value_from_long_long
|
||||
scheme_make_integer_value_from_unsigned_long_long
|
||||
scheme_make_integer_value_from_long_halves
|
||||
scheme_make_integer_value_from_unsigned_long_halves
|
||||
scheme_make_double
|
||||
scheme_make_char
|
||||
scheme_make_char_or_nul
|
||||
scheme_make_sema
|
||||
scheme_post_sema
|
||||
scheme_post_sema_all
|
||||
scheme_wait_sema
|
||||
scheme_try_plain_sema
|
||||
scheme_char_constants
|
||||
scheme_make_channel
|
||||
scheme_make_channel_put_evt
|
||||
scheme_get_int_val
|
||||
scheme_get_unsigned_int_val
|
||||
scheme_get_long_long_val
|
||||
scheme_get_unsigned_long_long_val
|
||||
scheme_real_to_double
|
||||
scheme_make_cptr
|
||||
scheme_make_offset_cptr
|
||||
scheme_make_external_cptr
|
||||
scheme_make_offset_external_cptr
|
||||
scheme_get_proc_name
|
||||
scheme_utf8_decode
|
||||
scheme_utf8_decode_as_prefix
|
||||
scheme_utf8_decode_all
|
||||
scheme_utf8_decode_prefix
|
||||
scheme_utf8_decode_to_buffer
|
||||
scheme_utf8_decode_to_buffer_len
|
||||
scheme_utf8_decode_count
|
||||
scheme_utf8_encode
|
||||
scheme_utf8_encode_all
|
||||
scheme_utf8_encode_to_buffer
|
||||
scheme_utf8_encode_to_buffer_len
|
||||
scheme_ucs4_to_utf16
|
||||
scheme_utf16_to_ucs4
|
||||
scheme_open_converter
|
||||
scheme_close_converter
|
||||
scheme_make_bignum
|
||||
scheme_make_bignum_from_unsigned
|
||||
scheme_make_bignum_from_long_long
|
||||
scheme_make_bignum_from_unsigned_long_long
|
||||
scheme_bignum_to_double
|
||||
scheme_bignum_from_double
|
||||
scheme_bignum_to_string
|
||||
scheme_bignum_to_allocated_string
|
||||
scheme_read_bignum
|
||||
scheme_read_bignum_bytes
|
||||
scheme_bignum_normalize
|
||||
scheme_make_rational
|
||||
scheme_rational_to_double
|
||||
scheme_rational_from_double
|
||||
scheme_rational_normalize
|
||||
scheme_rational_numerator
|
||||
scheme_rational_denominator
|
||||
scheme_make_complex
|
||||
scheme_complex_normalize
|
||||
scheme_complex_real_part
|
||||
scheme_complex_imaginary_part
|
||||
scheme_is_exact
|
||||
scheme_is_inexact
|
||||
scheme_expand
|
||||
scheme_compile
|
||||
scheme_read
|
||||
scheme_read_syntax
|
||||
scheme_write
|
||||
scheme_print
|
||||
scheme_display
|
||||
scheme_write_w_max
|
||||
scheme_display_w_max
|
||||
scheme_print_w_max
|
||||
scheme_write_byte_string
|
||||
scheme_write_char_string
|
||||
scheme_put_byte_string
|
||||
scheme_put_char_string
|
||||
scheme_write_to_string
|
||||
scheme_display_to_string
|
||||
scheme_print_to_string
|
||||
scheme_write_to_string_w_max
|
||||
scheme_display_to_string_w_max
|
||||
scheme_print_to_string_w_max
|
||||
scheme_debug_print
|
||||
scheme_flush_output
|
||||
scheme_format
|
||||
scheme_printf
|
||||
scheme_format_utf8
|
||||
scheme_printf_utf8
|
||||
scheme_getc
|
||||
scheme_get_byte
|
||||
scheme_peekc
|
||||
scheme_peek_byte
|
||||
scheme_peekc_skip
|
||||
scheme_peek_byte_skip
|
||||
scheme_getc_special_ok
|
||||
scheme_get_byte_special_ok
|
||||
scheme_peekc_special_ok
|
||||
scheme_peek_byte_special_ok_skip
|
||||
scheme_peekc_special_ok_skip
|
||||
scheme_ungetc
|
||||
scheme_byte_ready
|
||||
scheme_char_ready
|
||||
scheme_peekc_is_ungetc
|
||||
scheme_need_wakeup
|
||||
scheme_get_byte_string
|
||||
scheme_get_byte_string_unless
|
||||
scheme_get_byte_string_special_ok_unless
|
||||
scheme_progress_evt
|
||||
scheme_peeked_read
|
||||
scheme_get_char_string
|
||||
scheme_get_bytes
|
||||
scheme_get_ready_special
|
||||
scheme_tell
|
||||
scheme_output_tell
|
||||
scheme_tell_line
|
||||
scheme_tell_column
|
||||
scheme_tell_all
|
||||
scheme_count_lines
|
||||
scheme_close_input_port
|
||||
scheme_close_output_port
|
||||
scheme_write_special
|
||||
scheme_write_special_nonblock
|
||||
scheme_make_write_evt
|
||||
scheme_port_record
|
||||
scheme_input_port_record
|
||||
scheme_output_port_record
|
||||
scheme_is_input_port
|
||||
scheme_is_output_port
|
||||
scheme_make_port_type
|
||||
scheme_make_input_port
|
||||
scheme_make_output_port
|
||||
scheme_set_next_port_custodian
|
||||
scheme_set_port_location_fun
|
||||
scheme_set_port_count_lines_fun
|
||||
scheme_progress_evt_via_get
|
||||
scheme_peeked_read_via_get
|
||||
scheme_write_evt_via_write
|
||||
scheme_write_special_evt_via_write_special
|
||||
scheme_open_input_file
|
||||
scheme_open_output_file
|
||||
scheme_open_input_output_file
|
||||
scheme_open_output_file_with_mode
|
||||
scheme_make_file_input_port
|
||||
scheme_make_named_file_input_port
|
||||
scheme_make_file_output_port
|
||||
scheme_make_fd_input_port
|
||||
scheme_make_fd_output_port
|
||||
scheme_make_byte_string_input_port
|
||||
scheme_make_sized_byte_string_input_port
|
||||
scheme_make_byte_string_output_port
|
||||
scheme_get_sized_byte_string_output
|
||||
scheme_get_reset_sized_byte_string_output
|
||||
scheme_pipe
|
||||
scheme_pipe_with_limit
|
||||
scheme_make_null_output_port
|
||||
scheme_make_redirect_output_port
|
||||
scheme_set_file_position
|
||||
scheme_file_exists
|
||||
scheme_directory_exists
|
||||
scheme_expand_filename
|
||||
scheme_expand_user_filename
|
||||
scheme_expand_string_filename
|
||||
scheme_os_getcwd
|
||||
scheme_os_setcwd
|
||||
scheme_getdrive
|
||||
scheme_split_path
|
||||
scheme_build_path
|
||||
scheme_path_to_directory_path
|
||||
scheme_path_to_complete_path
|
||||
scheme_make_path
|
||||
scheme_make_sized_path
|
||||
scheme_make_sized_offset_path
|
||||
scheme_make_sized_offset_kind_path
|
||||
scheme_make_path_without_copying
|
||||
scheme_alloc_fdset_array
|
||||
scheme_init_fdset_array
|
||||
scheme_get_fdset
|
||||
scheme_fdzero
|
||||
scheme_fdset
|
||||
scheme_fdclr
|
||||
scheme_fdisset
|
||||
scheme_add_fd_handle
|
||||
scheme_add_fd_eventmask
|
||||
scheme_collapse_win_fd
|
||||
scheme_security_check_file
|
||||
scheme_security_check_file_link
|
||||
scheme_security_check_network
|
||||
scheme_get_host_address
|
||||
scheme_free_host_address
|
||||
scheme_host_address_strerror
|
||||
scheme_getnameinfo
|
||||
scheme_get_port_file_descriptor
|
||||
scheme_get_port_fd
|
||||
scheme_get_port_socket
|
||||
scheme_socket_to_ports
|
||||
scheme_set_type_printer
|
||||
scheme_print_bytes
|
||||
scheme_print_utf8
|
||||
scheme_print_string
|
||||
scheme_read_byte_string
|
||||
scheme_make_namespace
|
||||
scheme_add_global
|
||||
scheme_add_global_symbol
|
||||
scheme_make_envunbox
|
||||
scheme_lookup_global
|
||||
scheme_global_bucket
|
||||
scheme_global_keyword_bucket
|
||||
scheme_module_bucket
|
||||
scheme_builtin_value
|
||||
scheme_set_global_bucket
|
||||
scheme_install_macro
|
||||
scheme_save_initial_module_set
|
||||
scheme_primitive_module
|
||||
scheme_finish_primitive_module
|
||||
scheme_protect_primitive_provide
|
||||
scheme_make_modidx
|
||||
scheme_apply_for_syntax_in_env
|
||||
scheme_dynamic_require
|
||||
scheme_namespace_require
|
||||
scheme_is_module_path
|
||||
scheme_datum_to_kernel_stx
|
||||
scheme_intern_symbol
|
||||
scheme_intern_exact_symbol
|
||||
scheme_intern_exact_char_symbol
|
||||
scheme_make_symbol
|
||||
scheme_make_exact_symbol
|
||||
scheme_make_exact_char_symbol
|
||||
scheme_symbol_name
|
||||
scheme_symbol_name_and_size
|
||||
scheme_symbol_val
|
||||
scheme_intern_exact_keyword
|
||||
scheme_intern_exact_char_keyword
|
||||
scheme_make_struct_values
|
||||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_type2
|
||||
scheme_make_struct_instance
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
scheme_make_struct_type_property
|
||||
scheme_make_struct_type_property_w_guard
|
||||
scheme_struct_type_property_ref
|
||||
scheme_chaperone_struct_type_property_ref
|
||||
scheme_make_location
|
||||
scheme_is_location
|
||||
scheme_make_inspector
|
||||
scheme_is_subinspector
|
||||
scheme_eq
|
||||
scheme_eqv
|
||||
scheme_equal
|
||||
scheme_chaperone_of
|
||||
scheme_hash_key
|
||||
scheme_equal_hash_key
|
||||
scheme_equal_hash_key2
|
||||
scheme_recur_equal_hash_key
|
||||
scheme_recur_equal_hash_key2
|
||||
scheme_eqv_hash_key
|
||||
scheme_eqv_hash_key2
|
||||
scheme_set_type_equality
|
||||
scheme_recur_equal
|
||||
scheme_build_list
|
||||
scheme_build_list_offset
|
||||
scheme_is_list
|
||||
scheme_list_length
|
||||
scheme_proper_list_length
|
||||
scheme_alloc_list
|
||||
scheme_map_1
|
||||
scheme_car
|
||||
scheme_cdr
|
||||
scheme_cadr
|
||||
scheme_caddr
|
||||
scheme_vector_to_list
|
||||
scheme_list_to_vector
|
||||
scheme_append
|
||||
scheme_reverse
|
||||
scheme_box
|
||||
scheme_unbox
|
||||
scheme_set_box
|
||||
scheme_make_weak_box
|
||||
scheme_make_ephemeron
|
||||
scheme_ephemeron_value
|
||||
scheme_ephemeron_key
|
||||
scheme_load
|
||||
scheme_load_extension
|
||||
scheme_register_extension_global
|
||||
scheme_get_seconds
|
||||
scheme_get_milliseconds
|
||||
scheme_get_inexact_milliseconds
|
||||
scheme_get_process_milliseconds
|
||||
scheme_get_thread_milliseconds
|
||||
scheme_banner
|
||||
scheme_version
|
||||
scheme_check_proc_arity
|
||||
scheme_check_proc_arity2
|
||||
scheme_make_provided_string
|
||||
scheme_make_args_string
|
||||
scheme_system_library_subpath
|
||||
scheme_signal_received
|
||||
scheme_signal_received_at
|
||||
scheme_get_signal_handle
|
||||
scheme_char_strlen
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
/* The version string has one of the forms:
|
||||
X.Y
|
||||
X.Y.Z Z != 0
|
||||
X.Y.Z.W W != 0
|
||||
where each X, Y, Z, W is a non-negative exact integer, Y must not
|
||||
exceed 99, and Z or W must not exceed 999. Y>=90 means that this is
|
||||
working towards {X+1}.0, and X.Y (Z=0, W=0) is an alpha version for
|
||||
{X+1}.0; Z>=900 means working towards X.{Y+1}, and X.Y.Z as an
|
||||
alpha release.
|
||||
|
||||
Note that the version number in the "base" package's "info.rkt"
|
||||
needs to be updated separately.
|
||||
*/
|
||||
|
||||
#define MZSCHEME_VERSION_X 7
|
||||
#define MZSCHEME_VERSION_Y 8
|
||||
#define MZSCHEME_VERSION_Z 0
|
||||
#define MZSCHEME_VERSION_W 6
|
||||
|
||||
/* A level of indirection makes `#` work as needed: */
|
||||
#define AS_a_STR_HELPER(x) #x
|
||||
#define AS_a_STR(x) AS_a_STR_HELPER(x)
|
||||
|
||||
#if MZSCHEME_VERSION_W != 0
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z) "." AS_a_STR(MZSCHEME_VERSION_W)
|
||||
#elif MZSCHEME_VERSION_Z != 0
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z)
|
||||
#else
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y)
|
||||
#endif
|
||||
|
||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||
|
||||
#define MZSCHEME_VM "racket"
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,666 +0,0 @@
|
|||
#ifndef __mzscheme_gc_2__
|
||||
#define __mzscheme_gc_2__
|
||||
|
||||
#ifndef GC2_JUST_MACROS
|
||||
# ifdef INCLUDE_WITHOUT_PATHS
|
||||
# include "schthread.h"
|
||||
# else
|
||||
# include "../include/schthread.h"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifdef __GNUC__
|
||||
# define MAYBE_UNUSED __attribute__((unused))
|
||||
# else
|
||||
# define MAYBE_UNUSED
|
||||
# endif
|
||||
|
||||
/***************************************************************************/
|
||||
/*** See README for a general overview of the interface architecture. ***/
|
||||
/***************************************************************************/
|
||||
|
||||
#ifndef GC2_JUST_MACROS
|
||||
|
||||
struct NewGC;
|
||||
|
||||
typedef int (*Size_Proc)(void *obj);
|
||||
typedef int (*Size2_Proc)(void *obj, struct NewGC *);
|
||||
typedef int (*Mark_Proc)(void *obj);
|
||||
typedef int (*Mark2_Proc)(void *obj, struct NewGC *);
|
||||
typedef int (*Fixup_Proc)(void *obj);
|
||||
typedef int (*Fixup2_Proc)(void *obj, struct NewGC *);
|
||||
typedef void (*GC_collect_start_callback_Proc)(void);
|
||||
typedef void (*GC_collect_end_callback_Proc)(void);
|
||||
typedef void (*GC_collect_inform_callback_Proc)(int master_gc, int major_gc, int inc_gc,
|
||||
intptr_t pre_used, intptr_t post_used,
|
||||
intptr_t pre_admin, intptr_t post_admin,
|
||||
intptr_t post_child_places_used);
|
||||
typedef uintptr_t (*GC_get_thread_stack_base_Proc)(void);
|
||||
typedef void (*GC_Post_Propagate_Hook_Proc)(struct NewGC *);
|
||||
typedef int (*GC_Treat_As_Incremental_Mark_Proc)(void *p);
|
||||
/*
|
||||
Types of the traversal procs (supplied by Racket); see overview in README
|
||||
for information about traversals. The return value is the size of
|
||||
the object in words. */
|
||||
|
||||
# ifdef GC2_JUST_MACROS_AND_TYPEDEFS
|
||||
# define GC2_JUST_MACROS
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef GC2_JUST_MACROS
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifndef GC2_EXTERN
|
||||
# ifdef GC2_AS_EXPORT
|
||||
# define GC2_EXTERN __declspec(dllexport)
|
||||
# endif
|
||||
# ifdef GC2_AS_IMPORT
|
||||
# define GC2_EXTERN __declspec(dllimport)
|
||||
# endif
|
||||
# ifndef GC2_EXTERN
|
||||
# define GC2_EXTERN extern
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
/***************************************************************************/
|
||||
/* Administration */
|
||||
/***************************************************************************/
|
||||
|
||||
GC2_EXTERN void GC_set_get_thread_stack_base(uintptr_t (*)(void));
|
||||
/*
|
||||
Sets callback called by GC to get the base for stack traversal in the current
|
||||
thread (see README). The returned address must not be in the middle
|
||||
of a variable-stack record. */
|
||||
|
||||
GC2_EXTERN void GC_set_stack_base(void *base);
|
||||
GC2_EXTERN uintptr_t GC_get_stack_base(void);
|
||||
/*
|
||||
Called by Racket to set/get value used for stack base when
|
||||
GC_get_thread_stack_base is null. This is mainly useful for getting
|
||||
Racket started, before it has multiple threads. */
|
||||
|
||||
GC2_EXTERN void GC_add_roots(void *start, void *end);
|
||||
/*
|
||||
Called by Racket to install roots. The memory between
|
||||
`start' (inclusive) and `end' (exclusive) contains pointers. */
|
||||
|
||||
GC2_EXTERN void GC_init_type_tags(int count, int pair, int mutable_pair, int weakbox,
|
||||
int ephemeron, int weakarray, int custbox,
|
||||
int phantom);
|
||||
/*
|
||||
Called by Racket to indicate the number of different type tags it
|
||||
uses, starting from 0. `count' is always less than 256. The weakbox
|
||||
argument is the value to be used for tagging weak box, the
|
||||
ephemeron is the value to tagging an ephemeron, etc. (The GC has some
|
||||
freedom in the layout of a weak box or ephemeron, so it performs weak
|
||||
box traversals itself, but Racket gets to choose the tag.) */
|
||||
|
||||
GC2_EXTERN void GC_register_root_custodian(void *);
|
||||
/*
|
||||
Registers the root custodian. */
|
||||
|
||||
GC2_EXTERN void GC_register_new_thread(void *, void *);
|
||||
/*
|
||||
Indicates that a just-allocated point is for a thread
|
||||
or place owned by a particular custodian. */
|
||||
|
||||
GC2_EXTERN void GC_register_thread(void *, void *);
|
||||
/*
|
||||
Indicates that a a thread or place is now owned by a
|
||||
particular custodian. */
|
||||
|
||||
GC2_EXTERN GC_collect_start_callback_Proc GC_set_collect_start_callback(GC_collect_start_callback_Proc);
|
||||
GC2_EXTERN GC_collect_end_callback_Proc GC_set_collect_end_callback(GC_collect_end_callback_Proc);
|
||||
GC2_EXTERN void GC_set_collect_inform_callback(GC_collect_inform_callback_Proc);
|
||||
GC2_EXTERN void GC_set_post_propagate_hook(GC_Post_Propagate_Hook_Proc);
|
||||
GC2_EXTERN void GC_set_treat_as_incremental_mark(short tag, GC_Treat_As_Incremental_Mark_Proc);
|
||||
/*
|
||||
Sets callbacks called by GC before/after performing a collection. Used by
|
||||
Racket to zero out some data and record collection times. The end
|
||||
procedure should be called before finalizations are performed. */
|
||||
|
||||
typedef void (*GC_Out_Of_Memory_Proc)(void);
|
||||
GC2_EXTERN GC_Out_Of_Memory_Proc GC_out_of_memory;
|
||||
GC2_EXTERN GC_Out_Of_Memory_Proc GC_get_out_of_memory(void);
|
||||
GC2_EXTERN void GC_set_out_of_memory(GC_Out_Of_Memory_Proc GC_out_of_memory);
|
||||
/*
|
||||
Called by GC when it can't satify a memory request. GC_out_of_memory()
|
||||
might perform a longjmp. The get/set variant sets a thread-local procedure. */
|
||||
|
||||
GC2_EXTERN void (*GC_report_out_of_memory)(void);
|
||||
/*
|
||||
Called by GC when it has to give up, maybe due to running out of memory
|
||||
during a collection. */
|
||||
|
||||
GC2_EXTERN void GC_dump(void);
|
||||
/*
|
||||
Dumps memory state info to stderr. */
|
||||
|
||||
GC2_EXTERN intptr_t GC_get_memory_use(void *c);
|
||||
/*
|
||||
Returns the number of currently-allocated bytes (specifically for
|
||||
custodian c, as much as the GC's accounting makes possible). */
|
||||
|
||||
GC2_EXTERN intptr_t GC_get_memory_ever_used();
|
||||
/*
|
||||
Returns the total number of allocated bytes, including
|
||||
bytes that have since been reclaimed. */
|
||||
|
||||
GC2_EXTERN intptr_t GC_get_memory_max_allocated();
|
||||
/*
|
||||
Returns the maximum number of bytes allocated at once, including
|
||||
GC overhead but not including phantom bytes. */
|
||||
|
||||
GC2_EXTERN int GC_accouting_enabled();
|
||||
/*
|
||||
Reports whether memory accounting is enabled. */
|
||||
|
||||
#define MZACCT_REQUIRE 0
|
||||
#define MZACCT_LIMIT 1
|
||||
GC2_EXTERN int GC_set_account_hook(int type, void *c1, uintptr_t b, void *c2);
|
||||
/*
|
||||
Set a memory-accounting property. Returns 0 for failure (i.e., not
|
||||
supported). */
|
||||
|
||||
GC2_EXTERN uintptr_t GC_get_account_memory_limit(void *c1);
|
||||
/*
|
||||
Returns a memory accounting limit for c1 (or any ancestor),
|
||||
or 0 if none is set. */
|
||||
|
||||
GC2_EXTERN void GC_set_accounting_custodian(void *c);
|
||||
/*
|
||||
Sets a custodian for checking memory limits for the next allocation.
|
||||
This custodian should be cleared when allocation returns, but it
|
||||
will be reset to NULL if a GC is triggered. */
|
||||
|
||||
GC2_EXTERN void GC_gcollect(void);
|
||||
GC2_EXTERN void GC_gcollect_minor(void);
|
||||
/*
|
||||
Performs an immediate [full] collection. */
|
||||
|
||||
GC2_EXTERN void GC_enable_collection(int on);
|
||||
/*
|
||||
Performs an immediate (full) collection. */
|
||||
|
||||
GC2_EXTERN void GC_request_incremental_mode(void);
|
||||
/*
|
||||
Requests incremental mode; lasts until the next major collection. */
|
||||
|
||||
GC2_EXTERN void GC_set_incremental_mode(int on);
|
||||
/*
|
||||
Sets whether incremental mode is the default (1), always disabled (0),
|
||||
or available on demand (-1). */
|
||||
|
||||
GC2_EXTERN void GC_free_all(void);
|
||||
/*
|
||||
Releases all memory, removes all signal handlers, etc.
|
||||
This is mainly useful for unloading a DLL within an embedding
|
||||
program tht will keep running. */
|
||||
|
||||
/***************************************************************************/
|
||||
/* Allocation */
|
||||
/***************************************************************************/
|
||||
|
||||
GC2_EXTERN void *GC_malloc(size_t size_in_bytes);
|
||||
/*
|
||||
Alloc an array of pointers, initially zeroed. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_one_tagged(size_t);
|
||||
/*
|
||||
Alloc a tagged item, initially zeroed. Racket sets the tag
|
||||
before a collection. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_one_small_tagged(size_t);
|
||||
/*
|
||||
Like GC_malloc_one_tagged, but the size must be less than 1kb,
|
||||
it must not be zero, and it must be a multiple of the word size. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_one_small_dirty_tagged(size_t);
|
||||
/*
|
||||
Like GC_malloc_one_small_tagged, but the memory is not
|
||||
zeroed. The client must set all words in the allocated
|
||||
object before a GC can occur. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_pair(void *car, void *cdr);
|
||||
/*
|
||||
Like GC_malloc_one_tagged, but even more streamlined.
|
||||
The main potential advantage is that `car' and `cdr' don't
|
||||
have to be retained by the callee in the case of a GC. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_atomic(size_t size_in_bytes);
|
||||
/*
|
||||
Alloc pointerless memory (not necessarily zeroed). */
|
||||
|
||||
#define GC_malloc_atomic_tagged GC_malloc_one_tagged
|
||||
#define GC_malloc_small_atomic_tagged GC_malloc_one_small_dirty_tagged
|
||||
/*
|
||||
Alloc pointer-free tagged memory (not necessarily zeroed).
|
||||
Racket sets the tag before a collection. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_atomic_uncollectable(size_t size_in_bytes);
|
||||
/*
|
||||
Like plain malloc: pointer-free, never collected. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_allow_interior(size_t size_in_bytes);
|
||||
/*
|
||||
Alloc an array of pointers (typically large), and recognize
|
||||
pointers into the middle of the array, or just past the end of the
|
||||
array. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_atomic_allow_interior(size_t size_in_bytes);
|
||||
/*
|
||||
Like GC_malloc_allow_interior(), but for an atomic object. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_tagged_allow_interior(size_t size_in_bytes);
|
||||
/*
|
||||
Like GC_malloc_allow_interior(), but for a tagged object. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_weak_array(size_t size_in_bytes, void *replace_val);
|
||||
/*
|
||||
Alloc an array of weak pointers, initially zeroed. When a value in
|
||||
the array is collected, it's replaced by `replace-val'. The
|
||||
presence of a pointer in the array doesn't keep the referenced
|
||||
memory from being collected. See also README for information about
|
||||
the structure of the array. */
|
||||
|
||||
GC2_EXTERN void GC_free(void *);
|
||||
/*
|
||||
Lets the collector optionally reverse an allocation immediately.
|
||||
[Generally a no-op.] */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_weak_box(void *p, void **secondary, int soffset, int is_late);
|
||||
/*
|
||||
Allocate a weak box. See README for details. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_ephemeron(void *p, void *p2);
|
||||
/*
|
||||
Allocate an ephemeron. See README for details. */
|
||||
|
||||
GC2_EXTERN void **GC_malloc_immobile_box(void *p);
|
||||
GC2_EXTERN void GC_free_immobile_box(void **b);
|
||||
/*
|
||||
Allocate (or free) a non-GCed box containing a pointer to a GCed
|
||||
value. The pointer is stored as the first longword of the box. */
|
||||
|
||||
GC2_EXTERN intptr_t GC_malloc_stays_put_threshold();
|
||||
/*
|
||||
Returns a minimum size for which allocations generate
|
||||
objects that never move, and where pointers are allowed
|
||||
into the object's interior. */
|
||||
|
||||
GC2_EXTERN int GC_is_on_allocated_page(void *p);
|
||||
/*
|
||||
Returns 1 if p refers to a page of memory on which
|
||||
the GC allocates objects (although p may or may not
|
||||
be a valid pointer to the start of an alloctaed object). */
|
||||
|
||||
GC2_EXTERN int GC_allocate_phantom_bytes(void *pb, intptr_t);
|
||||
/*
|
||||
Returns 0 if allocation should fail due to a memory limit,
|
||||
1 otherwise. The representative `pb` determines who is charged. */
|
||||
|
||||
GC2_EXTERN intptr_t GC_max_nursery_object_size();
|
||||
/*
|
||||
Returns a lower bound on the maximum size allowed for allocation
|
||||
in the nursery. */
|
||||
|
||||
/***************************************************************************/
|
||||
/* Memory tracing */
|
||||
/***************************************************************************/
|
||||
GC2_EXTERN int GC_mtrace_new_id(void *f);
|
||||
GC2_EXTERN int GC_mtrace_union_current_with(int newval);
|
||||
|
||||
/***************************************************************************/
|
||||
/* Finalization */
|
||||
/***************************************************************************/
|
||||
|
||||
typedef void (*GC_finalization_proc)(void *p, void *data);
|
||||
/*
|
||||
Type of a finalization procedure. */
|
||||
|
||||
GC2_EXTERN void GC_set_finalizer(void *p, int tagged, int level,
|
||||
GC_finalization_proc f, void *data,
|
||||
GC_finalization_proc *oldf, void **olddata);
|
||||
/*
|
||||
See README for details. */
|
||||
|
||||
/***************************************************************************/
|
||||
/* Cooperative GC */
|
||||
/***************************************************************************/
|
||||
|
||||
THREAD_LOCAL_DECL(GC2_EXTERN void **GC_variable_stack);
|
||||
/*
|
||||
See the general overview in README. */
|
||||
|
||||
GC2_EXTERN void **GC_get_variable_stack();
|
||||
GC2_EXTERN void GC_set_variable_stack(void **p);
|
||||
|
||||
GC2_EXTERN void GC_register_traversers(short tag, Size_Proc size, Mark_Proc mark, Fixup_Proc fixup,
|
||||
int is_constant_size, int is_atomic);
|
||||
GC2_EXTERN void GC_register_traversers2(short tag, Size2_Proc size, Mark2_Proc mark, Fixup2_Proc fixup,
|
||||
int is_constant_size, int is_atomic);
|
||||
/*
|
||||
Registers a traversal procedure for a tag. Obviously, a traversal
|
||||
procedure must be installed for each tag before a collection
|
||||
happens where an instance of the tag as been allocated. If objects
|
||||
using the tag are always of the same size, is_constant_size can be
|
||||
non-zero, and `size' must return the right size given a null
|
||||
pointer. If objects using the tag are atomic, is_atomic can be
|
||||
non-zero. */
|
||||
|
||||
/* #define gcMARK(x) ... see below ... */
|
||||
/* #define gcMARK_TYPED(t, x) ... see below ... */
|
||||
/* #define gcMARK_TYPED_NOW(t, x) ... see below ... */
|
||||
/* #define gcFIXUP(x) ... see below ... */
|
||||
/* #define gcFIXUP_TYPED(t, x) ... see below ... */
|
||||
/* #define gcFIXUP_TYPED_NOW(t, x) ... see below ... */
|
||||
/* Macros that, given an l-value and optional type, marks the
|
||||
referenced memory as live and updates the pointer as necessary
|
||||
(i.e., if it's GCable memory that is moving). The `x' argument can
|
||||
appear in the macro's output multiple times, and the output can be
|
||||
a statement rather than a expression.
|
||||
|
||||
The NOW versions force the mark or fixup to happen immediately. The
|
||||
other forms can queue the mark or fixup to happen later. */
|
||||
|
||||
/* #define gcBYTES_TO_WORDS(x) ((x + 3) >> 2) */
|
||||
/*
|
||||
Helpful macro for computing the return value in a traversal proc,
|
||||
which must be in words. */
|
||||
|
||||
GC2_EXTERN void *GC_resolve(void *p);
|
||||
GC2_EXTERN void *GC_resolve2(void *p, struct NewGC *gc);
|
||||
/*
|
||||
Can be called by a traversal proc to get the current address of a
|
||||
object that might have been moved already. This is necessary, for
|
||||
example, if the size or structure of an object depends on the
|
||||
content of an object it references. For example, the size of a
|
||||
class instance usually depends on a field count that is stored in
|
||||
the class. In fixup mode, call this before fixing up. */
|
||||
|
||||
GC2_EXTERN void *GC_fixup_self(void *p);
|
||||
/*
|
||||
Can be called by a fixup proc to get the final address of the
|
||||
pointer passed to the fixup proc. This is the identity function
|
||||
only when objects are moved before fixup, but objects might
|
||||
be moved after fixup. */
|
||||
|
||||
/* INTERNAL for the current implementation (used by macros): */
|
||||
GC2_EXTERN void GC_mark(void *p);
|
||||
GC2_EXTERN void GC_fixup(void *p);
|
||||
GC2_EXTERN void GC_mark2(void *p, struct NewGC *gc);
|
||||
GC2_EXTERN void GC_fixup2(void *p, struct NewGC *gc);
|
||||
/*
|
||||
Used in the expansion of gcMARK and gcFIXUP.
|
||||
|
||||
These procedures and variables are internal to the current
|
||||
implementation, and are *not* part of the "official" interface. */
|
||||
|
||||
GC2_EXTERN int GC_is_marked2(const void *p, struct NewGC *gc);
|
||||
/*
|
||||
Reports whether p has been marked. */
|
||||
|
||||
GC2_EXTERN int GC_current_mode(struct NewGC *gc);
|
||||
# define GC_CURRENT_MODE_MINOR 0
|
||||
# define GC_CURRENT_MODE_MAJOR 1
|
||||
# define GC_CURRENT_MODE_INCREMENTAL 2
|
||||
# define GC_CURRENT_MODE_INCREMENTAL_FINAL 3
|
||||
# define GC_CURRENT_MODE_BACKPOINTER_REMARK 4
|
||||
# define GC_CURRENT_MODE_ACCOUNTING 5
|
||||
/*
|
||||
The mode during a mark or fixup function callback.
|
||||
The GC_CURRENT_MODE_BACKPOINTER_REMARK mode corresponds
|
||||
to re-traversing an old-generation object that was
|
||||
formerly marked but has been mutated. */
|
||||
|
||||
GC2_EXTERN int GC_is_partial(struct NewGC *gc);
|
||||
/*
|
||||
Reports whether the current GC is a non-full collection
|
||||
or accounting pass. GC_current_mode() is better. */
|
||||
|
||||
GC2_EXTERN int GC_started_incremental(struct NewGC *gc);
|
||||
/*
|
||||
Reports whether the current GC uses incremental collection. */
|
||||
|
||||
GC2_EXTERN void *GC_malloc_for_incremental(size_t amt);
|
||||
/*
|
||||
Use only when GC_started_incremental(); allocates
|
||||
atomic memory that will be released at the end of the
|
||||
next full collection, which ends the current
|
||||
incremental pass. */
|
||||
|
||||
GC2_EXTERN void GC_mark_no_recur(struct NewGC *gc, int enable);
|
||||
GC2_EXTERN void GC_retract_only_mark_stack_entry(void *pf, struct NewGC *gc);
|
||||
/*
|
||||
Used for very special collaboration with GC. */
|
||||
|
||||
|
||||
GC2_EXTERN void GC_mark_variable_stack(void **var_stack,
|
||||
intptr_t delta,
|
||||
void *limit,
|
||||
void *stack_mem);
|
||||
GC2_EXTERN void GC_fixup_variable_stack(void **var_stack,
|
||||
intptr_t delta,
|
||||
void *limit,
|
||||
void *stack_mem);
|
||||
GC2_EXTERN void GC_mark2_variable_stack(void **var_stack,
|
||||
intptr_t delta,
|
||||
void *limit,
|
||||
void *stack_mem,
|
||||
struct NewGC *gc);
|
||||
GC2_EXTERN void GC_fixup2_variable_stack(void **var_stack,
|
||||
intptr_t delta,
|
||||
void *limit,
|
||||
void *stack_mem,
|
||||
struct NewGC *gc);
|
||||
/*
|
||||
Can be called by a mark or fixup traversal proc to traverse and
|
||||
update a chunk of (atomically-allocated) memory containing an image
|
||||
of the stack.
|
||||
|
||||
The `var_stack' argument corresponds to the value of GC_var_stack
|
||||
for the copied stack (see the overview at the top of this
|
||||
file). The `var_stack' pointer refers to the address of the chain
|
||||
in the original stack, not in the heap copy. The `delta' argument
|
||||
specifies the difference heap_copy_address - stack_address (where
|
||||
stack_address is the numerically lower bound for the copied stack
|
||||
region, regardless of which direction the stack grows). The `limit'
|
||||
argument corresponds to the value that would have been returned by
|
||||
GC_get_thread_stack_base() at the time the stack was copied.
|
||||
|
||||
The `stack_mem' argument indicates the start of the allocated memory
|
||||
that contains `var_stack'. It is used for backtraces. */
|
||||
|
||||
GC2_EXTERN int GC_merely_accounting();
|
||||
/*
|
||||
Can be called by a mark or fixup traversal proc to determine whether
|
||||
the traversal is merely for accounting, in which case some marking
|
||||
can be skipped if the corresponding data should be charged to a
|
||||
different object. */
|
||||
|
||||
GC2_EXTERN void GC_write_barrier(void *p);
|
||||
/*
|
||||
Explicit write barrier to ensure that a write-barrier signal is not
|
||||
triggered by a memory write.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_switch_out_master_gc();
|
||||
/*
|
||||
Makes the current GC the master GC.
|
||||
Creates a new place specific GC and links it to the master GC.
|
||||
*/
|
||||
|
||||
GC2_EXTERN struct NewGC *GC_get_current_instance();
|
||||
/*
|
||||
Returns a representation of the current GC.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_construct_child_gc(struct NewGC *parent_gc, intptr_t limit);
|
||||
/*
|
||||
Creates a new place-specific GC that is a child for memory-accounting
|
||||
purposes of the give parent GC. If `limit' is not 0, set the maximum
|
||||
amount of memory the new GC is supposed to use.
|
||||
*/
|
||||
|
||||
GC2_EXTERN intptr_t GC_propagate_hierarchy_memory_use();
|
||||
/*
|
||||
Notifies the parent GC (if any) of memory use by the current GC
|
||||
and its children. The result is total memory use. */
|
||||
|
||||
GC2_EXTERN void GC_destruct_child_gc();
|
||||
/*
|
||||
Destroys a place-specific GC once the place has finished.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void *GC_switch_to_master_gc();
|
||||
/*
|
||||
Switches to the master GC.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_switch_back_from_master(void *gc);
|
||||
/*
|
||||
Switches to back to gc from the master GC.
|
||||
*/
|
||||
|
||||
GC2_EXTERN int GC_is_using_master();
|
||||
/*
|
||||
Reports whether the master GC is in use after a non-master GC
|
||||
has been created.
|
||||
*/
|
||||
|
||||
GC2_EXTERN intptr_t GC_alloc_alignment();
|
||||
/*
|
||||
Guaranteeed alignment for nusery pages. Returns a constant, and
|
||||
can be called from any thread.
|
||||
*/
|
||||
|
||||
GC2_EXTERN uintptr_t GC_make_jit_nursery_page(int count, uintptr_t *sz);
|
||||
/*
|
||||
Obtains nursery pages from the GC for thread local allocation;
|
||||
resulting space is count times the allocation alignment.
|
||||
The result is an uintptr_t because it's not a valid
|
||||
pointer to a GCable object. The result becomes invalid (i.e. it's collected)
|
||||
with the next GC. If non-NULL, the `sz' argument is filled
|
||||
with the length of the allocation area after the result.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_check_master_gc_request();
|
||||
/*
|
||||
Checks to see if the master has requested a places major GC run
|
||||
and executes a GC if requested
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_set_put_external_event_fd(void *fd);
|
||||
/*
|
||||
Sets the fd that can be passed to scheme_signal_received_at to wake up the place for GC
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_allow_master_gc_check();
|
||||
/*
|
||||
Signals the GC after spawning a place that the places is sufficiently set up to participate
|
||||
in master gc collections
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_create_message_allocator();
|
||||
/*
|
||||
Saves off the gc->gen0 to gc->saved_allocator.
|
||||
Captures all memory allocations until GC_finish_message_allocator i
|
||||
is called so they can be sent to another place.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void *GC_finish_message_allocator();
|
||||
/*
|
||||
Stops memory allocation capture.
|
||||
Restores gc->saved_allocator to gc->gen0.
|
||||
Returns a void* that represents the message memory captured.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_adopt_message_allocator(void *msg_memory);
|
||||
/*
|
||||
Adopts the message memory captured by the sending place into
|
||||
the current receiving place's gc
|
||||
*/
|
||||
|
||||
GC2_EXTERN intptr_t GC_is_place();
|
||||
/*
|
||||
Returns 1 if current GC is a place gc.
|
||||
Otherwise returns 0;
|
||||
*/
|
||||
|
||||
GC2_EXTERN int GC_message_small_objects_size(void *msg_memory, intptr_t up_to);
|
||||
/*
|
||||
Determines whether the message qualifies as short and whether the
|
||||
total size of all objects allocated by the message allocator is less
|
||||
than `up_to'
|
||||
*/
|
||||
|
||||
GC2_EXTERN intptr_t GC_message_allocator_size(void *msg_memory);
|
||||
/*
|
||||
Returns the total size of all memory pages allocated by the message allocator
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_dispose_short_message_allocator(void *msg_memory);
|
||||
/*
|
||||
Disposes of small message allocators that were copied by the receiving place
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_destroy_orphan_msg_memory(void *msg_memory);
|
||||
/*
|
||||
Used to destroys a message allocators that is still in the place channel queue when
|
||||
the place channels finalizer is called.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_report_unsent_message_delta(intptr_t amt);
|
||||
/*
|
||||
Report message-in-flight size changes to the GC. This functionality is exposed,
|
||||
rather than built into GC_finish_message_allocator(), GC_adpot_message_allocator(),
|
||||
GC_dispose_short_message_allocator(), and GC_destroy_orphan_msg_memory(), so that
|
||||
meesages to the master GC can be limited as long as the unsent message tracking
|
||||
is within a factor of 2 or so.
|
||||
*/
|
||||
|
||||
GC2_EXTERN void GC_set_backpointer_object(void *p);
|
||||
/*
|
||||
Registers the current object for backpointers, which is used when backtrace
|
||||
support is enabled.
|
||||
*/
|
||||
|
||||
# ifdef __cplusplus
|
||||
};
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Macros (implementation-specific): */
|
||||
#ifdef SIXTY_FOUR_BIT_INTEGERS
|
||||
# define gcLOG_WORD_SIZE 3
|
||||
#else
|
||||
# define gcLOG_WORD_SIZE 2
|
||||
#endif
|
||||
#define gcMARK(x) GC_mark(&(x))
|
||||
#define gcMARK2(x, gc) GC_mark2(&(x), gc)
|
||||
#define gcMARK_TYPED(t, x) gcMARK(&(x))
|
||||
#define gcMARK2_TYPED(t, x, gc) gcMARK2(&(x), gc)
|
||||
#define gcMARK_TYPED_NOW(t, x) gcMARK(&(x))
|
||||
#define gcMARK2_TYPED_NOW(t, x, gc) gcMARK(&(x), gc)
|
||||
#define gcFIXUP_TYPED_NOW(t, x) GC_fixup(&(x))
|
||||
#define gcFIXUP2_TYPED_NOW(t, x, gc) GC_fixup2(&(x), gc)
|
||||
#define gcFIXUP_TYPED(t, x) gcFIXUP_TYPED_NOW(void*, x)
|
||||
#define gcFIXUP2_TYPED(t, x, gc) gcFIXUP2_TYPED_NOW(void*, x, gc)
|
||||
#define gcFIXUP(x) gcFIXUP_TYPED(void*, x)
|
||||
#define gcFIXUP2(x, gc) gcFIXUP2_TYPED(void*, x, gc)
|
||||
#define gcBYTES_TO_WORDS(x) ((x + (1 << gcLOG_WORD_SIZE) - 1) >> gcLOG_WORD_SIZE)
|
||||
#define gcWORDS_TO_BYTES(x) (x << gcLOG_WORD_SIZE)
|
||||
|
||||
#define GC_NO_SIZE_NEEDED_FROM_PROCS 1
|
||||
|
||||
#define GC_INTERIORABLES_NEVER_MOVE 1
|
||||
|
||||
#endif /* __mzscheme_gc_2__ */
|
|
@ -1,974 +0,0 @@
|
|||
typedef struct {
|
||||
/*========================================================================*/
|
||||
/* setjmpup (continuations) */
|
||||
/*========================================================================*/
|
||||
void (*scheme_init_jmpup_buf)(Scheme_Jumpup_Buf *b);
|
||||
int (*scheme_setjmpup_relative)(Scheme_Jumpup_Buf *b, void *base,
|
||||
void * volatile start, struct Scheme_Cont *cont);
|
||||
void (*scheme_longjmpup)(Scheme_Jumpup_Buf *b);
|
||||
void (*scheme_reset_jmpup_buf)(Scheme_Jumpup_Buf *b);
|
||||
#ifdef USE_MZ_SETJMP
|
||||
Scheme_Setjmp_Proc (*scheme_get_mz_setjmp)(void);
|
||||
int (*scheme_mz_setjmp)(mz_pre_jmp_buf b);
|
||||
void (*scheme_mz_longjmp)(mz_pre_jmp_buf b, int v);
|
||||
#endif
|
||||
void (*scheme_clear_escape)(void);
|
||||
Scheme_Jumpup_Buf_Holder *(*scheme_new_jmpupbuf_holder)(void);
|
||||
/*========================================================================*/
|
||||
/* parameters */
|
||||
/*========================================================================*/
|
||||
Scheme_Config *(*scheme_current_config)(void);
|
||||
Scheme_Config *(*scheme_minimal_config)(void);
|
||||
Scheme_Config *(*scheme_extend_config)(Scheme_Config *c, int pos, Scheme_Object *init_val);
|
||||
void (*scheme_install_config)(Scheme_Config *);
|
||||
Scheme_Object *(*scheme_get_param)(Scheme_Config *c, int pos);
|
||||
void (*scheme_set_param)(Scheme_Config *c, int pos, Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_get_thread_param)(Scheme_Config *c, Scheme_Thread_Cell_Table *cells, int pos);
|
||||
void (*scheme_set_thread_param)(Scheme_Config *c, Scheme_Thread_Cell_Table *cells, int pos, Scheme_Object *o);
|
||||
Scheme_Env *(*scheme_get_env)(Scheme_Config *config);
|
||||
Scheme_Thread_Cell_Table *(*scheme_empty_cell_table)();
|
||||
Scheme_Thread_Cell_Table *(*scheme_inherit_cells)(Scheme_Thread_Cell_Table *cells);
|
||||
Scheme_Object *(*scheme_current_break_cell)();
|
||||
/*========================================================================*/
|
||||
/* threads */
|
||||
/*========================================================================*/
|
||||
#ifndef USE_THREAD_LOCAL
|
||||
# ifndef LINK_EXTENSIONS_BY_TABLE
|
||||
Scheme_Thread *scheme_current_thread;
|
||||
volatile int scheme_fuel_counter;
|
||||
# else
|
||||
Scheme_Thread **scheme_current_thread_ptr;
|
||||
volatile int *scheme_fuel_counter_ptr;
|
||||
# endif
|
||||
#endif
|
||||
Scheme_Thread *(*scheme_get_current_thread)();
|
||||
int (*scheme_is_atomic)(void);
|
||||
void (*scheme_start_atomic)(void);
|
||||
void (*scheme_end_atomic)(void);
|
||||
void (*scheme_end_atomic_no_swap)(void);
|
||||
void (*scheme_start_in_scheduler)(void);
|
||||
void (*scheme_end_in_scheduler)(void);
|
||||
void (*scheme_start_atomic_no_break)(void);
|
||||
void (*scheme_end_atomic_can_break)(void);
|
||||
void (*scheme_out_of_fuel)(void);
|
||||
Scheme_Object *(*scheme_thread)(Scheme_Object *thunk);
|
||||
Scheme_Object *(*scheme_thread_w_details)(Scheme_Object *thunk,
|
||||
Scheme_Config *init_config,
|
||||
Scheme_Thread_Cell_Table *copy_from,
|
||||
Scheme_Object *break_cell,
|
||||
Scheme_Custodian *owning_custodian,
|
||||
int suspend_to_kill);
|
||||
void (*scheme_kill_thread)(Scheme_Thread *p);
|
||||
void (*scheme_break_thread)(Scheme_Thread *p);
|
||||
void (*scheme_break_kind_thread)(Scheme_Thread *p, int kind);
|
||||
void (*scheme_break_main_thread)();
|
||||
void (*scheme_break_main_thread_at)(void *);
|
||||
void (*scheme_break_kind_main_thread_at)(void *, int kind);
|
||||
void *(*scheme_get_main_thread_break_handle)();
|
||||
void (*scheme_set_break_main_target)(Scheme_Thread *p);
|
||||
void (*scheme_thread_block)(float sleep_time);
|
||||
void (*scheme_thread_block_enable_break)(float sleep_time, int enable);
|
||||
void (*scheme_swap_thread)(Scheme_Thread *process);
|
||||
void (*scheme_making_progress)();
|
||||
void (*scheme_weak_suspend_thread)(Scheme_Thread *p);
|
||||
void (*scheme_weak_resume_thread)(Scheme_Thread *p);
|
||||
int (*scheme_block_until)(Scheme_Ready_Fun f, Scheme_Needs_Wakeup_Fun, Scheme_Object *, float);
|
||||
int (*scheme_block_until_enable_break)(Scheme_Ready_Fun f, Scheme_Needs_Wakeup_Fun, Scheme_Object *,
|
||||
float, int enable);
|
||||
int (*scheme_block_until_unless)(Scheme_Ready_Fun f, Scheme_Needs_Wakeup_Fun fdf,
|
||||
Scheme_Object *data, float delay,
|
||||
Scheme_Object *unless,
|
||||
int enable_break);
|
||||
void (*scheme_wait_input_allowed)(Scheme_Input_Port *port, int nonblock);
|
||||
int (*scheme_unless_ready)(Scheme_Object *unless);
|
||||
int (*scheme_in_main_thread)(void);
|
||||
void (*scheme_cancel_sleep)(void);
|
||||
void (*scheme_start_sleeper_thread)(void (*mzsleep)(float seconds, void *fds), float secs, void *fds, int hit_fd);
|
||||
void (*scheme_end_sleeper_thread)();
|
||||
void (*scheme_set_place_sleep)(Scheme_Sleep_Proc slp);
|
||||
void (*scheme_notify_sleep_progress)();
|
||||
Scheme_Object *(*scheme_make_thread_cell)(Scheme_Object *def_val, int inherited);
|
||||
Scheme_Object *(*scheme_thread_cell_get)(Scheme_Object *cell, Scheme_Thread_Cell_Table *cells);
|
||||
void (*scheme_thread_cell_set)(Scheme_Object *cell, Scheme_Thread_Cell_Table *cells, Scheme_Object *v);
|
||||
int (*scheme_tls_allocate)();
|
||||
void (*scheme_tls_set)(int pos, void *v);
|
||||
void *(*scheme_tls_get)(int pos);
|
||||
Scheme_Custodian *(*scheme_make_custodian)(Scheme_Custodian *);
|
||||
Scheme_Custodian_Reference *(*scheme_add_managed)(Scheme_Custodian *m, Scheme_Object *o,
|
||||
Scheme_Close_Custodian_Client *f, void *data,
|
||||
int strong);
|
||||
Scheme_Custodian_Reference *(*scheme_add_managed_close_on_exit)(Scheme_Custodian *m, Scheme_Object *o,
|
||||
Scheme_Close_Custodian_Client *f, void *data);
|
||||
void (*scheme_custodian_check_available)(Scheme_Custodian *m, const char *who, const char *what);
|
||||
int (*scheme_custodian_is_available)(Scheme_Custodian *m);
|
||||
void (*scheme_remove_managed)(Scheme_Custodian_Reference *m, Scheme_Object *o);
|
||||
void (*scheme_close_managed)(Scheme_Custodian *m);
|
||||
void (*scheme_schedule_custodian_close)(Scheme_Custodian *c);
|
||||
void (*scheme_add_custodian_extractor)(Scheme_Type t, Scheme_Custodian_Extractor e);
|
||||
int (*scheme_flush_managed)(Scheme_Plumber *p, int catch_errors);
|
||||
Scheme_Object *(*scheme_add_flush)(Scheme_Plumber *p, Scheme_Object *proc_or_port, int weak_flush);
|
||||
void (*scheme_remove_flush)(Scheme_Object *h);
|
||||
void (*scheme_add_atexit_closer)(Scheme_Exit_Closer_Func f);
|
||||
int (*scheme_atexit)(void (*func)(void));
|
||||
void (*scheme_add_evt)(Scheme_Type type,
|
||||
Scheme_Ready_Fun ready,
|
||||
Scheme_Needs_Wakeup_Fun wakeup,
|
||||
Scheme_Sync_Filter_Fun filter,
|
||||
int can_redirect);
|
||||
void (*scheme_add_evt_through_sema)(Scheme_Type type,
|
||||
Scheme_Sync_Sema_Fun sema,
|
||||
Scheme_Sync_Filter_Fun filter);
|
||||
int (*scheme_is_evt)(Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_sync)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_sync_enable_break)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_sync_timeout)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_make_evt_set)(int argc, Scheme_Object **argv);
|
||||
void (*scheme_add_swap_callback)(Scheme_Closure_Func f, Scheme_Object *data);
|
||||
void (*scheme_add_swap_out_callback)(Scheme_Closure_Func f, Scheme_Object *data);
|
||||
Scheme_Object *(*scheme_call_enable_break)(Scheme_Prim *prim, int argc, Scheme_Object *argv[]);
|
||||
int (*scheme_close_should_force_port_closed)();
|
||||
void (*scheme_push_kill_action)(Scheme_Kill_Action_Func f, void *d);
|
||||
void (*scheme_pop_kill_action)();
|
||||
void (*scheme_set_can_break)(int on);
|
||||
void (*scheme_push_break_enable)(Scheme_Cont_Frame_Data *cframe, int on, int pre_check);
|
||||
void (*scheme_pop_break_enable)(Scheme_Cont_Frame_Data *cframe, int post_check);
|
||||
Scheme_Object *(*scheme_abort_continuation_no_dws)(Scheme_Object *pt, Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_call_with_composable_no_dws)(Scheme_Object *proc, Scheme_Object *pt);
|
||||
Scheme_On_Atomic_Timeout_Proc (*scheme_set_on_atomic_timeout)(Scheme_On_Atomic_Timeout_Proc p, void *data);
|
||||
/*========================================================================*/
|
||||
/* error handling */
|
||||
/*========================================================================*/
|
||||
void (*scheme_signal_error)(const char *msg, ...);
|
||||
void (*scheme_raise_exn)(int exnid, ...);
|
||||
void (*scheme_warning)(char *msg, ...);
|
||||
void (*scheme_raise)(Scheme_Object *exn);
|
||||
int (*scheme_log_level_p)(Scheme_Logger *logger, int level);
|
||||
int (*scheme_log_level_topic_p)(Scheme_Logger *logger, int level, Scheme_Object *name);
|
||||
void (*scheme_log)(Scheme_Logger *logger, int level, int flags,
|
||||
const char *msg, ...);
|
||||
void (*scheme_log_w_data)(Scheme_Logger *logger, int level, int flags,
|
||||
Scheme_Object *data,
|
||||
const char *msg, ...);
|
||||
void (*scheme_log_message)(Scheme_Logger *logger, int level, char *buffer, intptr_t len, Scheme_Object *data);
|
||||
void (*scheme_log_name_message)(Scheme_Logger *logger, int level, Scheme_Object *name,
|
||||
char *buffer, intptr_t len, Scheme_Object *data);
|
||||
void (*scheme_log_name_pfx_message)(Scheme_Logger *logger, int level, Scheme_Object *name,
|
||||
char *buffer, intptr_t len, Scheme_Object *data,
|
||||
int prefix_message);
|
||||
void (*scheme_log_abort)(char *buffer);
|
||||
void (*scheme_log_warning)(char *buffer);
|
||||
void (*scheme_glib_log_message)(const char *log_domain, int log_level, const char *message, void *user_data);
|
||||
void *(*scheme_glib_log_message_test)(char *str);
|
||||
void (*scheme_out_of_memory_abort)();
|
||||
void (*scheme_wrong_count)(const char *name, int minc, int maxc, int argc, Scheme_Object **argv);
|
||||
void (*scheme_wrong_count_m)(const char *name, int minc, int maxc, int argc, Scheme_Object **argv, int is_method);
|
||||
void (*scheme_case_lambda_wrong_count)(const char *name, int argc, Scheme_Object **argv, int is_method, int count, ...);
|
||||
void (*scheme_wrong_type)(const char *name, const char *expected, int which, int argc, Scheme_Object **argv);
|
||||
void (*scheme_wrong_contract)(const char *name, const char *expected, int which, int argc, Scheme_Object **argv);
|
||||
void (*scheme_wrong_field_type)(Scheme_Object *c_name, const char *expected, Scheme_Object *o);
|
||||
void (*scheme_wrong_field_contract)(Scheme_Object *c_name, const char *expected, Scheme_Object *o);
|
||||
void (*scheme_arg_mismatch)(const char *name, const char *msg, Scheme_Object *o);
|
||||
void (*scheme_contract_error)(const char *name, const char *msg, ...);
|
||||
void (*scheme_wrong_return_arity)(const char *where, int expected, int got, Scheme_Object **argv, const char *context_detail, ...);
|
||||
void (*scheme_unbound_global)(Scheme_Bucket *b);
|
||||
Scheme_Object *(*scheme_dynamic_wind)(void (*pre)(void *),
|
||||
Scheme_Object *(* volatile act)(void *),
|
||||
void (* volatile post)(void *),
|
||||
Scheme_Object *(*jmp_handler)(void *),
|
||||
void * volatile data);
|
||||
/*========================================================================*/
|
||||
/* types */
|
||||
/*========================================================================*/
|
||||
Scheme_Type (*scheme_make_type)(const char *name);
|
||||
char *(*scheme_get_type_name)(Scheme_Type type);
|
||||
char *(*scheme_get_type_name_or_null)(Scheme_Type type);
|
||||
/*========================================================================*/
|
||||
/* constants */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *scheme_eof;
|
||||
Scheme_Object *(*scheme_make_eof)(void);
|
||||
Scheme_Object *scheme_null;
|
||||
Scheme_Object *(*scheme_make_null)(void);
|
||||
Scheme_Object *scheme_true;
|
||||
Scheme_Object *(*scheme_make_true)(void);
|
||||
Scheme_Object *scheme_false;
|
||||
Scheme_Object *(*scheme_make_false)(void);
|
||||
Scheme_Object *scheme_void;
|
||||
Scheme_Object *(*scheme_make_void)(void);
|
||||
Scheme_Object *scheme_undefined;
|
||||
Scheme_Object *scheme_tail_call_waiting;
|
||||
Scheme_Object *scheme_multiple_values;
|
||||
unsigned short **scheme_uchar_table;
|
||||
unsigned char **scheme_uchar_cases_table;
|
||||
unsigned char **scheme_uchar_cats_table;
|
||||
int *scheme_uchar_ups;
|
||||
int *scheme_uchar_downs;
|
||||
int *scheme_uchar_titles;
|
||||
int *scheme_uchar_folds;
|
||||
unsigned char *scheme_uchar_combining_classes;
|
||||
void *scheme_on_demand_jit_code;
|
||||
/*========================================================================*/
|
||||
/* evaluation */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_eval)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_multi)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_with_prompt)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_multi_with_prompt)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_compiled)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_compiled_multi)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*_scheme_eval_compiled)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*_scheme_eval_compiled_multi)(Scheme_Object *obj, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_apply)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_apply_multi)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_apply_no_eb)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_apply_multi_no_eb)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_apply_to_list)(Scheme_Object *rator, Scheme_Object *argss);
|
||||
Scheme_Object *(*scheme_apply_with_prompt)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_apply_multi_with_prompt)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*_scheme_apply_with_prompt)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*_scheme_apply_multi_with_prompt)(Scheme_Object *rator, int num_rands, Scheme_Object **rands);
|
||||
Scheme_Object *(*scheme_eval_string)(const char *str, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_string_multi)(const char *str, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_string_all)(const char *str, Scheme_Env *env, int all);
|
||||
Scheme_Object *(*scheme_eval_string_with_prompt)(const char *str, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_string_multi_with_prompt)(const char *str, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_eval_string_all_with_prompt)(const char *str, Scheme_Env *env, int all);
|
||||
Scheme_Object *(*scheme_eval_all_with_prompt)(Scheme_Object *port, Scheme_Env *env, int all);
|
||||
Scheme_Object *(*scheme_eval_module_string)(const char *str, Scheme_Env *env);
|
||||
Scheme_Object *(*_scheme_apply_known_prim_closure)(Scheme_Object *rator, int argc,
|
||||
Scheme_Object **argv);
|
||||
Scheme_Object *(*_scheme_apply_known_prim_closure_multi)(Scheme_Object *rator, int argc,
|
||||
Scheme_Object **argv);
|
||||
Scheme_Object *(*_scheme_apply_prim_closure)(Scheme_Object *rator, int argc,
|
||||
Scheme_Object **argv);
|
||||
Scheme_Object *(*_scheme_apply_prim_closure_multi)(Scheme_Object *rator, int argc,
|
||||
Scheme_Object **argv);
|
||||
Scheme_Object **(*scheme_current_argument_stack)();
|
||||
Scheme_Object *(*scheme_call_with_prompt)(Scheme_Closed_Prim f, void *data);
|
||||
Scheme_Object *(*scheme_call_with_prompt_multi)(Scheme_Closed_Prim f, void *data);
|
||||
Scheme_Object *(*_scheme_call_with_prompt)(Scheme_Closed_Prim f, void *data);
|
||||
Scheme_Object *(*_scheme_call_with_prompt_multi)(Scheme_Closed_Prim f, void *data);
|
||||
Scheme_Object *(*scheme_values)(int c, Scheme_Object **v);
|
||||
Scheme_Object *(*scheme_check_one_value)(Scheme_Object *v);
|
||||
/* Tail calls - only use these when you're writing new functions/syntax */
|
||||
Scheme_Object *(*scheme_tail_apply)(Scheme_Object *f, int n, Scheme_Object **arg);
|
||||
Scheme_Object *(*scheme_tail_apply_no_copy)(Scheme_Object *f, int n, Scheme_Object **arg);
|
||||
Scheme_Object *(*scheme_tail_apply_to_list)(Scheme_Object *f, Scheme_Object *l);
|
||||
Scheme_Object *(*scheme_tail_eval_expr)(Scheme_Object *obj);
|
||||
void (*scheme_set_tail_buffer_size)(int s);
|
||||
Scheme_Object *(*scheme_force_value)(Scheme_Object *);
|
||||
Scheme_Object *(*scheme_force_one_value)(Scheme_Object *);
|
||||
void (*scheme_ignore_result)(Scheme_Object *);
|
||||
MZ_MARK_STACK_TYPE (*scheme_set_cont_mark)(Scheme_Object *key, Scheme_Object *val);
|
||||
void (*scheme_push_continuation_frame)(Scheme_Cont_Frame_Data *);
|
||||
void (*scheme_pop_continuation_frame)(Scheme_Cont_Frame_Data *);
|
||||
void (*scheme_temp_dec_mark_depth)();
|
||||
void (*scheme_temp_inc_mark_depth)();
|
||||
Scheme_Object *(*scheme_current_continuation_marks)(Scheme_Object *prompt_tag);
|
||||
Scheme_Object *(*scheme_extract_one_cc_mark)(Scheme_Object *mark_set,
|
||||
Scheme_Object *key);
|
||||
Scheme_Object *(*scheme_extract_one_cc_mark_to_tag)(Scheme_Object *mark_set,
|
||||
Scheme_Object *key,
|
||||
Scheme_Object *prompt_tag);
|
||||
/* Internal */
|
||||
Scheme_Object *(*scheme_do_eval)(Scheme_Object *obj, int _num_rands, Scheme_Object **rands, int val);
|
||||
void (*scheme_detach_multple_array)(Scheme_Object **a);
|
||||
/*========================================================================*/
|
||||
/* memory management */
|
||||
/*========================================================================*/
|
||||
/* The core allocator functions depend on the GC. Macros in scheme.h */
|
||||
/* map to the apporpriate core allocation function. */
|
||||
#ifndef SCHEME_NO_GC
|
||||
# ifndef SCHEME_NO_GC_PROTO
|
||||
void *(*GC_malloc)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_atomic)(size_t size_in_bytes);
|
||||
# ifdef MZ_PRECISE_GC
|
||||
void *(*GC_malloc_one_tagged)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_atomic_uncollectable)(size_t size_in_bytes);
|
||||
void *(*scheme_malloc_uncollectable)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_allow_interior)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_atomic_allow_interior)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_tagged_allow_interior)(size_t size_in_bytes);
|
||||
# else
|
||||
void *(*GC_malloc_stubborn)(size_t size_in_bytes);
|
||||
void *(*GC_malloc_uncollectable)(size_t size_in_bytes);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
void *(*scheme_malloc_code)(intptr_t size);
|
||||
void *(*scheme_malloc_permanent_code)(intptr_t size);
|
||||
void (*scheme_free_code)(void *p);
|
||||
#ifndef MZ_PRECISE_GC
|
||||
void *(*scheme_malloc_gcable_code)(intptr_t size);
|
||||
#endif
|
||||
void *(*scheme_malloc_eternal)(size_t n);
|
||||
void (*scheme_end_stubborn_change)(void *p);
|
||||
void *(*scheme_calloc)(size_t num, size_t size);
|
||||
char *(*scheme_strdup)(const char *str);
|
||||
char *(*scheme_strdup_eternal)(const char *str);
|
||||
void *(*scheme_malloc_fail_ok)(void *(*f)(size_t), size_t);
|
||||
#ifndef MZ_PRECISE_GC
|
||||
void (*scheme_late_weak_reference)(void **p);
|
||||
void (*scheme_late_weak_reference_indirect)(void **p, void *v);
|
||||
void (*scheme_weak_reference)(void **p);
|
||||
void (*scheme_weak_reference_indirect)(void **p, void *v);
|
||||
void (*scheme_unweak_reference)(void **p);
|
||||
#endif
|
||||
void (*scheme_add_finalizer)(void *p, void (*f)(void *p, void *data), void *data);
|
||||
void (*scheme_add_finalizer_once)(void *p, void (*f)(void *p, void *data), void *data);
|
||||
void (*scheme_subtract_finalizer)(void *p, void (*f)(void *p, void *data), void *data);
|
||||
void (*scheme_add_scheme_finalizer)(void *p, void (*f)(void *p, void *data), void *data);
|
||||
void (*scheme_add_scheme_finalizer_once)(void *p, void (*f)(void *p, void *data), void *data);
|
||||
void (*scheme_register_finalizer)(void *p,
|
||||
void (*f)(void *p, void *data), void *data,
|
||||
void (**oldf)(void *p, void *data),
|
||||
void **olddata);
|
||||
void (*scheme_remove_all_finalization)(void *p);
|
||||
void (*scheme_dont_gc_ptr)(void *p);
|
||||
void (*scheme_gc_ptr_ok)(void *p);
|
||||
void (*scheme_collect_garbage)(void);
|
||||
void (*scheme_collect_garbage_minor)(void);
|
||||
void (*scheme_enable_garbage_collection)(int on);
|
||||
void (*scheme_incremental_garbage_collection)(int on);
|
||||
#ifdef MZ_PRECISE_GC
|
||||
# ifndef USE_THREAD_LOCAL
|
||||
void **GC_variable_stack;
|
||||
# endif
|
||||
void (*GC_register_traversers)(short tag, Size_Proc size, Mark_Proc mark, Fixup_Proc fixup,
|
||||
int is_constant_size, int is_atomic);
|
||||
void *(*GC_resolve)(void *p);
|
||||
void (*GC_mark)(void *p);
|
||||
void (*GC_fixup)(void *p);
|
||||
void *(*GC_fixup_self)(void *p);
|
||||
#endif
|
||||
void **(*scheme_malloc_immobile_box)(void *p);
|
||||
void (*scheme_free_immobile_box)(void **b);
|
||||
Scheme_Object *(*scheme_add_gc_callback)(Scheme_Object *pre, Scheme_Object *post);
|
||||
void (*scheme_remove_gc_callback)(Scheme_Object *key);
|
||||
void (*scheme_register_type_gc_shape)(Scheme_Type type, intptr_t *shape_str);
|
||||
/*========================================================================*/
|
||||
/* hash tables */
|
||||
/*========================================================================*/
|
||||
Scheme_Bucket_Table *(*scheme_make_bucket_table)(intptr_t size_hint, int type);
|
||||
void (*scheme_add_to_table)(Scheme_Bucket_Table *table, const char *key, void *val, int);
|
||||
void (*scheme_change_in_table)(Scheme_Bucket_Table *table, const char *key, void *new_val);
|
||||
void *(*scheme_lookup_in_table)(Scheme_Bucket_Table *table, const char *key);
|
||||
Scheme_Bucket *(*scheme_bucket_from_table)(Scheme_Bucket_Table *table, const char *key);
|
||||
int (*scheme_bucket_table_equal)(Scheme_Bucket_Table *t1, Scheme_Bucket_Table *t2);
|
||||
Scheme_Bucket_Table *(*scheme_clone_bucket_table)(Scheme_Bucket_Table *bt);
|
||||
void (*scheme_clear_bucket_table)(Scheme_Bucket_Table *bt);
|
||||
int (*scheme_bucket_table_index)(Scheme_Bucket_Table *hash, mzlonglong pos, Scheme_Object **_key, Scheme_Object **_val);
|
||||
Scheme_Object *(*scheme_bucket_table_next)(Scheme_Bucket_Table *hash, mzlonglong start);
|
||||
Scheme_Hash_Table *(*scheme_make_hash_table)(int type);
|
||||
Scheme_Hash_Table *(*scheme_make_hash_table_equal)();
|
||||
Scheme_Hash_Table *(*scheme_make_hash_table_eqv)();
|
||||
void (*scheme_hash_set)(Scheme_Hash_Table *table, Scheme_Object *key, Scheme_Object *val);
|
||||
Scheme_Object *(*scheme_hash_get)(Scheme_Hash_Table *table, Scheme_Object *key);
|
||||
Scheme_Object *(*scheme_eq_hash_get)(Scheme_Hash_Table *table, Scheme_Object *key);
|
||||
void (*scheme_hash_set_atomic)(Scheme_Hash_Table *table, Scheme_Object *key, Scheme_Object *val);
|
||||
Scheme_Object *(*scheme_hash_get_atomic)(Scheme_Hash_Table *table, Scheme_Object *key);
|
||||
int (*scheme_hash_table_equal)(Scheme_Hash_Table *t1, Scheme_Hash_Table *t2);
|
||||
int (*scheme_is_hash_table_equal)(Scheme_Object *o);
|
||||
int (*scheme_is_hash_table_eqv)(Scheme_Object *o);
|
||||
Scheme_Hash_Table *(*scheme_clone_hash_table)(Scheme_Hash_Table *ht);
|
||||
void (*scheme_clear_hash_table)(Scheme_Hash_Table *ht);
|
||||
int (*scheme_hash_table_index)(Scheme_Hash_Table *hash, mzlonglong pos, Scheme_Object **_key, Scheme_Object **_val);
|
||||
Scheme_Object *(*scheme_hash_table_next)(Scheme_Hash_Table *hash, mzlonglong start);
|
||||
Scheme_Hash_Tree *(*scheme_make_hash_tree)(int kind);
|
||||
Scheme_Hash_Tree *(*scheme_hash_tree_set)(Scheme_Hash_Tree *tree, Scheme_Object *key, Scheme_Object *val);
|
||||
Scheme_Object *(*scheme_hash_tree_get)(Scheme_Hash_Tree *tree, Scheme_Object *key);
|
||||
Scheme_Object *(*scheme_eq_hash_tree_get)(Scheme_Hash_Tree *tree, Scheme_Object *key);
|
||||
mzlonglong (*scheme_hash_tree_next)(Scheme_Hash_Tree *tree, mzlonglong pos);
|
||||
int (*scheme_hash_tree_index)(Scheme_Hash_Tree *tree, mzlonglong pos, Scheme_Object **_key, Scheme_Object **_val);
|
||||
int (*scheme_hash_tree_equal)(Scheme_Hash_Tree *t1, Scheme_Hash_Tree *t2);
|
||||
int (*scheme_is_hash_tree_equal)(Scheme_Object *o);
|
||||
int (*scheme_is_hash_tree_eqv)(Scheme_Object *o);
|
||||
/*========================================================================*/
|
||||
/* basic Scheme value constructors */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_make_prim)(Scheme_Prim *prim);
|
||||
Scheme_Object *(*scheme_make_noneternal_prim)(Scheme_Prim *prim);
|
||||
Scheme_Object *(*scheme_make_prim_w_arity)(Scheme_Prim *prim, const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_folding_prim)(Scheme_Prim *prim,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa,
|
||||
short functional);
|
||||
Scheme_Object *(*scheme_make_immed_prim)(Scheme_Prim *prim,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_noncm_prim)(Scheme_Prim *prim,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_noneternal_prim_w_arity)(Scheme_Prim *prim,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_prim_w_everything)(Scheme_Prim *fun, int eternal,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa,
|
||||
int folding,
|
||||
mzshort minr, mzshort maxr);
|
||||
Scheme_Object *(*scheme_make_prim_closure_w_arity)(Scheme_Primitive_Closure_Proc *prim,
|
||||
int size, Scheme_Object **vals,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_folding_prim_closure)(Scheme_Primitive_Closure_Proc *prim,
|
||||
int size, Scheme_Object **vals,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa,
|
||||
short functional);
|
||||
Scheme_Object *(*scheme_make_closed_prim)(Scheme_Closed_Prim *prim, void *data);
|
||||
Scheme_Object *(*scheme_make_closed_prim_w_arity)(Scheme_Closed_Prim *prim,
|
||||
void *data, const char *name,
|
||||
mzshort mina, mzshort maxa);
|
||||
Scheme_Object *(*scheme_make_folding_closed_prim)(Scheme_Closed_Prim *prim,
|
||||
void *data, const char *name,
|
||||
mzshort mina, mzshort maxa,
|
||||
short functional);
|
||||
Scheme_Object *(*scheme_make_closed_prim_w_everything)(Scheme_Closed_Prim *fun,
|
||||
void *data,
|
||||
const char *name,
|
||||
mzshort mina, mzshort maxa,
|
||||
short folding,
|
||||
mzshort minr, mzshort maxr);
|
||||
void (*scheme_prim_is_method)(Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_make_pair)(Scheme_Object *car, Scheme_Object *cdr);
|
||||
Scheme_Object *(*scheme_make_mutable_pair)(Scheme_Object *car, Scheme_Object *cdr);
|
||||
Scheme_Object *(*scheme_make_list_pair)(Scheme_Object *car, Scheme_Object *cdr);
|
||||
Scheme_Object *(*scheme_make_raw_pair)(Scheme_Object *, Scheme_Object *);
|
||||
Scheme_Object *(*scheme_make_byte_string)(const char *chars);
|
||||
Scheme_Object *(*scheme_make_sized_byte_string)(char *chars, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_sized_offset_byte_string)(char *chars, intptr_t d, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_immutable_sized_byte_string)(char *chars, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_byte_string_without_copying)(char *chars);
|
||||
Scheme_Object *(*scheme_alloc_byte_string)(intptr_t size, char fill);
|
||||
Scheme_Object *(*scheme_append_byte_string)(Scheme_Object *, Scheme_Object *);
|
||||
Scheme_Object *(*scheme_make_utf8_string)(const char *chars);
|
||||
Scheme_Object *(*scheme_make_sized_utf8_string)(char *chars, intptr_t len);
|
||||
Scheme_Object *(*scheme_make_sized_offset_utf8_string)(char *chars, intptr_t d, intptr_t len);
|
||||
Scheme_Object *(*scheme_make_immutable_sized_utf8_string)(char *chars, intptr_t len);
|
||||
Scheme_Object *(*scheme_make_locale_string)(const char *chars);
|
||||
Scheme_Object *(*scheme_char_string_to_byte_string)(Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_byte_string_to_char_string)(Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_char_string_to_byte_string_locale)(Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_byte_string_to_char_string_locale)(Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_char_string_to_path)(Scheme_Object *p);
|
||||
Scheme_Object *(*scheme_path_to_char_string)(Scheme_Object *p);
|
||||
Scheme_Object *(*scheme_make_char_string)(const mzchar *chars);
|
||||
Scheme_Object *(*scheme_make_sized_char_string)(mzchar *chars, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_sized_offset_char_string)(mzchar *chars, intptr_t d, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_immutable_sized_char_string)(mzchar *chars, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_char_string_without_copying)(mzchar *chars);
|
||||
Scheme_Object *(*scheme_alloc_char_string)(intptr_t size, mzchar fill);
|
||||
Scheme_Object *(*scheme_append_char_string)(Scheme_Object *, Scheme_Object *);
|
||||
mzchar *(*scheme_string_recase)(mzchar *s, int d, int len, int mode, int inplace, int *_len);
|
||||
Scheme_Object *(*scheme_make_vector)(intptr_t size, Scheme_Object *fill);
|
||||
Scheme_Double_Vector *(*scheme_alloc_flvector)(intptr_t size);
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
Scheme_Long_Double_Vector *(*scheme_alloc_extflvector)(intptr_t size);
|
||||
#endif
|
||||
Scheme_Vector *(*scheme_alloc_fxvector)(intptr_t size);
|
||||
Scheme_Object *(*scheme_make_integer_value)(intptr_t i);
|
||||
Scheme_Object *(*scheme_make_integer_value_from_unsigned)(uintptr_t i);
|
||||
Scheme_Object *(*scheme_make_integer_value_from_long_long)(mzlonglong i);
|
||||
Scheme_Object *(*scheme_make_integer_value_from_unsigned_long_long)(umzlonglong i);
|
||||
Scheme_Object *(*scheme_make_integer_value_from_long_halves)(uintptr_t lowhalf, uintptr_t hihalf);
|
||||
Scheme_Object *(*scheme_make_integer_value_from_unsigned_long_halves)(uintptr_t lowhalf, uintptr_t hihalf);
|
||||
Scheme_Object *(*scheme_make_double)(double d);
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
Scheme_Object *(*scheme_make_long_double)(mz_long_double d);
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
Scheme_Object *(*scheme_make_float)(float f) ;
|
||||
#endif
|
||||
Scheme_Object *(*scheme_make_char)(mzchar ch);
|
||||
Scheme_Object *(*scheme_make_char_or_nul)(mzchar ch);
|
||||
Scheme_Object *(*scheme_make_sema)(intptr_t v);
|
||||
void (*scheme_post_sema)(Scheme_Object *o);
|
||||
void (*scheme_post_sema_all)(Scheme_Object *o);
|
||||
int (*scheme_wait_sema)(Scheme_Object *o, int just_try);
|
||||
int (*scheme_try_plain_sema)(Scheme_Object *o);
|
||||
Scheme_Object **scheme_char_constants;
|
||||
Scheme_Object *(*scheme_make_channel)();
|
||||
Scheme_Object *(*scheme_make_channel_put_evt)(Scheme_Object *ch, Scheme_Object *v);
|
||||
int (*scheme_get_int_val)(Scheme_Object *o, intptr_t *v);
|
||||
int (*scheme_get_unsigned_int_val)(Scheme_Object *o, uintptr_t *v);
|
||||
int (*scheme_get_long_long_val)(Scheme_Object *o, mzlonglong *v);
|
||||
int (*scheme_get_unsigned_long_long_val)(Scheme_Object *o, umzlonglong *v);
|
||||
double (*scheme_real_to_double)(Scheme_Object *r);
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
mz_long_double (*scheme_real_to_long_double)(Scheme_Object *r);
|
||||
#endif
|
||||
Scheme_Object *(*scheme_make_cptr)(void *cptr, Scheme_Object *typetag);
|
||||
Scheme_Object *(*scheme_make_offset_cptr)(void *cptr, intptr_t offset, Scheme_Object *typetag);
|
||||
Scheme_Object *(*scheme_make_external_cptr)(void *cptr, Scheme_Object *typetag);
|
||||
Scheme_Object *(*scheme_make_offset_external_cptr)(void *cptr, intptr_t offset, Scheme_Object *typetag);
|
||||
int (*scheme_is_cpointer)(Scheme_Object *cp);
|
||||
const char *(*scheme_get_proc_name)(Scheme_Object *p, int *len, int for_error);
|
||||
/*========================================================================*/
|
||||
/* strings */
|
||||
/*========================================================================*/
|
||||
intptr_t (*scheme_utf8_decode)(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
intptr_t (*scheme_utf8_decode_offset_prefix)(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
intptr_t (*scheme_utf8_decode_as_prefix)(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
unsigned int *us, intptr_t dstart, intptr_t dend,
|
||||
intptr_t *ipos, char utf16, int permissive);
|
||||
intptr_t (*scheme_utf8_decode_all)(const unsigned char *s, intptr_t len, unsigned int *us,
|
||||
int permissive);
|
||||
intptr_t (*scheme_utf8_decode_prefix)(const unsigned char *s, intptr_t len, unsigned int *us,
|
||||
int permissive);
|
||||
mzchar *(*scheme_utf8_decode_to_buffer)(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen);
|
||||
mzchar *(*scheme_utf8_decode_to_buffer_len)(const unsigned char *s, intptr_t len,
|
||||
mzchar *buf, intptr_t blen, intptr_t *rlen);
|
||||
intptr_t (*scheme_utf8_decode_count)(const unsigned char *s, intptr_t start, intptr_t end,
|
||||
int *_state, int might_continue, int permissive);
|
||||
intptr_t (*scheme_utf8_encode)(const unsigned int *us, intptr_t start, intptr_t end,
|
||||
unsigned char *s, intptr_t dstart,
|
||||
char utf16);
|
||||
intptr_t (*scheme_utf8_encode_all)(const unsigned int *us, intptr_t len, unsigned char *s);
|
||||
char *(*scheme_utf8_encode_to_buffer)(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen);
|
||||
char *(*scheme_utf8_encode_to_buffer_len)(const mzchar *s, intptr_t len,
|
||||
char *buf, intptr_t blen, intptr_t *rlen);
|
||||
unsigned short *(*scheme_ucs4_to_utf16)(const mzchar *text, intptr_t start, intptr_t end,
|
||||
unsigned short *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size);
|
||||
mzchar *(*scheme_utf16_to_ucs4)(const unsigned short *text, intptr_t start, intptr_t end,
|
||||
mzchar *buf, intptr_t bufsize,
|
||||
intptr_t *ulen, intptr_t term_size);
|
||||
Scheme_Object *(*scheme_open_converter)(const char *from_e, const char *to_e);
|
||||
void (*scheme_close_converter)(Scheme_Object *conv);
|
||||
char *(*scheme_getenv)(char *name);
|
||||
/*========================================================================*/
|
||||
/* bignums */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_make_bignum)(intptr_t v);
|
||||
Scheme_Object *(*scheme_make_bignum_from_unsigned)(uintptr_t v);
|
||||
Scheme_Object *(*scheme_make_bignum_from_long_long)(mzlonglong v);
|
||||
Scheme_Object *(*scheme_make_bignum_from_unsigned_long_long)(umzlonglong v);
|
||||
double (*scheme_bignum_to_double)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_bignum_from_double)(double d);
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
mz_long_double (*scheme_bignum_to_long_double)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_bignum_from_long_double)(mz_long_double d);
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
float (*scheme_bignum_to_float)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_bignum_from_float)(float d);
|
||||
#else
|
||||
# define scheme_bignum_to_float scheme_bignum_to_double
|
||||
# define scheme_bignum_from_float scheme_bignum_from_double
|
||||
#endif
|
||||
char *(*scheme_bignum_to_string)(const Scheme_Object *n, int radix);
|
||||
char *(*scheme_bignum_to_allocated_string)(const Scheme_Object *n, int radix, int alloc);
|
||||
Scheme_Object *(*scheme_read_bignum)(const mzchar *str, int offset, int radix);
|
||||
Scheme_Object *(*scheme_read_bignum_bytes)(const char *str, int offset, int radix);
|
||||
Scheme_Object *(*scheme_bignum_normalize)(const Scheme_Object *n);
|
||||
/*========================================================================*/
|
||||
/* rationals */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_make_rational)(const Scheme_Object *r, const Scheme_Object *d);
|
||||
double (*scheme_rational_to_double)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_rational_from_double)(double d);
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
mz_long_double (*scheme_rational_to_long_double)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_rational_from_long_double)(mz_long_double d);
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
float (*scheme_rational_to_float)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_rational_from_float)(float d);
|
||||
#else
|
||||
# define scheme_rational_to_float scheme_rational_to_double
|
||||
# define scheme_rational_from_float scheme_rational_from_double
|
||||
#endif
|
||||
Scheme_Object *(*scheme_rational_normalize)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_rational_numerator)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_rational_denominator)(const Scheme_Object *n);
|
||||
/*========================================================================*/
|
||||
/* complexes */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_make_complex)(const Scheme_Object *r, const Scheme_Object *i);
|
||||
Scheme_Object *(*scheme_complex_normalize)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_complex_real_part)(const Scheme_Object *n);
|
||||
Scheme_Object *(*scheme_complex_imaginary_part)(const Scheme_Object *n);
|
||||
/* Exact/inexact: */
|
||||
int (*scheme_is_exact)(const Scheme_Object *n);
|
||||
int (*scheme_is_inexact)(const Scheme_Object *n);
|
||||
/*========================================================================*/
|
||||
/* macros, syntax, and compilation */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_expand)(Scheme_Object *form, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_compile)(Scheme_Object *form, Scheme_Env *env, int writeable);
|
||||
/*========================================================================*/
|
||||
/* ports */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_read)(Scheme_Object *port);
|
||||
Scheme_Object *(*scheme_read_syntax)(Scheme_Object *port, Scheme_Object *stxsrc);
|
||||
void (*scheme_write)(Scheme_Object *obj, Scheme_Object *port);
|
||||
void (*scheme_print)(Scheme_Object *obj, Scheme_Object *port);
|
||||
void (*scheme_display)(Scheme_Object *obj, Scheme_Object *port);
|
||||
void (*scheme_write_w_max)(Scheme_Object *obj, Scheme_Object *port, intptr_t maxl);
|
||||
void (*scheme_display_w_max)(Scheme_Object *obj, Scheme_Object *port, intptr_t maxl);
|
||||
void (*scheme_print_w_max)(Scheme_Object *obj, Scheme_Object *port, intptr_t maxl);
|
||||
void (*scheme_write_byte_string)(const char *str, intptr_t len, Scheme_Object *port);
|
||||
void (*scheme_write_char_string)(const mzchar *str, intptr_t len, Scheme_Object *port);
|
||||
intptr_t (*scheme_put_byte_string)(const char *who, Scheme_Object *port,
|
||||
const char *str, intptr_t d, intptr_t len,
|
||||
int rarely_block);
|
||||
intptr_t (*scheme_put_char_string)(const char *who, Scheme_Object *port,
|
||||
const mzchar *str, intptr_t d, intptr_t len);
|
||||
char *(*scheme_write_to_string)(Scheme_Object *obj, intptr_t *len);
|
||||
char *(*scheme_display_to_string)(Scheme_Object *obj, intptr_t *len);
|
||||
char *(*scheme_print_to_string)(Scheme_Object *obj, intptr_t *len);
|
||||
char *(*scheme_write_to_string_w_max)(Scheme_Object *obj, intptr_t *len, intptr_t maxl);
|
||||
char *(*scheme_display_to_string_w_max)(Scheme_Object *obj, intptr_t *len, intptr_t maxl);
|
||||
char *(*scheme_print_to_string_w_max)(Scheme_Object *obj, intptr_t *len, intptr_t maxl);
|
||||
void (*scheme_debug_print)(Scheme_Object *obj);
|
||||
void (*scheme_flush_output)(Scheme_Object *port);
|
||||
char *(*scheme_format)(mzchar *format, int flen, int argc, Scheme_Object **argv, intptr_t *rlen);
|
||||
void (*scheme_printf)(mzchar *format, int flen, int argc, Scheme_Object **argv);
|
||||
char *(*scheme_format_utf8)(char *format, int flen, int argc, Scheme_Object **argv, intptr_t *rlen);
|
||||
void (*scheme_printf_utf8)(char *format, int flen, int argc, Scheme_Object **argv);
|
||||
int (*scheme_getc)(Scheme_Object *port);
|
||||
int (*scheme_get_byte)(Scheme_Object *port);
|
||||
int (*scheme_peekc)(Scheme_Object *port);
|
||||
int (*scheme_peek_byte)(Scheme_Object *port);
|
||||
int (*scheme_peekc_skip)(Scheme_Object *port, Scheme_Object *skip);
|
||||
int (*scheme_peek_byte_skip)(Scheme_Object *port, Scheme_Object *skip, Scheme_Object *unless_evt);
|
||||
int (*scheme_getc_special_ok)(Scheme_Object *port);
|
||||
int (*scheme_get_byte_special_ok)(Scheme_Object *port);
|
||||
int (*scheme_peekc_special_ok)(Scheme_Object *port);
|
||||
int (*scheme_peek_byte_special_ok_skip)(Scheme_Object *port, Scheme_Object *skip, Scheme_Object *unless_evt);
|
||||
int (*scheme_peekc_special_ok_skip)(Scheme_Object *port, Scheme_Object *skip);
|
||||
void (*scheme_ungetc)(int ch, Scheme_Object *port);
|
||||
int (*scheme_byte_ready)(Scheme_Object *port);
|
||||
int (*scheme_char_ready)(Scheme_Object *port);
|
||||
int (*scheme_peekc_is_ungetc)(Scheme_Object *port);
|
||||
void (*scheme_need_wakeup)(Scheme_Object *port, void *fds);
|
||||
intptr_t (*scheme_get_byte_string)(const char *who,
|
||||
Scheme_Object *port,
|
||||
char *buffer, intptr_t offset, intptr_t size,
|
||||
int only_avail,
|
||||
int peek, Scheme_Object *peek_skip);
|
||||
intptr_t (*scheme_get_byte_string_unless)(const char *who,
|
||||
Scheme_Object *port,
|
||||
char *buffer, intptr_t offset, intptr_t size,
|
||||
int only_avail,
|
||||
int peek, Scheme_Object *peek_skip,
|
||||
Scheme_Object *unless_evt);
|
||||
intptr_t (*scheme_get_byte_string_special_ok_unless)(const char *who,
|
||||
Scheme_Object *port,
|
||||
char *buffer, intptr_t offset, intptr_t size,
|
||||
int only_avail,
|
||||
int peek, Scheme_Object *peek_skip,
|
||||
Scheme_Object *unless_evt);
|
||||
Scheme_Object *(*scheme_progress_evt)(Scheme_Object *port);
|
||||
int (*scheme_peeked_read)(Scheme_Object *port,
|
||||
intptr_t size,
|
||||
Scheme_Object *unless_evt,
|
||||
Scheme_Object *target_evt);
|
||||
intptr_t (*scheme_get_char_string)(const char *who,
|
||||
Scheme_Object *port,
|
||||
mzchar *buffer, intptr_t offset, intptr_t size,
|
||||
int peek, Scheme_Object *peek_skip);
|
||||
intptr_t (*scheme_get_bytes)(Scheme_Object *port, intptr_t size, char *buffer, int offset);
|
||||
Scheme_Object *(*scheme_get_ready_special)(Scheme_Object *port, Scheme_Object *stxsrc, int peek);
|
||||
intptr_t (*scheme_tell)(Scheme_Object *port);
|
||||
intptr_t (*scheme_tell_can_redirect)(Scheme_Object *port, int not_via_loc);
|
||||
intptr_t (*scheme_output_tell)(Scheme_Object *port);
|
||||
intptr_t (*scheme_tell_line)(Scheme_Object *port);
|
||||
intptr_t (*scheme_tell_column)(Scheme_Object *port);
|
||||
void (*scheme_tell_all)(Scheme_Object *port, intptr_t *line, intptr_t *col, intptr_t *pos);
|
||||
void (*scheme_set_port_location)(int argc, Scheme_Object **argv);
|
||||
void (*scheme_count_lines)(Scheme_Object *port);
|
||||
void (*scheme_close_input_port)(Scheme_Object *port);
|
||||
void (*scheme_close_output_port)(Scheme_Object *port);
|
||||
Scheme_Object *(*scheme_write_special)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_write_special_nonblock)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_make_write_evt)(const char *who, Scheme_Object *port,
|
||||
Scheme_Object *special, char *str, intptr_t start, intptr_t size);
|
||||
Scheme_Port *(*scheme_port_record)(Scheme_Object *port);
|
||||
Scheme_Input_Port *(*scheme_input_port_record)(Scheme_Object *port);
|
||||
Scheme_Output_Port *(*scheme_output_port_record)(Scheme_Object *port);
|
||||
int (*scheme_is_input_port)(Scheme_Object *port);
|
||||
int (*scheme_is_output_port)(Scheme_Object *port);
|
||||
Scheme_Object *(*scheme_make_port_type)(const char *name);
|
||||
Scheme_Input_Port *(*scheme_make_input_port)(Scheme_Object *subtype, void *data,
|
||||
Scheme_Object *name,
|
||||
Scheme_Get_String_Fun get_byte_string_fun,
|
||||
Scheme_Peek_String_Fun peek_string_fun,
|
||||
Scheme_Progress_Evt_Fun progress_evt_fun,
|
||||
Scheme_Peeked_Read_Fun peeked_read_fun,
|
||||
Scheme_In_Ready_Fun byte_ready_fun,
|
||||
Scheme_Close_Input_Fun close_fun,
|
||||
Scheme_Need_Wakeup_Input_Fun need_wakeup_fun,
|
||||
int must_close);
|
||||
Scheme_Output_Port *(*scheme_make_output_port)(Scheme_Object *subtype, void *data,
|
||||
Scheme_Object *name,
|
||||
Scheme_Write_String_Evt_Fun write_byte_string_evt_fun,
|
||||
Scheme_Write_String_Fun write_byte_string_fun,
|
||||
Scheme_Out_Ready_Fun ready_fun,
|
||||
Scheme_Close_Output_Fun close_fun,
|
||||
Scheme_Need_Wakeup_Output_Fun need_wakeup_fun,
|
||||
Scheme_Write_Special_Evt_Fun write_special_evt_fun,
|
||||
Scheme_Write_Special_Fun write_special_fun,
|
||||
int must_close);
|
||||
void (*scheme_set_next_port_custodian)(Scheme_Custodian *c);
|
||||
void (*scheme_set_port_location_fun)(Scheme_Port *port,
|
||||
Scheme_Location_Fun location_fun);
|
||||
void (*scheme_set_port_count_lines_fun)(Scheme_Port *port,
|
||||
Scheme_Count_Lines_Fun count_lines_fun);
|
||||
void (*scheme_port_count_lines)(Scheme_Port *ip, const char *buffer,
|
||||
intptr_t offset, intptr_t got);
|
||||
Scheme_Object *(*scheme_progress_evt_via_get)(Scheme_Input_Port *port);
|
||||
int (*scheme_peeked_read_via_get)(Scheme_Input_Port *port,
|
||||
intptr_t size,
|
||||
Scheme_Object *unless_evt,
|
||||
Scheme_Object *target_ch);
|
||||
Scheme_Object *(*scheme_write_evt_via_write)(Scheme_Output_Port *port,
|
||||
const char *str, intptr_t offset, intptr_t size);
|
||||
Scheme_Object *(*scheme_write_special_evt_via_write_special)(Scheme_Output_Port *port,
|
||||
Scheme_Object *special);
|
||||
Scheme_Object *(*scheme_open_input_file)(const char *name, const char *who);
|
||||
Scheme_Object *(*scheme_open_output_file)(const char *name, const char *who);
|
||||
Scheme_Object *(*scheme_open_input_output_file)(const char *name, const char *who, Scheme_Object **oport);
|
||||
Scheme_Object *(*scheme_open_output_file_with_mode)(const char *name, const char *who, int text);
|
||||
Scheme_Object *(*scheme_make_file_input_port)(FILE *fp);
|
||||
Scheme_Object *(*scheme_make_named_file_input_port)(FILE *fp, Scheme_Object *name);
|
||||
Scheme_Object *(*scheme_make_file_output_port)(FILE *fp);
|
||||
Scheme_Object *(*scheme_make_fd_input_port)(int fd, Scheme_Object *name, int regfile, int win_textmode);
|
||||
Scheme_Object *(*scheme_make_fd_output_port)(int fd, Scheme_Object *name, int regfile, int win_textmode, int read_too);
|
||||
Scheme_Object *(*scheme_make_byte_string_input_port)(const char *str);
|
||||
Scheme_Object *(*scheme_make_sized_byte_string_input_port)(const char *str, intptr_t len);
|
||||
Scheme_Object *(*scheme_make_byte_string_output_port)();
|
||||
char *(*scheme_get_sized_byte_string_output)(Scheme_Object *port, intptr_t *len);
|
||||
char *(*scheme_get_reset_sized_byte_string_output)(Scheme_Object *port, intptr_t *len, int reset, intptr_t startpos, intptr_t endpos);
|
||||
void (*scheme_pipe)(Scheme_Object **read, Scheme_Object **write);
|
||||
void (*scheme_pipe_with_limit)(Scheme_Object **write, Scheme_Object **read, int maxsize);
|
||||
Scheme_Object *(*scheme_make_null_output_port)(int can_write_special);
|
||||
Scheme_Object *(*scheme_make_redirect_output_port)(Scheme_Object *port);
|
||||
intptr_t (*scheme_set_file_position)(Scheme_Object *port, intptr_t pos);
|
||||
int (*scheme_file_exists)(char *filename);
|
||||
int (*scheme_directory_exists)(char *dirname);
|
||||
char *(*scheme_expand_filename)(char* filename, int ilen, const char *errorin, int *ex, int guards);
|
||||
char *(*scheme_expand_user_filename)(char* filename, int ilen, const char *errorin, int *ex, int guards);
|
||||
char *(*scheme_expand_string_filename)(Scheme_Object *f, const char *errorin, int *ex, int guards);
|
||||
char *(*scheme_os_getcwd)(char *buf, size_t buflen, int *actlen, int noexn);
|
||||
int (*scheme_os_setcwd)(char *buf, int noexn);
|
||||
char *(*scheme_getdrive)(void);
|
||||
Scheme_Object *(*scheme_split_path)(const char *path, int len, Scheme_Object **base, int *isdir, int kind);
|
||||
Scheme_Object *(*scheme_build_path)(int argc, Scheme_Object **argv);
|
||||
Scheme_Object *(*scheme_path_to_directory_path)(Scheme_Object *p);
|
||||
Scheme_Object *(*scheme_path_to_complete_path)(Scheme_Object *path, Scheme_Object *relto_path);
|
||||
Scheme_Object *(*scheme_simplify_path)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_make_path)(const char *chars);
|
||||
Scheme_Object *(*scheme_make_sized_path)(char *chars, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_sized_offset_path)(char *chars, intptr_t d, intptr_t len, int copy);
|
||||
Scheme_Object *(*scheme_make_sized_offset_kind_path)(char *chars, intptr_t d, intptr_t len, int copy, int kind);
|
||||
Scheme_Object *(*scheme_make_path_without_copying)(char *chars);
|
||||
void *(*scheme_alloc_fdset_array)(int count, int permanent);
|
||||
void *(*scheme_init_fdset_array)(void *fdarray, int count);
|
||||
void *(*scheme_get_fdset)(void *fdarray, int pos);
|
||||
void (*scheme_fdzero)(void *fd);
|
||||
void (*scheme_fdset)(void *fd, int pos);
|
||||
void (*scheme_fdclr)(void *fd, int pos);
|
||||
int (*scheme_fdisset)(void *fd, int pos);
|
||||
void (*scheme_add_fd_handle)(void *h, void *fds, int repost);
|
||||
void (*scheme_add_fd_eventmask)(void *fds, int mask);
|
||||
void (*scheme_collapse_win_fd)(void *fds);
|
||||
void (*scheme_set_wakeup_time)(void *fds, double end_time);
|
||||
void (*scheme_security_check_file)(const char *who, const char *filename, int guards);
|
||||
void (*scheme_security_check_file_link)(const char *who, const char *filename, const char *content);
|
||||
void (*scheme_security_check_network)(const char *who, const char *host, int port, int client);
|
||||
struct mz_addrinfo *(*scheme_get_host_address)(const char *address, int id, int *err,
|
||||
int family, int passive, int tcp);
|
||||
void (*scheme_free_host_address)(struct mz_addrinfo *a);
|
||||
const char *(*scheme_host_address_strerror)(int errnum);
|
||||
void (*scheme_getnameinfo)(void *sa, int salen,
|
||||
char *host, int hostlen,
|
||||
char *serv, int servlen);
|
||||
int (*scheme_get_port_file_descriptor)(Scheme_Object *p, intptr_t *_fd);
|
||||
intptr_t (*scheme_get_port_fd)(Scheme_Object *p);
|
||||
int (*scheme_get_port_socket)(Scheme_Object *p, intptr_t *_s);
|
||||
void (*scheme_socket_to_ports)(intptr_t s, const char *name, int takeover,
|
||||
Scheme_Object **_inp, Scheme_Object **_outp);
|
||||
Scheme_Object *(*scheme_fd_to_semaphore)(intptr_t fd, int mode, int is_socket);
|
||||
void (*scheme_set_type_printer)(Scheme_Type stype, Scheme_Type_Printer printer);
|
||||
void (*scheme_print_bytes)(Scheme_Print_Params *pp, const char *str, int offset, int len);
|
||||
void (*scheme_print_utf8)(Scheme_Print_Params *pp, const char *str, int offset, int len);
|
||||
void (*scheme_print_string)(Scheme_Print_Params *pp, const mzchar *str, int offset, int len);
|
||||
Scheme_Object *(*scheme_read_byte_string)(Scheme_Object *port);
|
||||
/*========================================================================*/
|
||||
/* namespace/environment */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_make_namespace)(int argc, Scheme_Object *argv[]);
|
||||
void (*scheme_add_global)(const char *name, Scheme_Object *val, Scheme_Env *env);
|
||||
void (*scheme_add_global_symbol)(Scheme_Object *name, Scheme_Object *val,
|
||||
Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_make_envunbox)(Scheme_Object *value);
|
||||
Scheme_Object *(*scheme_lookup_global)(Scheme_Object *symbol, Scheme_Env *env);
|
||||
Scheme_Bucket *(*scheme_global_bucket)(Scheme_Object *symbol, Scheme_Env *env);
|
||||
Scheme_Bucket *(*scheme_module_bucket)(Scheme_Object *mod, Scheme_Object *var, int pos, Scheme_Env *env);
|
||||
Scheme_Object *(*scheme_builtin_value)(const char *name); /* convenience */
|
||||
void (*scheme_set_global_bucket)(char *proc, Scheme_Bucket *var, Scheme_Object *val,
|
||||
int set_undef);
|
||||
Scheme_Env *(*scheme_primitive_module)(Scheme_Object *name, Scheme_Env *for_env);
|
||||
void (*scheme_finish_primitive_module)(Scheme_Env *env);
|
||||
void (*scheme_set_primitive_module_phaseless)(Scheme_Env *env, int phaseless);
|
||||
void (*scheme_protect_primitive_provide)(Scheme_Env *env, Scheme_Object *name);
|
||||
Scheme_Object *(*scheme_make_modidx)(Scheme_Object *path,
|
||||
Scheme_Object *base,
|
||||
Scheme_Object *resolved);
|
||||
Scheme_Object *(*scheme_dynamic_require)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_dynamic_require_reader)(int argc, Scheme_Object *argv[]);
|
||||
Scheme_Object *(*scheme_namespace_require)(Scheme_Object *);
|
||||
int (*scheme_is_module_path)(Scheme_Object *);
|
||||
int (*scheme_is_module_path_index)(Scheme_Object *);
|
||||
int (*scheme_is_resolved_module_path)(Scheme_Object *);
|
||||
Scheme_Object *(*scheme_datum_to_kernel_stx)(Scheme_Object *e);
|
||||
int (*scheme_module_is_declared)(Scheme_Object *name, int try_load);
|
||||
/*========================================================================*/
|
||||
/* symbols */
|
||||
/*========================================================================*/
|
||||
Scheme_Object *(*scheme_intern_symbol)(const char *name);
|
||||
Scheme_Object *(*scheme_intern_exact_symbol)(const char *name, uintptr_t len);
|
||||
Scheme_Object *(*scheme_intern_exact_char_symbol)(const mzchar *name, uintptr_t len);
|
||||
Scheme_Object *(*scheme_make_symbol)(const char *name); /* Make uninterned */
|
||||
Scheme_Object *(*scheme_make_exact_symbol)(const char *name, uintptr_t len); /* Exact case */
|
||||
Scheme_Object *(*scheme_make_exact_char_symbol)(const mzchar *name, uintptr_t len); /* Exact case */
|
||||
const char *(*scheme_symbol_name)(Scheme_Object *sym);
|
||||
const char *(*scheme_symbol_name_and_size)(Scheme_Object *sym, uintptr_t *l, int flags);
|
||||
char *(*scheme_symbol_val)(Scheme_Object *sym);
|
||||
Scheme_Object *(*scheme_intern_exact_keyword)(const char *name, uintptr_t len);
|
||||
Scheme_Object *(*scheme_intern_exact_char_keyword)(const mzchar *name, uintptr_t len);
|
||||
/*========================================================================*/
|
||||
/* structs */
|
||||
/*========================================================================*/
|
||||
Scheme_Object **(*scheme_make_struct_values)(Scheme_Object *struct_type,
|
||||
Scheme_Object **names,
|
||||
int count, int flags);
|
||||
Scheme_Object **(*scheme_make_struct_names)(Scheme_Object *base,
|
||||
Scheme_Object *field_names,
|
||||
int flags, int *count_out);
|
||||
Scheme_Object *(*scheme_make_struct_type)(Scheme_Object *base,
|
||||
Scheme_Object *parent,
|
||||
Scheme_Object *inspector,
|
||||
int num_fields, int num_uninit_fields,
|
||||
Scheme_Object *uninit_val,
|
||||
Scheme_Object *properties,
|
||||
Scheme_Object *guard);
|
||||
Scheme_Object *(*scheme_make_struct_type2)(Scheme_Object *base,
|
||||
Scheme_Object *parent,
|
||||
Scheme_Object *inspector,
|
||||
int num_fields, int num_uninit_fields,
|
||||
Scheme_Object *uninit_val,
|
||||
Scheme_Object *proc_attr,
|
||||
Scheme_Object *properties,
|
||||
char *immutable_array,
|
||||
Scheme_Object *guard);
|
||||
Scheme_Object *(*scheme_make_struct_instance)(Scheme_Object *stype,
|
||||
int argc,
|
||||
Scheme_Object **argv);
|
||||
int (*scheme_is_struct_instance)(Scheme_Object *type, Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_struct_ref)(Scheme_Object *s, int pos);
|
||||
void (*scheme_struct_set)(Scheme_Object *s, int pos, Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_make_struct_type_property)(Scheme_Object *name);
|
||||
Scheme_Object *(*scheme_make_struct_type_property_w_guard)(Scheme_Object *name, Scheme_Object *guard);
|
||||
Scheme_Object *(*scheme_struct_type_property_ref)(Scheme_Object *prop, Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_chaperone_struct_type_property_ref)(Scheme_Object *prop, Scheme_Object *s);
|
||||
Scheme_Object *(*scheme_make_location)(Scheme_Object *src,
|
||||
Scheme_Object *line,
|
||||
Scheme_Object *col,
|
||||
Scheme_Object *pos,
|
||||
Scheme_Object *span);
|
||||
int (*scheme_is_location)(Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_make_inspector)(Scheme_Object *superior);
|
||||
int (*scheme_is_subinspector)(Scheme_Object *i, Scheme_Object *sup);
|
||||
/*========================================================================*/
|
||||
/* utilities */
|
||||
/*========================================================================*/
|
||||
int (*scheme_eq)(Scheme_Object *obj1, Scheme_Object *obj2);
|
||||
int (*scheme_eqv)(Scheme_Object *obj1, Scheme_Object *obj2);
|
||||
int (*scheme_equal)(Scheme_Object *obj1, Scheme_Object *obj2);
|
||||
int (*scheme_chaperone_of)(Scheme_Object *obj1, Scheme_Object *obj2);
|
||||
int (*scheme_impersonator_of)(Scheme_Object *obj1, Scheme_Object *obj2);
|
||||
#ifdef MZ_PRECISE_GC
|
||||
intptr_t (*scheme_hash_key)(Scheme_Object *o);
|
||||
#endif
|
||||
intptr_t (*scheme_equal_hash_key)(Scheme_Object *o);
|
||||
intptr_t (*scheme_equal_hash_key2)(Scheme_Object *o);
|
||||
intptr_t (*scheme_recur_equal_hash_key)(Scheme_Object *o, void *cycle_data);
|
||||
intptr_t (*scheme_recur_equal_hash_key2)(Scheme_Object *o, void *cycle_data);
|
||||
intptr_t (*scheme_eqv_hash_key)(Scheme_Object *o);
|
||||
intptr_t (*scheme_eqv_hash_key2)(Scheme_Object *o);
|
||||
void (*scheme_set_type_equality)(Scheme_Type type,
|
||||
Scheme_Equal_Proc f,
|
||||
Scheme_Primary_Hash_Proc hash1,
|
||||
Scheme_Secondary_Hash_Proc hash2);
|
||||
int (*scheme_recur_equal)(Scheme_Object *obj1, Scheme_Object *obj2, void *cycle_info);
|
||||
Scheme_Object *(*scheme_build_list)(int argc, Scheme_Object **argv);
|
||||
Scheme_Object *(*scheme_build_list_offset)(int argc, Scheme_Object **argv, int delta);
|
||||
int (*scheme_is_list)(Scheme_Object *obj1);
|
||||
int (*scheme_list_length)(Scheme_Object *list);
|
||||
int (*scheme_proper_list_length)(Scheme_Object *list);
|
||||
Scheme_Object *(*scheme_alloc_list)(int size);
|
||||
Scheme_Object *(*scheme_map_1)(Scheme_Object *(*f)(Scheme_Object*), Scheme_Object *l);
|
||||
Scheme_Object *(*scheme_car)(Scheme_Object *pair);
|
||||
Scheme_Object *(*scheme_cdr)(Scheme_Object *pair);
|
||||
Scheme_Object *(*scheme_cadr)(Scheme_Object *pair);
|
||||
Scheme_Object *(*scheme_caddr)(Scheme_Object *pair);
|
||||
Scheme_Object *(*scheme_vector_to_list)(Scheme_Object *vec);
|
||||
Scheme_Object *(*scheme_list_to_vector)(Scheme_Object *list);
|
||||
Scheme_Object *(*scheme_append)(Scheme_Object *lstx, Scheme_Object *lsty);
|
||||
Scheme_Object *(*scheme_reverse)(Scheme_Object *l);
|
||||
Scheme_Object *(*scheme_box)(Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_unbox)(Scheme_Object *obj);
|
||||
void (*scheme_set_box)(Scheme_Object *b, Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_make_weak_box)(Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_make_late_weak_box)(Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_make_ephemeron)(Scheme_Object *key, Scheme_Object *val);
|
||||
Scheme_Object *(*scheme_ephemeron_value)(Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_ephemeron_key)(Scheme_Object *o);
|
||||
Scheme_Object *(*scheme_make_late_will_executor)();
|
||||
Scheme_Object *(*scheme_load)(const char *file);
|
||||
Scheme_Object *(*scheme_load_extension)(const char *filename, Scheme_Env *env);
|
||||
void (*scheme_register_extension_global)(void *ptr, intptr_t size);
|
||||
intptr_t (*scheme_get_seconds)(void);
|
||||
uintptr_t (*scheme_get_milliseconds)(void);
|
||||
double (*scheme_get_inexact_milliseconds)(void);
|
||||
intptr_t (*scheme_get_process_milliseconds)(void);
|
||||
intptr_t (*scheme_get_process_children_milliseconds)(void);
|
||||
intptr_t (*scheme_get_thread_milliseconds)(Scheme_Object *thrd);
|
||||
char *(*scheme_banner)(void);
|
||||
char *(*scheme_version)(void);
|
||||
int (*scheme_check_proc_arity)(const char *where, int a,
|
||||
int which, int argc, Scheme_Object **argv);
|
||||
int (*scheme_check_proc_arity2)(const char *where, int a,
|
||||
int which, int argc, Scheme_Object **argv,
|
||||
int false_ok);
|
||||
char *(*scheme_make_provided_string)(Scheme_Object *o, int count, intptr_t *len);
|
||||
char *(*scheme_make_args_string)(const char *s, int which, int argc, Scheme_Object **argv, intptr_t *len);
|
||||
char *(*scheme_make_arg_lines_string)(const char *s, int which, int argc, Scheme_Object **argv, intptr_t *len);
|
||||
const char *(*scheme_system_library_subpath)();
|
||||
void (*scheme_signal_received)(void);
|
||||
void (*scheme_signal_received_at)(void *);
|
||||
void *(*scheme_get_signal_handle)();
|
||||
void (*scheme_wait_until_signal_received)(void);
|
||||
intptr_t (*scheme_char_strlen)(const mzchar *s);
|
||||
Scheme_Object *(*scheme_stx_extract_marks)(Scheme_Object *stx);
|
||||
int (*scheme_get_place_id)(void);
|
||||
Scheme_Hash_Table *(*scheme_get_place_table)(void);
|
||||
void *(*scheme_register_process_global)(const char *key, void *val);
|
||||
Scheme_Object *(*scheme_malloc_key)(void);
|
||||
void (*scheme_free_key)(Scheme_Object *k);
|
||||
void *(*scheme_jit_find_code_end)(void *p);
|
||||
void (*scheme_jit_now)(Scheme_Object *f);
|
||||
void (*scheme_set_signal_handler)(int sig_id, Scheme_Signal_Handler_Proc proc);
|
||||
#ifndef SCHEME_EX_INLINE
|
||||
} Scheme_Extension_Table;
|
||||
#endif
|
|
@ -1,730 +0,0 @@
|
|||
#define scheme_init_jmpup_buf (scheme_extension_table->scheme_init_jmpup_buf)
|
||||
#define scheme_setjmpup_relative (scheme_extension_table->scheme_setjmpup_relative)
|
||||
#define scheme_longjmpup (scheme_extension_table->scheme_longjmpup)
|
||||
#define scheme_reset_jmpup_buf (scheme_extension_table->scheme_reset_jmpup_buf)
|
||||
#ifdef USE_MZ_SETJMP
|
||||
#define scheme_get_mz_setjmp (scheme_extension_table->scheme_get_mz_setjmp)
|
||||
#define scheme_mz_setjmp (scheme_extension_table->scheme_mz_setjmp)
|
||||
#define scheme_mz_longjmp (scheme_extension_table->scheme_mz_longjmp)
|
||||
#endif
|
||||
#define scheme_clear_escape (scheme_extension_table->scheme_clear_escape)
|
||||
#define scheme_new_jmpupbuf_holder (scheme_extension_table->scheme_new_jmpupbuf_holder)
|
||||
#define scheme_current_config (scheme_extension_table->scheme_current_config)
|
||||
#define scheme_minimal_config (scheme_extension_table->scheme_minimal_config)
|
||||
#define scheme_extend_config (scheme_extension_table->scheme_extend_config)
|
||||
#define scheme_install_config (scheme_extension_table->scheme_install_config)
|
||||
#define scheme_get_param (scheme_extension_table->scheme_get_param)
|
||||
#define scheme_set_param (scheme_extension_table->scheme_set_param)
|
||||
#define scheme_get_thread_param (scheme_extension_table->scheme_get_thread_param)
|
||||
#define scheme_set_thread_param (scheme_extension_table->scheme_set_thread_param)
|
||||
#define scheme_get_env (scheme_extension_table->scheme_get_env)
|
||||
#define scheme_empty_cell_table (scheme_extension_table->scheme_empty_cell_table)
|
||||
#define scheme_inherit_cells (scheme_extension_table->scheme_inherit_cells)
|
||||
#define scheme_current_break_cell (scheme_extension_table->scheme_current_break_cell)
|
||||
#ifndef USE_THREAD_LOCAL
|
||||
# ifndef LINK_EXTENSIONS_BY_TABLE
|
||||
#define scheme_current_thread (scheme_extension_table->scheme_current_thread)
|
||||
#define scheme_fuel_counter (scheme_extension_table->scheme_fuel_counter)
|
||||
# else
|
||||
#define scheme_current_thread_ptr (scheme_extension_table->scheme_current_thread_ptr)
|
||||
#define scheme_fuel_counter_ptr (scheme_extension_table->scheme_fuel_counter_ptr)
|
||||
# endif
|
||||
#endif
|
||||
#define scheme_get_current_thread (scheme_extension_table->scheme_get_current_thread)
|
||||
#define scheme_is_atomic (scheme_extension_table->scheme_is_atomic)
|
||||
#define scheme_start_atomic (scheme_extension_table->scheme_start_atomic)
|
||||
#define scheme_end_atomic (scheme_extension_table->scheme_end_atomic)
|
||||
#define scheme_end_atomic_no_swap (scheme_extension_table->scheme_end_atomic_no_swap)
|
||||
#define scheme_start_in_scheduler (scheme_extension_table->scheme_start_in_scheduler)
|
||||
#define scheme_end_in_scheduler (scheme_extension_table->scheme_end_in_scheduler)
|
||||
#define scheme_start_atomic_no_break (scheme_extension_table->scheme_start_atomic_no_break)
|
||||
#define scheme_end_atomic_can_break (scheme_extension_table->scheme_end_atomic_can_break)
|
||||
#define scheme_out_of_fuel (scheme_extension_table->scheme_out_of_fuel)
|
||||
#define scheme_thread (scheme_extension_table->scheme_thread)
|
||||
#define scheme_thread_w_details (scheme_extension_table->scheme_thread_w_details)
|
||||
#define scheme_kill_thread (scheme_extension_table->scheme_kill_thread)
|
||||
#define scheme_break_thread (scheme_extension_table->scheme_break_thread)
|
||||
#define scheme_break_kind_thread (scheme_extension_table->scheme_break_kind_thread)
|
||||
#define scheme_break_main_thread (scheme_extension_table->scheme_break_main_thread)
|
||||
#define scheme_break_main_thread_at (scheme_extension_table->scheme_break_main_thread_at)
|
||||
#define scheme_break_kind_main_thread_at (scheme_extension_table->scheme_break_kind_main_thread_at)
|
||||
#define scheme_get_main_thread_break_handle (scheme_extension_table->scheme_get_main_thread_break_handle)
|
||||
#define scheme_set_break_main_target (scheme_extension_table->scheme_set_break_main_target)
|
||||
#define scheme_thread_block (scheme_extension_table->scheme_thread_block)
|
||||
#define scheme_thread_block_enable_break (scheme_extension_table->scheme_thread_block_enable_break)
|
||||
#define scheme_swap_thread (scheme_extension_table->scheme_swap_thread)
|
||||
#define scheme_making_progress (scheme_extension_table->scheme_making_progress)
|
||||
#define scheme_weak_suspend_thread (scheme_extension_table->scheme_weak_suspend_thread)
|
||||
#define scheme_weak_resume_thread (scheme_extension_table->scheme_weak_resume_thread)
|
||||
#define scheme_block_until (scheme_extension_table->scheme_block_until)
|
||||
#define scheme_block_until_enable_break (scheme_extension_table->scheme_block_until_enable_break)
|
||||
#define scheme_block_until_unless (scheme_extension_table->scheme_block_until_unless)
|
||||
#define scheme_wait_input_allowed (scheme_extension_table->scheme_wait_input_allowed)
|
||||
#define scheme_unless_ready (scheme_extension_table->scheme_unless_ready)
|
||||
#define scheme_in_main_thread (scheme_extension_table->scheme_in_main_thread)
|
||||
#define scheme_cancel_sleep (scheme_extension_table->scheme_cancel_sleep)
|
||||
#define scheme_start_sleeper_thread (scheme_extension_table->scheme_start_sleeper_thread)
|
||||
#define scheme_end_sleeper_thread (scheme_extension_table->scheme_end_sleeper_thread)
|
||||
#define scheme_set_place_sleep (scheme_extension_table->scheme_set_place_sleep)
|
||||
#define scheme_notify_sleep_progress (scheme_extension_table->scheme_notify_sleep_progress)
|
||||
#define scheme_make_thread_cell (scheme_extension_table->scheme_make_thread_cell)
|
||||
#define scheme_thread_cell_get (scheme_extension_table->scheme_thread_cell_get)
|
||||
#define scheme_thread_cell_set (scheme_extension_table->scheme_thread_cell_set)
|
||||
#define scheme_tls_allocate (scheme_extension_table->scheme_tls_allocate)
|
||||
#define scheme_tls_set (scheme_extension_table->scheme_tls_set)
|
||||
#define scheme_tls_get (scheme_extension_table->scheme_tls_get)
|
||||
#define scheme_make_custodian (scheme_extension_table->scheme_make_custodian)
|
||||
#define scheme_add_managed (scheme_extension_table->scheme_add_managed)
|
||||
#define scheme_add_managed_close_on_exit (scheme_extension_table->scheme_add_managed_close_on_exit)
|
||||
#define scheme_custodian_check_available (scheme_extension_table->scheme_custodian_check_available)
|
||||
#define scheme_custodian_is_available (scheme_extension_table->scheme_custodian_is_available)
|
||||
#define scheme_remove_managed (scheme_extension_table->scheme_remove_managed)
|
||||
#define scheme_close_managed (scheme_extension_table->scheme_close_managed)
|
||||
#define scheme_schedule_custodian_close (scheme_extension_table->scheme_schedule_custodian_close)
|
||||
#define scheme_add_custodian_extractor (scheme_extension_table->scheme_add_custodian_extractor)
|
||||
#define scheme_flush_managed (scheme_extension_table->scheme_flush_managed)
|
||||
#define scheme_add_flush (scheme_extension_table->scheme_add_flush)
|
||||
#define scheme_remove_flush (scheme_extension_table->scheme_remove_flush)
|
||||
#define scheme_add_atexit_closer (scheme_extension_table->scheme_add_atexit_closer)
|
||||
#define scheme_atexit (scheme_extension_table->scheme_atexit)
|
||||
#define scheme_add_evt (scheme_extension_table->scheme_add_evt)
|
||||
#define scheme_add_evt_through_sema (scheme_extension_table->scheme_add_evt_through_sema)
|
||||
#define scheme_is_evt (scheme_extension_table->scheme_is_evt)
|
||||
#define scheme_sync (scheme_extension_table->scheme_sync)
|
||||
#define scheme_sync_enable_break (scheme_extension_table->scheme_sync_enable_break)
|
||||
#define scheme_sync_timeout (scheme_extension_table->scheme_sync_timeout)
|
||||
#define scheme_make_evt_set (scheme_extension_table->scheme_make_evt_set)
|
||||
#define scheme_add_swap_callback (scheme_extension_table->scheme_add_swap_callback)
|
||||
#define scheme_add_swap_out_callback (scheme_extension_table->scheme_add_swap_out_callback)
|
||||
#define scheme_call_enable_break (scheme_extension_table->scheme_call_enable_break)
|
||||
#define scheme_close_should_force_port_closed (scheme_extension_table->scheme_close_should_force_port_closed)
|
||||
#define scheme_push_kill_action (scheme_extension_table->scheme_push_kill_action)
|
||||
#define scheme_pop_kill_action (scheme_extension_table->scheme_pop_kill_action)
|
||||
#define scheme_set_can_break (scheme_extension_table->scheme_set_can_break)
|
||||
#define scheme_push_break_enable (scheme_extension_table->scheme_push_break_enable)
|
||||
#define scheme_pop_break_enable (scheme_extension_table->scheme_pop_break_enable)
|
||||
#define scheme_abort_continuation_no_dws (scheme_extension_table->scheme_abort_continuation_no_dws)
|
||||
#define scheme_call_with_composable_no_dws (scheme_extension_table->scheme_call_with_composable_no_dws)
|
||||
#define scheme_set_on_atomic_timeout (scheme_extension_table->scheme_set_on_atomic_timeout)
|
||||
#define scheme_signal_error (scheme_extension_table->scheme_signal_error)
|
||||
#define scheme_raise_exn (scheme_extension_table->scheme_raise_exn)
|
||||
#define scheme_warning (scheme_extension_table->scheme_warning)
|
||||
#define scheme_raise (scheme_extension_table->scheme_raise)
|
||||
#define scheme_log_level_p (scheme_extension_table->scheme_log_level_p)
|
||||
#define scheme_log_level_topic_p (scheme_extension_table->scheme_log_level_topic_p)
|
||||
#define scheme_log (scheme_extension_table->scheme_log)
|
||||
#define scheme_log_w_data (scheme_extension_table->scheme_log_w_data)
|
||||
#define scheme_log_message (scheme_extension_table->scheme_log_message)
|
||||
#define scheme_log_name_message (scheme_extension_table->scheme_log_name_message)
|
||||
#define scheme_log_name_pfx_message (scheme_extension_table->scheme_log_name_pfx_message)
|
||||
#define scheme_log_abort (scheme_extension_table->scheme_log_abort)
|
||||
#define scheme_log_warning (scheme_extension_table->scheme_log_warning)
|
||||
#define scheme_glib_log_message (scheme_extension_table->scheme_glib_log_message)
|
||||
#define scheme_glib_log_message_test (scheme_extension_table->scheme_glib_log_message_test)
|
||||
#define scheme_out_of_memory_abort (scheme_extension_table->scheme_out_of_memory_abort)
|
||||
#define scheme_wrong_count (scheme_extension_table->scheme_wrong_count)
|
||||
#define scheme_wrong_count_m (scheme_extension_table->scheme_wrong_count_m)
|
||||
#define scheme_case_lambda_wrong_count (scheme_extension_table->scheme_case_lambda_wrong_count)
|
||||
#define scheme_wrong_type (scheme_extension_table->scheme_wrong_type)
|
||||
#define scheme_wrong_contract (scheme_extension_table->scheme_wrong_contract)
|
||||
#define scheme_wrong_field_type (scheme_extension_table->scheme_wrong_field_type)
|
||||
#define scheme_wrong_field_contract (scheme_extension_table->scheme_wrong_field_contract)
|
||||
#define scheme_arg_mismatch (scheme_extension_table->scheme_arg_mismatch)
|
||||
#define scheme_contract_error (scheme_extension_table->scheme_contract_error)
|
||||
#define scheme_wrong_return_arity (scheme_extension_table->scheme_wrong_return_arity)
|
||||
#define scheme_unbound_global (scheme_extension_table->scheme_unbound_global)
|
||||
#define scheme_dynamic_wind (scheme_extension_table->scheme_dynamic_wind)
|
||||
#define scheme_make_type (scheme_extension_table->scheme_make_type)
|
||||
#define scheme_get_type_name (scheme_extension_table->scheme_get_type_name)
|
||||
#define scheme_get_type_name_or_null (scheme_extension_table->scheme_get_type_name_or_null)
|
||||
#define scheme_eof (scheme_extension_table->scheme_eof)
|
||||
#define scheme_make_eof (scheme_extension_table->scheme_make_eof)
|
||||
#define scheme_null (scheme_extension_table->scheme_null)
|
||||
#define scheme_make_null (scheme_extension_table->scheme_make_null)
|
||||
#define scheme_true (scheme_extension_table->scheme_true)
|
||||
#define scheme_make_true (scheme_extension_table->scheme_make_true)
|
||||
#define scheme_false (scheme_extension_table->scheme_false)
|
||||
#define scheme_make_false (scheme_extension_table->scheme_make_false)
|
||||
#define scheme_void (scheme_extension_table->scheme_void)
|
||||
#define scheme_make_void (scheme_extension_table->scheme_make_void)
|
||||
#define scheme_undefined (scheme_extension_table->scheme_undefined)
|
||||
#define scheme_tail_call_waiting (scheme_extension_table->scheme_tail_call_waiting)
|
||||
#define scheme_multiple_values (scheme_extension_table->scheme_multiple_values)
|
||||
#define scheme_uchar_table (scheme_extension_table->scheme_uchar_table)
|
||||
#define scheme_uchar_cases_table (scheme_extension_table->scheme_uchar_cases_table)
|
||||
#define scheme_uchar_cats_table (scheme_extension_table->scheme_uchar_cats_table)
|
||||
#define scheme_uchar_ups (scheme_extension_table->scheme_uchar_ups)
|
||||
#define scheme_uchar_downs (scheme_extension_table->scheme_uchar_downs)
|
||||
#define scheme_uchar_titles (scheme_extension_table->scheme_uchar_titles)
|
||||
#define scheme_uchar_folds (scheme_extension_table->scheme_uchar_folds)
|
||||
#define scheme_uchar_combining_classes (scheme_extension_table->scheme_uchar_combining_classes)
|
||||
#define scheme_on_demand_jit_code (scheme_extension_table->scheme_on_demand_jit_code)
|
||||
#define scheme_eval (scheme_extension_table->scheme_eval)
|
||||
#define scheme_eval_multi (scheme_extension_table->scheme_eval_multi)
|
||||
#define scheme_eval_with_prompt (scheme_extension_table->scheme_eval_with_prompt)
|
||||
#define scheme_eval_multi_with_prompt (scheme_extension_table->scheme_eval_multi_with_prompt)
|
||||
#define scheme_eval_compiled (scheme_extension_table->scheme_eval_compiled)
|
||||
#define scheme_eval_compiled_multi (scheme_extension_table->scheme_eval_compiled_multi)
|
||||
#define _scheme_eval_compiled (scheme_extension_table->_scheme_eval_compiled)
|
||||
#define _scheme_eval_compiled_multi (scheme_extension_table->_scheme_eval_compiled_multi)
|
||||
#define scheme_apply (scheme_extension_table->scheme_apply)
|
||||
#define scheme_apply_multi (scheme_extension_table->scheme_apply_multi)
|
||||
#define scheme_apply_no_eb (scheme_extension_table->scheme_apply_no_eb)
|
||||
#define scheme_apply_multi_no_eb (scheme_extension_table->scheme_apply_multi_no_eb)
|
||||
#define scheme_apply_to_list (scheme_extension_table->scheme_apply_to_list)
|
||||
#define scheme_apply_with_prompt (scheme_extension_table->scheme_apply_with_prompt)
|
||||
#define scheme_apply_multi_with_prompt (scheme_extension_table->scheme_apply_multi_with_prompt)
|
||||
#define _scheme_apply_with_prompt (scheme_extension_table->_scheme_apply_with_prompt)
|
||||
#define _scheme_apply_multi_with_prompt (scheme_extension_table->_scheme_apply_multi_with_prompt)
|
||||
#define scheme_eval_string (scheme_extension_table->scheme_eval_string)
|
||||
#define scheme_eval_string_multi (scheme_extension_table->scheme_eval_string_multi)
|
||||
#define scheme_eval_string_all (scheme_extension_table->scheme_eval_string_all)
|
||||
#define scheme_eval_string_with_prompt (scheme_extension_table->scheme_eval_string_with_prompt)
|
||||
#define scheme_eval_string_multi_with_prompt (scheme_extension_table->scheme_eval_string_multi_with_prompt)
|
||||
#define scheme_eval_string_all_with_prompt (scheme_extension_table->scheme_eval_string_all_with_prompt)
|
||||
#define scheme_eval_all_with_prompt (scheme_extension_table->scheme_eval_all_with_prompt)
|
||||
#define scheme_eval_module_string (scheme_extension_table->scheme_eval_module_string)
|
||||
#define _scheme_apply_known_prim_closure (scheme_extension_table->_scheme_apply_known_prim_closure)
|
||||
#define _scheme_apply_known_prim_closure_multi (scheme_extension_table->_scheme_apply_known_prim_closure_multi)
|
||||
#define _scheme_apply_prim_closure (scheme_extension_table->_scheme_apply_prim_closure)
|
||||
#define _scheme_apply_prim_closure_multi (scheme_extension_table->_scheme_apply_prim_closure_multi)
|
||||
#define scheme_current_argument_stack (scheme_extension_table->scheme_current_argument_stack)
|
||||
#define scheme_call_with_prompt (scheme_extension_table->scheme_call_with_prompt)
|
||||
#define scheme_call_with_prompt_multi (scheme_extension_table->scheme_call_with_prompt_multi)
|
||||
#define _scheme_call_with_prompt (scheme_extension_table->_scheme_call_with_prompt)
|
||||
#define _scheme_call_with_prompt_multi (scheme_extension_table->_scheme_call_with_prompt_multi)
|
||||
#define scheme_values (scheme_extension_table->scheme_values)
|
||||
#define scheme_check_one_value (scheme_extension_table->scheme_check_one_value)
|
||||
#define scheme_tail_apply (scheme_extension_table->scheme_tail_apply)
|
||||
#define scheme_tail_apply_no_copy (scheme_extension_table->scheme_tail_apply_no_copy)
|
||||
#define scheme_tail_apply_to_list (scheme_extension_table->scheme_tail_apply_to_list)
|
||||
#define scheme_tail_eval_expr (scheme_extension_table->scheme_tail_eval_expr)
|
||||
#define scheme_set_tail_buffer_size (scheme_extension_table->scheme_set_tail_buffer_size)
|
||||
#define scheme_force_value (scheme_extension_table->scheme_force_value)
|
||||
#define scheme_force_one_value (scheme_extension_table->scheme_force_one_value)
|
||||
#define scheme_ignore_result (scheme_extension_table->scheme_ignore_result)
|
||||
#define scheme_set_cont_mark (scheme_extension_table->scheme_set_cont_mark)
|
||||
#define scheme_push_continuation_frame (scheme_extension_table->scheme_push_continuation_frame)
|
||||
#define scheme_pop_continuation_frame (scheme_extension_table->scheme_pop_continuation_frame)
|
||||
#define scheme_temp_dec_mark_depth (scheme_extension_table->scheme_temp_dec_mark_depth)
|
||||
#define scheme_temp_inc_mark_depth (scheme_extension_table->scheme_temp_inc_mark_depth)
|
||||
#define scheme_current_continuation_marks (scheme_extension_table->scheme_current_continuation_marks)
|
||||
#define scheme_extract_one_cc_mark (scheme_extension_table->scheme_extract_one_cc_mark)
|
||||
#define scheme_extract_one_cc_mark_to_tag (scheme_extension_table->scheme_extract_one_cc_mark_to_tag)
|
||||
#define scheme_do_eval (scheme_extension_table->scheme_do_eval)
|
||||
#define scheme_detach_multple_array (scheme_extension_table->scheme_detach_multple_array)
|
||||
#ifndef SCHEME_NO_GC
|
||||
# ifndef SCHEME_NO_GC_PROTO
|
||||
#define GC_malloc (scheme_extension_table->GC_malloc)
|
||||
#define GC_malloc_atomic (scheme_extension_table->GC_malloc_atomic)
|
||||
# ifdef MZ_PRECISE_GC
|
||||
#define GC_malloc_one_tagged (scheme_extension_table->GC_malloc_one_tagged)
|
||||
#define GC_malloc_atomic_uncollectable (scheme_extension_table->GC_malloc_atomic_uncollectable)
|
||||
#define scheme_malloc_uncollectable (scheme_extension_table->scheme_malloc_uncollectable)
|
||||
#define GC_malloc_allow_interior (scheme_extension_table->GC_malloc_allow_interior)
|
||||
#define GC_malloc_atomic_allow_interior (scheme_extension_table->GC_malloc_atomic_allow_interior)
|
||||
#define GC_malloc_tagged_allow_interior (scheme_extension_table->GC_malloc_tagged_allow_interior)
|
||||
# else
|
||||
#define GC_malloc_stubborn (scheme_extension_table->GC_malloc_stubborn)
|
||||
#define GC_malloc_uncollectable (scheme_extension_table->GC_malloc_uncollectable)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#define scheme_malloc_code (scheme_extension_table->scheme_malloc_code)
|
||||
#define scheme_malloc_permanent_code (scheme_extension_table->scheme_malloc_permanent_code)
|
||||
#define scheme_free_code (scheme_extension_table->scheme_free_code)
|
||||
#ifndef MZ_PRECISE_GC
|
||||
#define scheme_malloc_gcable_code (scheme_extension_table->scheme_malloc_gcable_code)
|
||||
#endif
|
||||
#define scheme_malloc_eternal (scheme_extension_table->scheme_malloc_eternal)
|
||||
#define scheme_end_stubborn_change (scheme_extension_table->scheme_end_stubborn_change)
|
||||
#define scheme_calloc (scheme_extension_table->scheme_calloc)
|
||||
#define scheme_strdup (scheme_extension_table->scheme_strdup)
|
||||
#define scheme_strdup_eternal (scheme_extension_table->scheme_strdup_eternal)
|
||||
#define scheme_malloc_fail_ok (scheme_extension_table->scheme_malloc_fail_ok)
|
||||
#ifndef MZ_PRECISE_GC
|
||||
#define scheme_late_weak_reference (scheme_extension_table->scheme_late_weak_reference)
|
||||
#define scheme_late_weak_reference_indirect (scheme_extension_table->scheme_late_weak_reference_indirect)
|
||||
#define scheme_weak_reference (scheme_extension_table->scheme_weak_reference)
|
||||
#define scheme_weak_reference_indirect (scheme_extension_table->scheme_weak_reference_indirect)
|
||||
#define scheme_unweak_reference (scheme_extension_table->scheme_unweak_reference)
|
||||
#endif
|
||||
#define scheme_add_finalizer (scheme_extension_table->scheme_add_finalizer)
|
||||
#define scheme_add_finalizer_once (scheme_extension_table->scheme_add_finalizer_once)
|
||||
#define scheme_subtract_finalizer (scheme_extension_table->scheme_subtract_finalizer)
|
||||
#define scheme_add_scheme_finalizer (scheme_extension_table->scheme_add_scheme_finalizer)
|
||||
#define scheme_add_scheme_finalizer_once (scheme_extension_table->scheme_add_scheme_finalizer_once)
|
||||
#define scheme_register_finalizer (scheme_extension_table->scheme_register_finalizer)
|
||||
#define scheme_remove_all_finalization (scheme_extension_table->scheme_remove_all_finalization)
|
||||
#define scheme_dont_gc_ptr (scheme_extension_table->scheme_dont_gc_ptr)
|
||||
#define scheme_gc_ptr_ok (scheme_extension_table->scheme_gc_ptr_ok)
|
||||
#define scheme_collect_garbage (scheme_extension_table->scheme_collect_garbage)
|
||||
#define scheme_collect_garbage_minor (scheme_extension_table->scheme_collect_garbage_minor)
|
||||
#define scheme_enable_garbage_collection (scheme_extension_table->scheme_enable_garbage_collection)
|
||||
#define scheme_incremental_garbage_collection (scheme_extension_table->scheme_incremental_garbage_collection)
|
||||
#ifdef MZ_PRECISE_GC
|
||||
# ifndef USE_THREAD_LOCAL
|
||||
#define GC_variable_stack (scheme_extension_table->GC_variable_stack)
|
||||
# endif
|
||||
#define GC_register_traversers (scheme_extension_table->GC_register_traversers)
|
||||
#define GC_resolve (scheme_extension_table->GC_resolve)
|
||||
#define GC_mark (scheme_extension_table->GC_mark)
|
||||
#define GC_fixup (scheme_extension_table->GC_fixup)
|
||||
#define GC_fixup_self (scheme_extension_table->GC_fixup_self)
|
||||
#endif
|
||||
#define scheme_malloc_immobile_box (scheme_extension_table->scheme_malloc_immobile_box)
|
||||
#define scheme_free_immobile_box (scheme_extension_table->scheme_free_immobile_box)
|
||||
#define scheme_add_gc_callback (scheme_extension_table->scheme_add_gc_callback)
|
||||
#define scheme_remove_gc_callback (scheme_extension_table->scheme_remove_gc_callback)
|
||||
#define scheme_register_type_gc_shape (scheme_extension_table->scheme_register_type_gc_shape)
|
||||
#define scheme_make_bucket_table (scheme_extension_table->scheme_make_bucket_table)
|
||||
#define scheme_add_to_table (scheme_extension_table->scheme_add_to_table)
|
||||
#define scheme_change_in_table (scheme_extension_table->scheme_change_in_table)
|
||||
#define scheme_lookup_in_table (scheme_extension_table->scheme_lookup_in_table)
|
||||
#define scheme_bucket_from_table (scheme_extension_table->scheme_bucket_from_table)
|
||||
#define scheme_bucket_table_equal (scheme_extension_table->scheme_bucket_table_equal)
|
||||
#define scheme_clone_bucket_table (scheme_extension_table->scheme_clone_bucket_table)
|
||||
#define scheme_clear_bucket_table (scheme_extension_table->scheme_clear_bucket_table)
|
||||
#define scheme_bucket_table_index (scheme_extension_table->scheme_bucket_table_index)
|
||||
#define scheme_bucket_table_next (scheme_extension_table->scheme_bucket_table_next)
|
||||
#define scheme_make_hash_table (scheme_extension_table->scheme_make_hash_table)
|
||||
#define scheme_make_hash_table_equal (scheme_extension_table->scheme_make_hash_table_equal)
|
||||
#define scheme_make_hash_table_eqv (scheme_extension_table->scheme_make_hash_table_eqv)
|
||||
#define scheme_hash_set (scheme_extension_table->scheme_hash_set)
|
||||
#define scheme_hash_get (scheme_extension_table->scheme_hash_get)
|
||||
#define scheme_eq_hash_get (scheme_extension_table->scheme_eq_hash_get)
|
||||
#define scheme_hash_set_atomic (scheme_extension_table->scheme_hash_set_atomic)
|
||||
#define scheme_hash_get_atomic (scheme_extension_table->scheme_hash_get_atomic)
|
||||
#define scheme_hash_table_equal (scheme_extension_table->scheme_hash_table_equal)
|
||||
#define scheme_is_hash_table_equal (scheme_extension_table->scheme_is_hash_table_equal)
|
||||
#define scheme_is_hash_table_eqv (scheme_extension_table->scheme_is_hash_table_eqv)
|
||||
#define scheme_clone_hash_table (scheme_extension_table->scheme_clone_hash_table)
|
||||
#define scheme_clear_hash_table (scheme_extension_table->scheme_clear_hash_table)
|
||||
#define scheme_hash_table_index (scheme_extension_table->scheme_hash_table_index)
|
||||
#define scheme_hash_table_next (scheme_extension_table->scheme_hash_table_next)
|
||||
#define scheme_make_hash_tree (scheme_extension_table->scheme_make_hash_tree)
|
||||
#define scheme_hash_tree_set (scheme_extension_table->scheme_hash_tree_set)
|
||||
#define scheme_hash_tree_get (scheme_extension_table->scheme_hash_tree_get)
|
||||
#define scheme_eq_hash_tree_get (scheme_extension_table->scheme_eq_hash_tree_get)
|
||||
#define scheme_hash_tree_next (scheme_extension_table->scheme_hash_tree_next)
|
||||
#define scheme_hash_tree_index (scheme_extension_table->scheme_hash_tree_index)
|
||||
#define scheme_hash_tree_equal (scheme_extension_table->scheme_hash_tree_equal)
|
||||
#define scheme_is_hash_tree_equal (scheme_extension_table->scheme_is_hash_tree_equal)
|
||||
#define scheme_is_hash_tree_eqv (scheme_extension_table->scheme_is_hash_tree_eqv)
|
||||
#define scheme_make_prim (scheme_extension_table->scheme_make_prim)
|
||||
#define scheme_make_noneternal_prim (scheme_extension_table->scheme_make_noneternal_prim)
|
||||
#define scheme_make_prim_w_arity (scheme_extension_table->scheme_make_prim_w_arity)
|
||||
#define scheme_make_folding_prim (scheme_extension_table->scheme_make_folding_prim)
|
||||
#define scheme_make_immed_prim (scheme_extension_table->scheme_make_immed_prim)
|
||||
#define scheme_make_noncm_prim (scheme_extension_table->scheme_make_noncm_prim)
|
||||
#define scheme_make_noneternal_prim_w_arity (scheme_extension_table->scheme_make_noneternal_prim_w_arity)
|
||||
#define scheme_make_prim_w_everything (scheme_extension_table->scheme_make_prim_w_everything)
|
||||
#define scheme_make_prim_closure_w_arity (scheme_extension_table->scheme_make_prim_closure_w_arity)
|
||||
#define scheme_make_folding_prim_closure (scheme_extension_table->scheme_make_folding_prim_closure)
|
||||
#define scheme_make_closed_prim (scheme_extension_table->scheme_make_closed_prim)
|
||||
#define scheme_make_closed_prim_w_arity (scheme_extension_table->scheme_make_closed_prim_w_arity)
|
||||
#define scheme_make_folding_closed_prim (scheme_extension_table->scheme_make_folding_closed_prim)
|
||||
#define scheme_make_closed_prim_w_everything (scheme_extension_table->scheme_make_closed_prim_w_everything)
|
||||
#define scheme_prim_is_method (scheme_extension_table->scheme_prim_is_method)
|
||||
#define scheme_make_pair (scheme_extension_table->scheme_make_pair)
|
||||
#define scheme_make_mutable_pair (scheme_extension_table->scheme_make_mutable_pair)
|
||||
#define scheme_make_list_pair (scheme_extension_table->scheme_make_list_pair)
|
||||
#define scheme_make_raw_pair (scheme_extension_table->scheme_make_raw_pair)
|
||||
#define scheme_make_byte_string (scheme_extension_table->scheme_make_byte_string)
|
||||
#define scheme_make_sized_byte_string (scheme_extension_table->scheme_make_sized_byte_string)
|
||||
#define scheme_make_sized_offset_byte_string (scheme_extension_table->scheme_make_sized_offset_byte_string)
|
||||
#define scheme_make_immutable_sized_byte_string (scheme_extension_table->scheme_make_immutable_sized_byte_string)
|
||||
#define scheme_make_byte_string_without_copying (scheme_extension_table->scheme_make_byte_string_without_copying)
|
||||
#define scheme_alloc_byte_string (scheme_extension_table->scheme_alloc_byte_string)
|
||||
#define scheme_append_byte_string (scheme_extension_table->scheme_append_byte_string)
|
||||
#define scheme_make_utf8_string (scheme_extension_table->scheme_make_utf8_string)
|
||||
#define scheme_make_sized_utf8_string (scheme_extension_table->scheme_make_sized_utf8_string)
|
||||
#define scheme_make_sized_offset_utf8_string (scheme_extension_table->scheme_make_sized_offset_utf8_string)
|
||||
#define scheme_make_immutable_sized_utf8_string (scheme_extension_table->scheme_make_immutable_sized_utf8_string)
|
||||
#define scheme_make_locale_string (scheme_extension_table->scheme_make_locale_string)
|
||||
#define scheme_char_string_to_byte_string (scheme_extension_table->scheme_char_string_to_byte_string)
|
||||
#define scheme_byte_string_to_char_string (scheme_extension_table->scheme_byte_string_to_char_string)
|
||||
#define scheme_char_string_to_byte_string_locale (scheme_extension_table->scheme_char_string_to_byte_string_locale)
|
||||
#define scheme_byte_string_to_char_string_locale (scheme_extension_table->scheme_byte_string_to_char_string_locale)
|
||||
#define scheme_char_string_to_path (scheme_extension_table->scheme_char_string_to_path)
|
||||
#define scheme_path_to_char_string (scheme_extension_table->scheme_path_to_char_string)
|
||||
#define scheme_make_char_string (scheme_extension_table->scheme_make_char_string)
|
||||
#define scheme_make_sized_char_string (scheme_extension_table->scheme_make_sized_char_string)
|
||||
#define scheme_make_sized_offset_char_string (scheme_extension_table->scheme_make_sized_offset_char_string)
|
||||
#define scheme_make_immutable_sized_char_string (scheme_extension_table->scheme_make_immutable_sized_char_string)
|
||||
#define scheme_make_char_string_without_copying (scheme_extension_table->scheme_make_char_string_without_copying)
|
||||
#define scheme_alloc_char_string (scheme_extension_table->scheme_alloc_char_string)
|
||||
#define scheme_append_char_string (scheme_extension_table->scheme_append_char_string)
|
||||
#define scheme_string_recase (scheme_extension_table->scheme_string_recase)
|
||||
#define scheme_make_vector (scheme_extension_table->scheme_make_vector)
|
||||
#define scheme_alloc_flvector (scheme_extension_table->scheme_alloc_flvector)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_alloc_extflvector (scheme_extension_table->scheme_alloc_extflvector)
|
||||
#endif
|
||||
#define scheme_alloc_fxvector (scheme_extension_table->scheme_alloc_fxvector)
|
||||
#define scheme_make_integer_value (scheme_extension_table->scheme_make_integer_value)
|
||||
#define scheme_make_integer_value_from_unsigned (scheme_extension_table->scheme_make_integer_value_from_unsigned)
|
||||
#define scheme_make_integer_value_from_long_long (scheme_extension_table->scheme_make_integer_value_from_long_long)
|
||||
#define scheme_make_integer_value_from_unsigned_long_long (scheme_extension_table->scheme_make_integer_value_from_unsigned_long_long)
|
||||
#define scheme_make_integer_value_from_long_halves (scheme_extension_table->scheme_make_integer_value_from_long_halves)
|
||||
#define scheme_make_integer_value_from_unsigned_long_halves (scheme_extension_table->scheme_make_integer_value_from_unsigned_long_halves)
|
||||
#define scheme_make_double (scheme_extension_table->scheme_make_double)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_make_long_double (scheme_extension_table->scheme_make_long_double)
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
#define scheme_make_float (scheme_extension_table->scheme_make_float)
|
||||
#endif
|
||||
#define scheme_make_char (scheme_extension_table->scheme_make_char)
|
||||
#define scheme_make_char_or_nul (scheme_extension_table->scheme_make_char_or_nul)
|
||||
#define scheme_make_sema (scheme_extension_table->scheme_make_sema)
|
||||
#define scheme_post_sema (scheme_extension_table->scheme_post_sema)
|
||||
#define scheme_post_sema_all (scheme_extension_table->scheme_post_sema_all)
|
||||
#define scheme_wait_sema (scheme_extension_table->scheme_wait_sema)
|
||||
#define scheme_try_plain_sema (scheme_extension_table->scheme_try_plain_sema)
|
||||
#define scheme_char_constants (scheme_extension_table->scheme_char_constants)
|
||||
#define scheme_make_channel (scheme_extension_table->scheme_make_channel)
|
||||
#define scheme_make_channel_put_evt (scheme_extension_table->scheme_make_channel_put_evt)
|
||||
#define scheme_get_int_val (scheme_extension_table->scheme_get_int_val)
|
||||
#define scheme_get_unsigned_int_val (scheme_extension_table->scheme_get_unsigned_int_val)
|
||||
#define scheme_get_long_long_val (scheme_extension_table->scheme_get_long_long_val)
|
||||
#define scheme_get_unsigned_long_long_val (scheme_extension_table->scheme_get_unsigned_long_long_val)
|
||||
#define scheme_real_to_double (scheme_extension_table->scheme_real_to_double)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_real_to_long_double (scheme_extension_table->scheme_real_to_long_double)
|
||||
#endif
|
||||
#define scheme_make_cptr (scheme_extension_table->scheme_make_cptr)
|
||||
#define scheme_make_offset_cptr (scheme_extension_table->scheme_make_offset_cptr)
|
||||
#define scheme_make_external_cptr (scheme_extension_table->scheme_make_external_cptr)
|
||||
#define scheme_make_offset_external_cptr (scheme_extension_table->scheme_make_offset_external_cptr)
|
||||
#define scheme_is_cpointer (scheme_extension_table->scheme_is_cpointer)
|
||||
#define scheme_get_proc_name (scheme_extension_table->scheme_get_proc_name)
|
||||
#define scheme_utf8_decode (scheme_extension_table->scheme_utf8_decode)
|
||||
#define scheme_utf8_decode_offset_prefix (scheme_extension_table->scheme_utf8_decode_offset_prefix)
|
||||
#define scheme_utf8_decode_as_prefix (scheme_extension_table->scheme_utf8_decode_as_prefix)
|
||||
#define scheme_utf8_decode_all (scheme_extension_table->scheme_utf8_decode_all)
|
||||
#define scheme_utf8_decode_prefix (scheme_extension_table->scheme_utf8_decode_prefix)
|
||||
#define scheme_utf8_decode_to_buffer (scheme_extension_table->scheme_utf8_decode_to_buffer)
|
||||
#define scheme_utf8_decode_to_buffer_len (scheme_extension_table->scheme_utf8_decode_to_buffer_len)
|
||||
#define scheme_utf8_decode_count (scheme_extension_table->scheme_utf8_decode_count)
|
||||
#define scheme_utf8_encode (scheme_extension_table->scheme_utf8_encode)
|
||||
#define scheme_utf8_encode_all (scheme_extension_table->scheme_utf8_encode_all)
|
||||
#define scheme_utf8_encode_to_buffer (scheme_extension_table->scheme_utf8_encode_to_buffer)
|
||||
#define scheme_utf8_encode_to_buffer_len (scheme_extension_table->scheme_utf8_encode_to_buffer_len)
|
||||
#define scheme_ucs4_to_utf16 (scheme_extension_table->scheme_ucs4_to_utf16)
|
||||
#define scheme_utf16_to_ucs4 (scheme_extension_table->scheme_utf16_to_ucs4)
|
||||
#define scheme_open_converter (scheme_extension_table->scheme_open_converter)
|
||||
#define scheme_close_converter (scheme_extension_table->scheme_close_converter)
|
||||
#define scheme_getenv (scheme_extension_table->scheme_getenv)
|
||||
#define scheme_make_bignum (scheme_extension_table->scheme_make_bignum)
|
||||
#define scheme_make_bignum_from_unsigned (scheme_extension_table->scheme_make_bignum_from_unsigned)
|
||||
#define scheme_make_bignum_from_long_long (scheme_extension_table->scheme_make_bignum_from_long_long)
|
||||
#define scheme_make_bignum_from_unsigned_long_long (scheme_extension_table->scheme_make_bignum_from_unsigned_long_long)
|
||||
#define scheme_bignum_to_double (scheme_extension_table->scheme_bignum_to_double)
|
||||
#define scheme_bignum_from_double (scheme_extension_table->scheme_bignum_from_double)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_bignum_to_long_double (scheme_extension_table->scheme_bignum_to_long_double)
|
||||
#define scheme_bignum_from_long_double (scheme_extension_table->scheme_bignum_from_long_double)
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
#define scheme_bignum_to_float (scheme_extension_table->scheme_bignum_to_float)
|
||||
#define scheme_bignum_from_float (scheme_extension_table->scheme_bignum_from_float)
|
||||
#else
|
||||
# define scheme_bignum_to_float scheme_bignum_to_double
|
||||
# define scheme_bignum_from_float scheme_bignum_from_double
|
||||
#endif
|
||||
#define scheme_bignum_to_string (scheme_extension_table->scheme_bignum_to_string)
|
||||
#define scheme_bignum_to_allocated_string (scheme_extension_table->scheme_bignum_to_allocated_string)
|
||||
#define scheme_read_bignum (scheme_extension_table->scheme_read_bignum)
|
||||
#define scheme_read_bignum_bytes (scheme_extension_table->scheme_read_bignum_bytes)
|
||||
#define scheme_bignum_normalize (scheme_extension_table->scheme_bignum_normalize)
|
||||
#define scheme_make_rational (scheme_extension_table->scheme_make_rational)
|
||||
#define scheme_rational_to_double (scheme_extension_table->scheme_rational_to_double)
|
||||
#define scheme_rational_from_double (scheme_extension_table->scheme_rational_from_double)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_rational_to_long_double (scheme_extension_table->scheme_rational_to_long_double)
|
||||
#define scheme_rational_from_long_double (scheme_extension_table->scheme_rational_from_long_double)
|
||||
#endif
|
||||
#ifdef MZ_USE_SINGLE_FLOATS
|
||||
#define scheme_rational_to_float (scheme_extension_table->scheme_rational_to_float)
|
||||
#define scheme_rational_from_float (scheme_extension_table->scheme_rational_from_float)
|
||||
#else
|
||||
# define scheme_rational_to_float scheme_rational_to_double
|
||||
# define scheme_rational_from_float scheme_rational_from_double
|
||||
#endif
|
||||
#define scheme_rational_normalize (scheme_extension_table->scheme_rational_normalize)
|
||||
#define scheme_rational_numerator (scheme_extension_table->scheme_rational_numerator)
|
||||
#define scheme_rational_denominator (scheme_extension_table->scheme_rational_denominator)
|
||||
#define scheme_make_complex (scheme_extension_table->scheme_make_complex)
|
||||
#define scheme_complex_normalize (scheme_extension_table->scheme_complex_normalize)
|
||||
#define scheme_complex_real_part (scheme_extension_table->scheme_complex_real_part)
|
||||
#define scheme_complex_imaginary_part (scheme_extension_table->scheme_complex_imaginary_part)
|
||||
#define scheme_is_exact (scheme_extension_table->scheme_is_exact)
|
||||
#define scheme_is_inexact (scheme_extension_table->scheme_is_inexact)
|
||||
#define scheme_expand (scheme_extension_table->scheme_expand)
|
||||
#define scheme_compile (scheme_extension_table->scheme_compile)
|
||||
#define scheme_read (scheme_extension_table->scheme_read)
|
||||
#define scheme_read_syntax (scheme_extension_table->scheme_read_syntax)
|
||||
#define scheme_write (scheme_extension_table->scheme_write)
|
||||
#define scheme_print (scheme_extension_table->scheme_print)
|
||||
#define scheme_display (scheme_extension_table->scheme_display)
|
||||
#define scheme_write_w_max (scheme_extension_table->scheme_write_w_max)
|
||||
#define scheme_display_w_max (scheme_extension_table->scheme_display_w_max)
|
||||
#define scheme_print_w_max (scheme_extension_table->scheme_print_w_max)
|
||||
#define scheme_write_byte_string (scheme_extension_table->scheme_write_byte_string)
|
||||
#define scheme_write_char_string (scheme_extension_table->scheme_write_char_string)
|
||||
#define scheme_put_byte_string (scheme_extension_table->scheme_put_byte_string)
|
||||
#define scheme_put_char_string (scheme_extension_table->scheme_put_char_string)
|
||||
#define scheme_write_to_string (scheme_extension_table->scheme_write_to_string)
|
||||
#define scheme_display_to_string (scheme_extension_table->scheme_display_to_string)
|
||||
#define scheme_print_to_string (scheme_extension_table->scheme_print_to_string)
|
||||
#define scheme_write_to_string_w_max (scheme_extension_table->scheme_write_to_string_w_max)
|
||||
#define scheme_display_to_string_w_max (scheme_extension_table->scheme_display_to_string_w_max)
|
||||
#define scheme_print_to_string_w_max (scheme_extension_table->scheme_print_to_string_w_max)
|
||||
#define scheme_debug_print (scheme_extension_table->scheme_debug_print)
|
||||
#define scheme_flush_output (scheme_extension_table->scheme_flush_output)
|
||||
#define scheme_format (scheme_extension_table->scheme_format)
|
||||
#define scheme_printf (scheme_extension_table->scheme_printf)
|
||||
#define scheme_format_utf8 (scheme_extension_table->scheme_format_utf8)
|
||||
#define scheme_printf_utf8 (scheme_extension_table->scheme_printf_utf8)
|
||||
#define scheme_getc (scheme_extension_table->scheme_getc)
|
||||
#define scheme_get_byte (scheme_extension_table->scheme_get_byte)
|
||||
#define scheme_peekc (scheme_extension_table->scheme_peekc)
|
||||
#define scheme_peek_byte (scheme_extension_table->scheme_peek_byte)
|
||||
#define scheme_peekc_skip (scheme_extension_table->scheme_peekc_skip)
|
||||
#define scheme_peek_byte_skip (scheme_extension_table->scheme_peek_byte_skip)
|
||||
#define scheme_getc_special_ok (scheme_extension_table->scheme_getc_special_ok)
|
||||
#define scheme_get_byte_special_ok (scheme_extension_table->scheme_get_byte_special_ok)
|
||||
#define scheme_peekc_special_ok (scheme_extension_table->scheme_peekc_special_ok)
|
||||
#define scheme_peek_byte_special_ok_skip (scheme_extension_table->scheme_peek_byte_special_ok_skip)
|
||||
#define scheme_peekc_special_ok_skip (scheme_extension_table->scheme_peekc_special_ok_skip)
|
||||
#define scheme_ungetc (scheme_extension_table->scheme_ungetc)
|
||||
#define scheme_byte_ready (scheme_extension_table->scheme_byte_ready)
|
||||
#define scheme_char_ready (scheme_extension_table->scheme_char_ready)
|
||||
#define scheme_peekc_is_ungetc (scheme_extension_table->scheme_peekc_is_ungetc)
|
||||
#define scheme_need_wakeup (scheme_extension_table->scheme_need_wakeup)
|
||||
#define scheme_get_byte_string (scheme_extension_table->scheme_get_byte_string)
|
||||
#define scheme_get_byte_string_unless (scheme_extension_table->scheme_get_byte_string_unless)
|
||||
#define scheme_get_byte_string_special_ok_unless (scheme_extension_table->scheme_get_byte_string_special_ok_unless)
|
||||
#define scheme_progress_evt (scheme_extension_table->scheme_progress_evt)
|
||||
#define scheme_peeked_read (scheme_extension_table->scheme_peeked_read)
|
||||
#define scheme_get_char_string (scheme_extension_table->scheme_get_char_string)
|
||||
#define scheme_get_bytes (scheme_extension_table->scheme_get_bytes)
|
||||
#define scheme_get_ready_special (scheme_extension_table->scheme_get_ready_special)
|
||||
#define scheme_tell (scheme_extension_table->scheme_tell)
|
||||
#define scheme_tell_can_redirect (scheme_extension_table->scheme_tell_can_redirect)
|
||||
#define scheme_output_tell (scheme_extension_table->scheme_output_tell)
|
||||
#define scheme_tell_line (scheme_extension_table->scheme_tell_line)
|
||||
#define scheme_tell_column (scheme_extension_table->scheme_tell_column)
|
||||
#define scheme_tell_all (scheme_extension_table->scheme_tell_all)
|
||||
#define scheme_set_port_location (scheme_extension_table->scheme_set_port_location)
|
||||
#define scheme_count_lines (scheme_extension_table->scheme_count_lines)
|
||||
#define scheme_close_input_port (scheme_extension_table->scheme_close_input_port)
|
||||
#define scheme_close_output_port (scheme_extension_table->scheme_close_output_port)
|
||||
#define scheme_write_special (scheme_extension_table->scheme_write_special)
|
||||
#define scheme_write_special_nonblock (scheme_extension_table->scheme_write_special_nonblock)
|
||||
#define scheme_make_write_evt (scheme_extension_table->scheme_make_write_evt)
|
||||
#define scheme_port_record (scheme_extension_table->scheme_port_record)
|
||||
#define scheme_input_port_record (scheme_extension_table->scheme_input_port_record)
|
||||
#define scheme_output_port_record (scheme_extension_table->scheme_output_port_record)
|
||||
#define scheme_is_input_port (scheme_extension_table->scheme_is_input_port)
|
||||
#define scheme_is_output_port (scheme_extension_table->scheme_is_output_port)
|
||||
#define scheme_make_port_type (scheme_extension_table->scheme_make_port_type)
|
||||
#define scheme_make_input_port (scheme_extension_table->scheme_make_input_port)
|
||||
#define scheme_make_output_port (scheme_extension_table->scheme_make_output_port)
|
||||
#define scheme_set_next_port_custodian (scheme_extension_table->scheme_set_next_port_custodian)
|
||||
#define scheme_set_port_location_fun (scheme_extension_table->scheme_set_port_location_fun)
|
||||
#define scheme_set_port_count_lines_fun (scheme_extension_table->scheme_set_port_count_lines_fun)
|
||||
#define scheme_port_count_lines (scheme_extension_table->scheme_port_count_lines)
|
||||
#define scheme_progress_evt_via_get (scheme_extension_table->scheme_progress_evt_via_get)
|
||||
#define scheme_peeked_read_via_get (scheme_extension_table->scheme_peeked_read_via_get)
|
||||
#define scheme_write_evt_via_write (scheme_extension_table->scheme_write_evt_via_write)
|
||||
#define scheme_write_special_evt_via_write_special (scheme_extension_table->scheme_write_special_evt_via_write_special)
|
||||
#define scheme_open_input_file (scheme_extension_table->scheme_open_input_file)
|
||||
#define scheme_open_output_file (scheme_extension_table->scheme_open_output_file)
|
||||
#define scheme_open_input_output_file (scheme_extension_table->scheme_open_input_output_file)
|
||||
#define scheme_open_output_file_with_mode (scheme_extension_table->scheme_open_output_file_with_mode)
|
||||
#define scheme_make_file_input_port (scheme_extension_table->scheme_make_file_input_port)
|
||||
#define scheme_make_named_file_input_port (scheme_extension_table->scheme_make_named_file_input_port)
|
||||
#define scheme_make_file_output_port (scheme_extension_table->scheme_make_file_output_port)
|
||||
#define scheme_make_fd_input_port (scheme_extension_table->scheme_make_fd_input_port)
|
||||
#define scheme_make_fd_output_port (scheme_extension_table->scheme_make_fd_output_port)
|
||||
#define scheme_make_byte_string_input_port (scheme_extension_table->scheme_make_byte_string_input_port)
|
||||
#define scheme_make_sized_byte_string_input_port (scheme_extension_table->scheme_make_sized_byte_string_input_port)
|
||||
#define scheme_make_byte_string_output_port (scheme_extension_table->scheme_make_byte_string_output_port)
|
||||
#define scheme_get_sized_byte_string_output (scheme_extension_table->scheme_get_sized_byte_string_output)
|
||||
#define scheme_get_reset_sized_byte_string_output (scheme_extension_table->scheme_get_reset_sized_byte_string_output)
|
||||
#define scheme_pipe (scheme_extension_table->scheme_pipe)
|
||||
#define scheme_pipe_with_limit (scheme_extension_table->scheme_pipe_with_limit)
|
||||
#define scheme_make_null_output_port (scheme_extension_table->scheme_make_null_output_port)
|
||||
#define scheme_make_redirect_output_port (scheme_extension_table->scheme_make_redirect_output_port)
|
||||
#define scheme_set_file_position (scheme_extension_table->scheme_set_file_position)
|
||||
#define scheme_file_exists (scheme_extension_table->scheme_file_exists)
|
||||
#define scheme_directory_exists (scheme_extension_table->scheme_directory_exists)
|
||||
#define scheme_expand_filename (scheme_extension_table->scheme_expand_filename)
|
||||
#define scheme_expand_user_filename (scheme_extension_table->scheme_expand_user_filename)
|
||||
#define scheme_expand_string_filename (scheme_extension_table->scheme_expand_string_filename)
|
||||
#define scheme_os_getcwd (scheme_extension_table->scheme_os_getcwd)
|
||||
#define scheme_os_setcwd (scheme_extension_table->scheme_os_setcwd)
|
||||
#define scheme_getdrive (scheme_extension_table->scheme_getdrive)
|
||||
#define scheme_split_path (scheme_extension_table->scheme_split_path)
|
||||
#define scheme_build_path (scheme_extension_table->scheme_build_path)
|
||||
#define scheme_path_to_directory_path (scheme_extension_table->scheme_path_to_directory_path)
|
||||
#define scheme_path_to_complete_path (scheme_extension_table->scheme_path_to_complete_path)
|
||||
#define scheme_simplify_path (scheme_extension_table->scheme_simplify_path)
|
||||
#define scheme_make_path (scheme_extension_table->scheme_make_path)
|
||||
#define scheme_make_sized_path (scheme_extension_table->scheme_make_sized_path)
|
||||
#define scheme_make_sized_offset_path (scheme_extension_table->scheme_make_sized_offset_path)
|
||||
#define scheme_make_sized_offset_kind_path (scheme_extension_table->scheme_make_sized_offset_kind_path)
|
||||
#define scheme_make_path_without_copying (scheme_extension_table->scheme_make_path_without_copying)
|
||||
#define scheme_alloc_fdset_array (scheme_extension_table->scheme_alloc_fdset_array)
|
||||
#define scheme_init_fdset_array (scheme_extension_table->scheme_init_fdset_array)
|
||||
#define scheme_get_fdset (scheme_extension_table->scheme_get_fdset)
|
||||
#define scheme_fdzero (scheme_extension_table->scheme_fdzero)
|
||||
#define scheme_fdset (scheme_extension_table->scheme_fdset)
|
||||
#define scheme_fdclr (scheme_extension_table->scheme_fdclr)
|
||||
#define scheme_fdisset (scheme_extension_table->scheme_fdisset)
|
||||
#define scheme_add_fd_handle (scheme_extension_table->scheme_add_fd_handle)
|
||||
#define scheme_add_fd_eventmask (scheme_extension_table->scheme_add_fd_eventmask)
|
||||
#define scheme_collapse_win_fd (scheme_extension_table->scheme_collapse_win_fd)
|
||||
#define scheme_set_wakeup_time (scheme_extension_table->scheme_set_wakeup_time)
|
||||
#define scheme_security_check_file (scheme_extension_table->scheme_security_check_file)
|
||||
#define scheme_security_check_file_link (scheme_extension_table->scheme_security_check_file_link)
|
||||
#define scheme_security_check_network (scheme_extension_table->scheme_security_check_network)
|
||||
#define scheme_get_host_address (scheme_extension_table->scheme_get_host_address)
|
||||
#define scheme_free_host_address (scheme_extension_table->scheme_free_host_address)
|
||||
#define scheme_host_address_strerror (scheme_extension_table->scheme_host_address_strerror)
|
||||
#define scheme_getnameinfo (scheme_extension_table->scheme_getnameinfo)
|
||||
#define scheme_get_port_file_descriptor (scheme_extension_table->scheme_get_port_file_descriptor)
|
||||
#define scheme_get_port_fd (scheme_extension_table->scheme_get_port_fd)
|
||||
#define scheme_get_port_socket (scheme_extension_table->scheme_get_port_socket)
|
||||
#define scheme_socket_to_ports (scheme_extension_table->scheme_socket_to_ports)
|
||||
#define scheme_fd_to_semaphore (scheme_extension_table->scheme_fd_to_semaphore)
|
||||
#define scheme_set_type_printer (scheme_extension_table->scheme_set_type_printer)
|
||||
#define scheme_print_bytes (scheme_extension_table->scheme_print_bytes)
|
||||
#define scheme_print_utf8 (scheme_extension_table->scheme_print_utf8)
|
||||
#define scheme_print_string (scheme_extension_table->scheme_print_string)
|
||||
#define scheme_read_byte_string (scheme_extension_table->scheme_read_byte_string)
|
||||
#define scheme_make_namespace (scheme_extension_table->scheme_make_namespace)
|
||||
#define scheme_add_global (scheme_extension_table->scheme_add_global)
|
||||
#define scheme_add_global_symbol (scheme_extension_table->scheme_add_global_symbol)
|
||||
#define scheme_make_envunbox (scheme_extension_table->scheme_make_envunbox)
|
||||
#define scheme_lookup_global (scheme_extension_table->scheme_lookup_global)
|
||||
#define scheme_global_bucket (scheme_extension_table->scheme_global_bucket)
|
||||
#define scheme_module_bucket (scheme_extension_table->scheme_module_bucket)
|
||||
#define scheme_builtin_value (scheme_extension_table->scheme_builtin_value)
|
||||
#define scheme_set_global_bucket (scheme_extension_table->scheme_set_global_bucket)
|
||||
#define scheme_primitive_module (scheme_extension_table->scheme_primitive_module)
|
||||
#define scheme_finish_primitive_module (scheme_extension_table->scheme_finish_primitive_module)
|
||||
#define scheme_set_primitive_module_phaseless (scheme_extension_table->scheme_set_primitive_module_phaseless)
|
||||
#define scheme_protect_primitive_provide (scheme_extension_table->scheme_protect_primitive_provide)
|
||||
#define scheme_make_modidx (scheme_extension_table->scheme_make_modidx)
|
||||
#define scheme_dynamic_require (scheme_extension_table->scheme_dynamic_require)
|
||||
#define scheme_dynamic_require_reader (scheme_extension_table->scheme_dynamic_require_reader)
|
||||
#define scheme_namespace_require (scheme_extension_table->scheme_namespace_require)
|
||||
#define scheme_is_module_path (scheme_extension_table->scheme_is_module_path)
|
||||
#define scheme_is_module_path_index (scheme_extension_table->scheme_is_module_path_index)
|
||||
#define scheme_is_resolved_module_path (scheme_extension_table->scheme_is_resolved_module_path)
|
||||
#define scheme_datum_to_kernel_stx (scheme_extension_table->scheme_datum_to_kernel_stx)
|
||||
#define scheme_module_is_declared (scheme_extension_table->scheme_module_is_declared)
|
||||
#define scheme_intern_symbol (scheme_extension_table->scheme_intern_symbol)
|
||||
#define scheme_intern_exact_symbol (scheme_extension_table->scheme_intern_exact_symbol)
|
||||
#define scheme_intern_exact_char_symbol (scheme_extension_table->scheme_intern_exact_char_symbol)
|
||||
#define scheme_make_symbol (scheme_extension_table->scheme_make_symbol)
|
||||
#define scheme_make_exact_symbol (scheme_extension_table->scheme_make_exact_symbol)
|
||||
#define scheme_make_exact_char_symbol (scheme_extension_table->scheme_make_exact_char_symbol)
|
||||
#define scheme_symbol_name (scheme_extension_table->scheme_symbol_name)
|
||||
#define scheme_symbol_name_and_size (scheme_extension_table->scheme_symbol_name_and_size)
|
||||
#define scheme_symbol_val (scheme_extension_table->scheme_symbol_val)
|
||||
#define scheme_intern_exact_keyword (scheme_extension_table->scheme_intern_exact_keyword)
|
||||
#define scheme_intern_exact_char_keyword (scheme_extension_table->scheme_intern_exact_char_keyword)
|
||||
#define scheme_make_struct_values (scheme_extension_table->scheme_make_struct_values)
|
||||
#define scheme_make_struct_names (scheme_extension_table->scheme_make_struct_names)
|
||||
#define scheme_make_struct_type (scheme_extension_table->scheme_make_struct_type)
|
||||
#define scheme_make_struct_type2 (scheme_extension_table->scheme_make_struct_type2)
|
||||
#define scheme_make_struct_instance (scheme_extension_table->scheme_make_struct_instance)
|
||||
#define scheme_is_struct_instance (scheme_extension_table->scheme_is_struct_instance)
|
||||
#define scheme_struct_ref (scheme_extension_table->scheme_struct_ref)
|
||||
#define scheme_struct_set (scheme_extension_table->scheme_struct_set)
|
||||
#define scheme_make_struct_type_property (scheme_extension_table->scheme_make_struct_type_property)
|
||||
#define scheme_make_struct_type_property_w_guard (scheme_extension_table->scheme_make_struct_type_property_w_guard)
|
||||
#define scheme_struct_type_property_ref (scheme_extension_table->scheme_struct_type_property_ref)
|
||||
#define scheme_chaperone_struct_type_property_ref (scheme_extension_table->scheme_chaperone_struct_type_property_ref)
|
||||
#define scheme_make_location (scheme_extension_table->scheme_make_location)
|
||||
#define scheme_is_location (scheme_extension_table->scheme_is_location)
|
||||
#define scheme_make_inspector (scheme_extension_table->scheme_make_inspector)
|
||||
#define scheme_is_subinspector (scheme_extension_table->scheme_is_subinspector)
|
||||
#define scheme_eq (scheme_extension_table->scheme_eq)
|
||||
#define scheme_eqv (scheme_extension_table->scheme_eqv)
|
||||
#define scheme_equal (scheme_extension_table->scheme_equal)
|
||||
#define scheme_chaperone_of (scheme_extension_table->scheme_chaperone_of)
|
||||
#define scheme_impersonator_of (scheme_extension_table->scheme_impersonator_of)
|
||||
#ifdef MZ_PRECISE_GC
|
||||
#define scheme_hash_key (scheme_extension_table->scheme_hash_key)
|
||||
#endif
|
||||
#define scheme_equal_hash_key (scheme_extension_table->scheme_equal_hash_key)
|
||||
#define scheme_equal_hash_key2 (scheme_extension_table->scheme_equal_hash_key2)
|
||||
#define scheme_recur_equal_hash_key (scheme_extension_table->scheme_recur_equal_hash_key)
|
||||
#define scheme_recur_equal_hash_key2 (scheme_extension_table->scheme_recur_equal_hash_key2)
|
||||
#define scheme_eqv_hash_key (scheme_extension_table->scheme_eqv_hash_key)
|
||||
#define scheme_eqv_hash_key2 (scheme_extension_table->scheme_eqv_hash_key2)
|
||||
#define scheme_set_type_equality (scheme_extension_table->scheme_set_type_equality)
|
||||
#define scheme_recur_equal (scheme_extension_table->scheme_recur_equal)
|
||||
#define scheme_build_list (scheme_extension_table->scheme_build_list)
|
||||
#define scheme_build_list_offset (scheme_extension_table->scheme_build_list_offset)
|
||||
#define scheme_is_list (scheme_extension_table->scheme_is_list)
|
||||
#define scheme_list_length (scheme_extension_table->scheme_list_length)
|
||||
#define scheme_proper_list_length (scheme_extension_table->scheme_proper_list_length)
|
||||
#define scheme_alloc_list (scheme_extension_table->scheme_alloc_list)
|
||||
#define scheme_map_1 (scheme_extension_table->scheme_map_1)
|
||||
#define scheme_car (scheme_extension_table->scheme_car)
|
||||
#define scheme_cdr (scheme_extension_table->scheme_cdr)
|
||||
#define scheme_cadr (scheme_extension_table->scheme_cadr)
|
||||
#define scheme_caddr (scheme_extension_table->scheme_caddr)
|
||||
#define scheme_vector_to_list (scheme_extension_table->scheme_vector_to_list)
|
||||
#define scheme_list_to_vector (scheme_extension_table->scheme_list_to_vector)
|
||||
#define scheme_append (scheme_extension_table->scheme_append)
|
||||
#define scheme_reverse (scheme_extension_table->scheme_reverse)
|
||||
#define scheme_box (scheme_extension_table->scheme_box)
|
||||
#define scheme_unbox (scheme_extension_table->scheme_unbox)
|
||||
#define scheme_set_box (scheme_extension_table->scheme_set_box)
|
||||
#define scheme_make_weak_box (scheme_extension_table->scheme_make_weak_box)
|
||||
#define scheme_make_late_weak_box (scheme_extension_table->scheme_make_late_weak_box)
|
||||
#define scheme_make_ephemeron (scheme_extension_table->scheme_make_ephemeron)
|
||||
#define scheme_ephemeron_value (scheme_extension_table->scheme_ephemeron_value)
|
||||
#define scheme_ephemeron_key (scheme_extension_table->scheme_ephemeron_key)
|
||||
#define scheme_make_late_will_executor (scheme_extension_table->scheme_make_late_will_executor)
|
||||
#define scheme_load (scheme_extension_table->scheme_load)
|
||||
#define scheme_load_extension (scheme_extension_table->scheme_load_extension)
|
||||
#define scheme_register_extension_global (scheme_extension_table->scheme_register_extension_global)
|
||||
#define scheme_get_seconds (scheme_extension_table->scheme_get_seconds)
|
||||
#define scheme_get_milliseconds (scheme_extension_table->scheme_get_milliseconds)
|
||||
#define scheme_get_inexact_milliseconds (scheme_extension_table->scheme_get_inexact_milliseconds)
|
||||
#define scheme_get_process_milliseconds (scheme_extension_table->scheme_get_process_milliseconds)
|
||||
#define scheme_get_process_children_milliseconds (scheme_extension_table->scheme_get_process_children_milliseconds)
|
||||
#define scheme_get_thread_milliseconds (scheme_extension_table->scheme_get_thread_milliseconds)
|
||||
#define scheme_banner (scheme_extension_table->scheme_banner)
|
||||
#define scheme_version (scheme_extension_table->scheme_version)
|
||||
#define scheme_check_proc_arity (scheme_extension_table->scheme_check_proc_arity)
|
||||
#define scheme_check_proc_arity2 (scheme_extension_table->scheme_check_proc_arity2)
|
||||
#define scheme_make_provided_string (scheme_extension_table->scheme_make_provided_string)
|
||||
#define scheme_make_args_string (scheme_extension_table->scheme_make_args_string)
|
||||
#define scheme_make_arg_lines_string (scheme_extension_table->scheme_make_arg_lines_string)
|
||||
#define scheme_system_library_subpath (scheme_extension_table->scheme_system_library_subpath)
|
||||
#define scheme_signal_received (scheme_extension_table->scheme_signal_received)
|
||||
#define scheme_signal_received_at (scheme_extension_table->scheme_signal_received_at)
|
||||
#define scheme_get_signal_handle (scheme_extension_table->scheme_get_signal_handle)
|
||||
#define scheme_wait_until_signal_received (scheme_extension_table->scheme_wait_until_signal_received)
|
||||
#define scheme_char_strlen (scheme_extension_table->scheme_char_strlen)
|
||||
#define scheme_stx_extract_marks (scheme_extension_table->scheme_stx_extract_marks)
|
||||
#define scheme_get_place_id (scheme_extension_table->scheme_get_place_id)
|
||||
#define scheme_get_place_table (scheme_extension_table->scheme_get_place_table)
|
||||
#define scheme_register_process_global (scheme_extension_table->scheme_register_process_global)
|
||||
#define scheme_malloc_key (scheme_extension_table->scheme_malloc_key)
|
||||
#define scheme_free_key (scheme_extension_table->scheme_free_key)
|
||||
#define scheme_jit_find_code_end (scheme_extension_table->scheme_jit_find_code_end)
|
||||
#define scheme_jit_now (scheme_extension_table->scheme_jit_now)
|
||||
#define scheme_set_signal_handler (scheme_extension_table->scheme_set_signal_handler)
|
||||
#ifdef MZ_PRECISE_GC
|
||||
#pragma GC_VARIABLE_STACK_THOUGH_TABLE
|
||||
#endif
|
|
@ -1,136 +0,0 @@
|
|||
/* This file was generated by makeexn */
|
||||
#ifndef _MZEXN_DEFINES
|
||||
#define _MZEXN_DEFINES
|
||||
enum {
|
||||
MZEXN,
|
||||
MZEXN_FAIL,
|
||||
MZEXN_FAIL_CONTRACT,
|
||||
MZEXN_FAIL_CONTRACT_ARITY,
|
||||
MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO,
|
||||
MZEXN_FAIL_CONTRACT_NON_FIXNUM_RESULT,
|
||||
MZEXN_FAIL_CONTRACT_CONTINUATION,
|
||||
MZEXN_FAIL_CONTRACT_VARIABLE,
|
||||
MZEXN_FAIL_READ,
|
||||
MZEXN_FAIL_READ_EOF,
|
||||
MZEXN_FAIL_READ_NON_CHAR,
|
||||
MZEXN_FAIL_FILESYSTEM,
|
||||
MZEXN_FAIL_FILESYSTEM_EXISTS,
|
||||
MZEXN_FAIL_FILESYSTEM_VERSION,
|
||||
MZEXN_FAIL_FILESYSTEM_ERRNO,
|
||||
MZEXN_FAIL_NETWORK,
|
||||
MZEXN_FAIL_NETWORK_ERRNO,
|
||||
MZEXN_FAIL_OUT_OF_MEMORY,
|
||||
MZEXN_FAIL_UNSUPPORTED,
|
||||
MZEXN_FAIL_USER,
|
||||
MZEXN_BREAK,
|
||||
MZEXN_BREAK_HANG_UP,
|
||||
MZEXN_BREAK_TERMINATE,
|
||||
MZEXN_OTHER
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_TABLE
|
||||
|
||||
#define MZEXN_MAXARGS 3
|
||||
|
||||
#ifdef GLOBAL_EXN_ARRAY
|
||||
static exn_rec exn_table[] = {
|
||||
{ 2, NULL, NULL, 0, NULL, -1 },
|
||||
{ 2, NULL, NULL, 0, NULL, 0 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 2, NULL, NULL, 0, NULL, 2 },
|
||||
{ 2, NULL, NULL, 0, NULL, 2 },
|
||||
{ 2, NULL, NULL, 0, NULL, 2 },
|
||||
{ 2, NULL, NULL, 0, NULL, 2 },
|
||||
{ 3, NULL, NULL, 0, NULL, 2 },
|
||||
{ 3, NULL, NULL, 0, NULL, 1 },
|
||||
{ 3, NULL, NULL, 0, NULL, 8 },
|
||||
{ 3, NULL, NULL, 0, NULL, 8 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 2, NULL, NULL, 0, NULL, 11 },
|
||||
{ 2, NULL, NULL, 0, NULL, 11 },
|
||||
{ 3, NULL, NULL, 0, NULL, 11 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 3, NULL, NULL, 0, NULL, 15 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 2, NULL, NULL, 0, NULL, 1 },
|
||||
{ 3, NULL, NULL, 0, NULL, 0 },
|
||||
{ 3, NULL, NULL, 0, NULL, 20 },
|
||||
{ 3, NULL, NULL, 0, NULL, 20 }
|
||||
};
|
||||
#else
|
||||
static exn_rec *exn_table;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_PRESETUP
|
||||
|
||||
#ifndef GLOBAL_EXN_ARRAY
|
||||
exn_table = (exn_rec *)scheme_malloc(sizeof(exn_rec) * MZEXN_OTHER);
|
||||
exn_table[MZEXN].args = 2;
|
||||
exn_table[MZEXN_FAIL].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT_ARITY].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT_NON_FIXNUM_RESULT].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT_CONTINUATION].args = 2;
|
||||
exn_table[MZEXN_FAIL_CONTRACT_VARIABLE].args = 3;
|
||||
exn_table[MZEXN_FAIL_READ].args = 3;
|
||||
exn_table[MZEXN_FAIL_READ_EOF].args = 3;
|
||||
exn_table[MZEXN_FAIL_READ_NON_CHAR].args = 3;
|
||||
exn_table[MZEXN_FAIL_FILESYSTEM].args = 2;
|
||||
exn_table[MZEXN_FAIL_FILESYSTEM_EXISTS].args = 2;
|
||||
exn_table[MZEXN_FAIL_FILESYSTEM_VERSION].args = 2;
|
||||
exn_table[MZEXN_FAIL_FILESYSTEM_ERRNO].args = 3;
|
||||
exn_table[MZEXN_FAIL_NETWORK].args = 2;
|
||||
exn_table[MZEXN_FAIL_NETWORK_ERRNO].args = 3;
|
||||
exn_table[MZEXN_FAIL_OUT_OF_MEMORY].args = 2;
|
||||
exn_table[MZEXN_FAIL_UNSUPPORTED].args = 2;
|
||||
exn_table[MZEXN_FAIL_USER].args = 2;
|
||||
exn_table[MZEXN_BREAK].args = 3;
|
||||
exn_table[MZEXN_BREAK_HANG_UP].args = 3;
|
||||
exn_table[MZEXN_BREAK_TERMINATE].args = 3;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_DECL_FIELDS
|
||||
static const char *MZEXN_FIELDS[2] = { "message", "continuation-marks" };
|
||||
static const char *MZEXN_FAIL_CONTRACT_VARIABLE_FIELDS[1] = { "id" };
|
||||
static const char *MZEXN_FAIL_READ_FIELDS[1] = { "srclocs" };
|
||||
static const char *MZEXN_FAIL_FILESYSTEM_ERRNO_FIELDS[1] = { "errno" };
|
||||
static const char *MZEXN_FAIL_NETWORK_ERRNO_FIELDS[1] = { "errno" };
|
||||
static const char *MZEXN_BREAK_FIELDS[1] = { "continuation" };
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_DECL_PROPS
|
||||
# define MZEXN_FAIL_READ_PROPS scheme_make_pair(scheme_make_pair(scheme_source_property, scheme_make_prim_w_arity(extract_read_locations, "extract_read_locations", 0, -1)), scheme_null)
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_SETUP
|
||||
SETUP_STRUCT(MZEXN, NULL, "exn", 2, MZEXN_FIELDS, scheme_null, scheme_make_prim_w_arity(exn_field_check, "exn_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_FAIL, EXN_PARENT(MZEXN), "exn:fail", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT, EXN_PARENT(MZEXN_FAIL), "exn:fail:contract", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT_ARITY, EXN_PARENT(MZEXN_FAIL_CONTRACT), "exn:fail:contract:arity", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT_DIVIDE_BY_ZERO, EXN_PARENT(MZEXN_FAIL_CONTRACT), "exn:fail:contract:divide-by-zero", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT_NON_FIXNUM_RESULT, EXN_PARENT(MZEXN_FAIL_CONTRACT), "exn:fail:contract:non-fixnum-result", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT_CONTINUATION, EXN_PARENT(MZEXN_FAIL_CONTRACT), "exn:fail:contract:continuation", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT_VARIABLE, EXN_PARENT(MZEXN_FAIL_CONTRACT), "exn:fail:contract:variable", 1, MZEXN_FAIL_CONTRACT_VARIABLE_FIELDS, scheme_null, scheme_make_prim_w_arity(variable_field_check, "variable_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_FAIL_READ, EXN_PARENT(MZEXN_FAIL), "exn:fail:read", 1, MZEXN_FAIL_READ_FIELDS, MZEXN_FAIL_READ_PROPS, scheme_make_prim_w_arity(read_field_check, "read_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_FAIL_READ_EOF, EXN_PARENT(MZEXN_FAIL_READ), "exn:fail:read:eof", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_READ_NON_CHAR, EXN_PARENT(MZEXN_FAIL_READ), "exn:fail:read:non-char", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_FILESYSTEM, EXN_PARENT(MZEXN_FAIL), "exn:fail:filesystem", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_FILESYSTEM_EXISTS, EXN_PARENT(MZEXN_FAIL_FILESYSTEM), "exn:fail:filesystem:exists", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_FILESYSTEM_VERSION, EXN_PARENT(MZEXN_FAIL_FILESYSTEM), "exn:fail:filesystem:version", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_FILESYSTEM_ERRNO, EXN_PARENT(MZEXN_FAIL_FILESYSTEM), "exn:fail:filesystem:errno", 1, MZEXN_FAIL_FILESYSTEM_ERRNO_FIELDS, scheme_null, scheme_make_prim_w_arity(errno_field_check, "errno_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_FAIL_NETWORK, EXN_PARENT(MZEXN_FAIL), "exn:fail:network", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_NETWORK_ERRNO, EXN_PARENT(MZEXN_FAIL_NETWORK), "exn:fail:network:errno", 1, MZEXN_FAIL_NETWORK_ERRNO_FIELDS, scheme_null, scheme_make_prim_w_arity(errno_field_check, "errno_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_FAIL_OUT_OF_MEMORY, EXN_PARENT(MZEXN_FAIL), "exn:fail:out-of-memory", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_UNSUPPORTED, EXN_PARENT(MZEXN_FAIL), "exn:fail:unsupported", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_USER, EXN_PARENT(MZEXN_FAIL), "exn:fail:user", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_BREAK, EXN_PARENT(MZEXN), "exn:break", 1, MZEXN_BREAK_FIELDS, scheme_null, scheme_make_prim_w_arity(break_field_check, "break_field_check" , 0, -1))
|
||||
SETUP_STRUCT(MZEXN_BREAK_HANG_UP, EXN_PARENT(MZEXN_BREAK), "exn:break:hang-up", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_BREAK_TERMINATE, EXN_PARENT(MZEXN_BREAK), "exn:break:terminate", 0, NULL, scheme_null, NULL)
|
||||
#endif
|
|
@ -1,37 +0,0 @@
|
|||
#ifndef GC2_OBJHEAD_H
|
||||
#define GC2_OBJHEAD_H
|
||||
|
||||
#if defined(MZ_PRECISE_GC) && !defined(USE_COMPACT_3M_GC)
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN32__) || defined(MZ_USE_LARGE_PAGE_SIZE)
|
||||
# define LOG_APAGE_SIZE 16
|
||||
#else
|
||||
# define LOG_APAGE_SIZE 14
|
||||
#endif
|
||||
typedef struct objhead {
|
||||
/* the type and size of the object */
|
||||
uintptr_t type : 3; /* if `moved`, then non-0 means moved to gen 1/2 */
|
||||
/* these are the various mark bits we use */
|
||||
uintptr_t mark : 1;
|
||||
uintptr_t btc_mark : 1;
|
||||
/* these are used for compaction et al*/
|
||||
uintptr_t moved : 1;
|
||||
uintptr_t dead : 1;
|
||||
uintptr_t size : LOG_APAGE_SIZE;
|
||||
/* leftover bits are used for hashing: */
|
||||
uintptr_t hash : ((8 * sizeof(intptr_t)) - (4+3+LOG_APAGE_SIZE) );
|
||||
} objhead;
|
||||
|
||||
#define OBJHEAD_SIZE (sizeof(objhead))
|
||||
#define OBJPTR_TO_OBJHEAD(p) ((objhead *) (((char *)(p)) - OBJHEAD_SIZE))
|
||||
#define OBJHEAD_TO_OBJPTR(p) ((void *) (((char *)(p)) + OBJHEAD_SIZE))
|
||||
|
||||
|
||||
XFORM_NONGCING extern int GC_is_allocated(void *p);
|
||||
|
||||
#define OBJHEAD_HAS_HASH_BITS
|
||||
#define OBJHEAD_HASH_BITS(p) (OBJPTR_TO_OBJHEAD(p)->hash)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,769 +0,0 @@
|
|||
|
||||
/* Implements thread-local variables, which are all combined into one
|
||||
big table.
|
||||
|
||||
When thread-local variables are not needed, this file doesn't
|
||||
declare them. Instead, declarations marked with
|
||||
THREAD_LOCAL_DECL() are used.
|
||||
|
||||
When thread-local variables are needed, then THREAD_LOCAL_DECL()
|
||||
expands to nothing, and this file defines each thread-local variable
|
||||
as a field in one big record. The record is accessed through a single
|
||||
thread-local variable or through pthread_getspecific().
|
||||
|
||||
Choose the names of thread-local variables carefully. The names are
|
||||
globally visible, and macros to redirect uses of thread-local
|
||||
variables can create trouble and poor error messages from the C
|
||||
compiler if the same name is used for a local variable. */
|
||||
|
||||
#ifndef SCHEME_THREADLOCAL_H
|
||||
#define SCHEME_THREADLOCAL_H
|
||||
|
||||
#include "mzconfig.h"
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
#if defined(MZ_USE_PLACES) || defined(MZ_USE_FUTURES)
|
||||
# define USE_THREAD_LOCAL
|
||||
# ifdef _WIN32
|
||||
# if defined(_WIN64)
|
||||
# if defined(__MINGW32__)
|
||||
# define THREAD_LOCAL /* empty */
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS
|
||||
# else
|
||||
# define THREAD_LOCAL __declspec(thread)
|
||||
# define MZ_THREAD_EXTERN extern
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_OFFSET
|
||||
# define IMPLEMENT_THREAD_LOCAL_EXTERNALLY_VIA_PROC
|
||||
# endif
|
||||
# else
|
||||
# define THREAD_LOCAL /* empty */
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS
|
||||
# endif
|
||||
# elif (defined(__APPLE__) && defined(__MACH__)) || defined(GC2_PLACES_TESTING)
|
||||
# define IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS
|
||||
# if defined(__x86_64__) || defined(__i386__)
|
||||
# define INLINE_GETSPECIFIC_ASSEMBLY_CODE
|
||||
# endif
|
||||
# else
|
||||
# define THREAD_LOCAL __thread
|
||||
# endif
|
||||
#else
|
||||
# define THREAD_LOCAL /* empty */
|
||||
#endif
|
||||
|
||||
/* Set up MZ_EXTERN for DLL build */
|
||||
#if (defined(__WIN32__) || defined(WIN32) || defined(_WIN32) || defined(__CYGWIN32__)) \
|
||||
&& !defined(LINK_EXTENSIONS_BY_TABLE) \
|
||||
&& !defined(SCHEME_EMBEDDED_NO_DLL)
|
||||
# define MZ_DLLIMPORT __declspec(dllimport)
|
||||
# define MZ_DLLEXPORT __declspec(dllexport)
|
||||
# if (defined(__mzscheme_private__) || defined(__MINGW32_DELAY_LOAD__) \
|
||||
|| defined(MZ_NO_LIBRACKET_DLL) \
|
||||
|| (defined(__CYGWIN32__) && !defined(MZ_USES_SHARED_LIB)))
|
||||
# define MZ_DLLSPEC __declspec(dllexport)
|
||||
# else
|
||||
# define MZ_DLLSPEC __declspec(dllimport)
|
||||
# endif
|
||||
# if (defined(__CYGWIN32__) && !defined(MZ_USES_SHARED_LIB)) || defined(MZ_PRECISE_GC)
|
||||
# define MZGC_DLLIMPORT
|
||||
# else
|
||||
# define MZGC_DLLIMPORT MZ_DLLIMPORT
|
||||
# endif
|
||||
#else
|
||||
# define MZ_DLLSPEC
|
||||
# define MZ_DLLIMPORT
|
||||
# define MZ_DLLEXPORT
|
||||
# define MZGC_DLLIMPORT
|
||||
#endif
|
||||
|
||||
#define MZ_EXTERN extern MZ_DLLSPEC
|
||||
|
||||
#ifndef MZ_THREAD_EXTERN
|
||||
# define MZ_THREAD_EXTERN MZ_EXTERN
|
||||
#endif
|
||||
|
||||
MZ_EXTERN void scheme_init_os_thread(void);
|
||||
|
||||
/* **************************************************************** */
|
||||
/* Declarations that we wish were elsewhere, but are needed here to */
|
||||
/* determine the size and type of some thread-local record fields. */
|
||||
/* **************************************************************** */
|
||||
|
||||
#define STACK_COPY_CACHE_SIZE 10
|
||||
#define BIGNUM_CACHE_SIZE 16
|
||||
#define STACK_CACHE_SIZE 32
|
||||
#define NUM_MORE_CONSTANT_STXES 24
|
||||
|
||||
/* The number of cached scope sets should be a power of 2: */
|
||||
#define NUM_RECENT_SCOPE_SETS 8
|
||||
|
||||
/* This structure must be 4 words: */
|
||||
typedef struct {
|
||||
void *orig_return_address;
|
||||
void *stack_frame;
|
||||
struct Scheme_Object *cache;
|
||||
void *orig_result;
|
||||
} Stack_Cache_Elem;
|
||||
|
||||
typedef intptr_t rxpos;
|
||||
|
||||
struct gmp_tmp_stack
|
||||
{
|
||||
void *end;
|
||||
void *alloc_point;
|
||||
struct gmp_tmp_stack *prev;
|
||||
};
|
||||
|
||||
#ifndef MZ_PRECISE_GC
|
||||
typedef intptr_t objhead;
|
||||
#endif
|
||||
|
||||
typedef void (*Scheme_Sleep_Proc)(float seconds, void *fds);
|
||||
|
||||
typedef void (*Scheme_On_Atomic_Timeout_Proc)(void *data, int must_give_up);
|
||||
|
||||
/* **************************************** */
|
||||
|
||||
#ifndef USE_THREAD_LOCAL
|
||||
|
||||
# define THREAD_LOCAL_DECL(x) x
|
||||
|
||||
#else
|
||||
|
||||
/* **************************************** */
|
||||
|
||||
typedef struct Thread_Local_Variables {
|
||||
int scheme_current_place_id_;
|
||||
void **GC_variable_stack_;
|
||||
struct NewGC *GC_instance_;
|
||||
uintptr_t GC_gen0_alloc_page_ptr_;
|
||||
uintptr_t GC_gen0_alloc_page_end_;
|
||||
int GC_gen0_alloc_only_;
|
||||
uintptr_t force_gc_for_place_accounting_;
|
||||
uintptr_t scheme_os_thread_id_;
|
||||
int scheme_starting_up_;
|
||||
struct rktio_t *scheme_rktio_;
|
||||
void *bignum_cache_[BIGNUM_CACHE_SIZE];
|
||||
int cache_count_;
|
||||
struct Scheme_Hash_Table *toplevels_ht_;
|
||||
struct Scheme_Hash_Table *locals_ht_[2];
|
||||
volatile int scheme_fuel_counter_;
|
||||
uintptr_t scheme_stack_boundary_;
|
||||
uintptr_t volatile scheme_jit_stack_boundary_;
|
||||
volatile int scheme_future_need_gc_pause_;
|
||||
int scheme_use_rtcall_;
|
||||
int in_jit_critical_section_;
|
||||
void *jit_buffer_cache_;
|
||||
intptr_t jit_buffer_cache_size_;
|
||||
int jit_buffer_cache_registered_;
|
||||
int scheme_continuation_application_count_;
|
||||
int scheme_cont_capture_count_;
|
||||
int scheme_prompt_capture_count_;
|
||||
struct Scheme_Prompt *available_prompt_;
|
||||
struct Scheme_Prompt *available_cws_prompt_;
|
||||
struct Scheme_Prompt *available_regular_prompt_;
|
||||
struct Scheme_Dynamic_Wind *available_prompt_dw_;
|
||||
struct Scheme_Meta_Continuation *available_prompt_mc_;
|
||||
struct Scheme_Cont *offstack_cont_;
|
||||
struct Scheme_Overflow *offstack_overflow_;
|
||||
struct Scheme_Overflow_Jmp *scheme_overflow_jmp_;
|
||||
void *scheme_overflow_stack_start_;
|
||||
void **codetab_tree_;
|
||||
int during_set_;
|
||||
Stack_Cache_Elem stack_cache_stack_[STACK_CACHE_SIZE];
|
||||
intptr_t stack_cache_stack_pos_;
|
||||
struct Scheme_Object **fixup_runstack_base_;
|
||||
int fixup_already_in_place_;
|
||||
void *retry_alloc_r1_;
|
||||
double scheme_jit_save_fp_;
|
||||
double scheme_jit_save_fp2_;
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
mz_long_double scheme_jit_save_extfp_;
|
||||
mz_long_double scheme_jit_save_extfp2_;
|
||||
#endif
|
||||
struct Scheme_Bucket_Table *starts_table_;
|
||||
struct mz_proc_thread *proc_thread_self_;
|
||||
struct Scheme_Object *scheme_orig_stdout_port_;
|
||||
struct Scheme_Object *scheme_orig_stderr_port_;
|
||||
struct Scheme_Object *scheme_orig_stdin_port_;
|
||||
struct rktio_ltps_t *scheme_semaphore_fd_set_;
|
||||
struct Scheme_Object *fs_change_props_;
|
||||
struct Scheme_Custodian *new_port_cust_;
|
||||
char *read_string_byte_buffer_;
|
||||
struct ITimer_Data *itimerdata_;
|
||||
char *quick_buffer_;
|
||||
char *quick_encode_buffer_;
|
||||
char *quick_print_buffer_;
|
||||
struct Scheme_Hash_Table *cache_ht_;
|
||||
char *regstr_;
|
||||
char *regparsestr_;
|
||||
int regmatchmin_;
|
||||
int regmatchmax_;
|
||||
int regmaxbackposn_;
|
||||
int regsavepos_;
|
||||
struct Scheme_Hash_Table *regbackknown_;
|
||||
struct Scheme_Hash_Table *regbackdepends_;
|
||||
rxpos regparse_;
|
||||
rxpos regparse_end_;
|
||||
int regnpar_;
|
||||
int regncounter_;
|
||||
rxpos regcode_;
|
||||
rxpos regcodesize_;
|
||||
rxpos regcodemax_;
|
||||
intptr_t regmaxlookback_;
|
||||
const char *regerrorwho_;
|
||||
Scheme_Object *regerrorproc_;
|
||||
Scheme_Object *regerrorval_;
|
||||
intptr_t rx_buffer_size_;
|
||||
rxpos *startp_buffer_cache_;
|
||||
rxpos *endp_buffer_cache_;
|
||||
rxpos *maybep_buffer_cache_;
|
||||
rxpos *match_stack_buffer_cache_;
|
||||
uintptr_t scheme_os_thread_stack_base_;
|
||||
struct Scheme_Object *scheme_system_idle_channel_;
|
||||
struct Scheme_Object *system_idle_put_evt_;
|
||||
void *stack_copy_cache_[STACK_COPY_CACHE_SIZE];
|
||||
intptr_t stack_copy_size_cache_[STACK_COPY_CACHE_SIZE];
|
||||
int scc_pos_;
|
||||
struct Scheme_Instance *scheme_startup_instance_;
|
||||
struct startup_instance_top_t *c_startup_instance_top_;
|
||||
struct Scheme_Thread *scheme_current_thread_;
|
||||
struct Scheme_Thread *scheme_main_thread_;
|
||||
struct Scheme_Thread *scheme_first_thread_;
|
||||
struct Scheme_Thread *gc_prep_thread_chain_;
|
||||
struct Scheme_Thread_Set *scheme_thread_set_top_;
|
||||
struct Scheme_Current_LWC *scheme_current_lwc_;
|
||||
intptr_t process_time_at_swap_;
|
||||
intptr_t process_time_skips_;
|
||||
int num_running_threads_;
|
||||
int swap_no_setjmp_;
|
||||
int thread_swap_count_;
|
||||
int scheme_did_gc_count_;
|
||||
struct Scheme_Future_State *scheme_future_state_;
|
||||
struct Scheme_Future_Thread_State *scheme_future_thread_state_;
|
||||
void *jit_future_storage_[4];
|
||||
struct Scheme_Object **scheme_current_runstack_start_;
|
||||
struct Scheme_Object **scheme_current_runstack_;
|
||||
intptr_t scheme_current_cont_mark_stack_;
|
||||
intptr_t scheme_current_cont_mark_pos_;
|
||||
struct Scheme_Custodian *main_custodian_;
|
||||
struct Scheme_Hash_Table *limited_custodians_;
|
||||
struct Scheme_Plumber *initial_plumber_;
|
||||
struct Scheme_Config *initial_config_;
|
||||
struct Scheme_Thread *swap_target_;
|
||||
struct Scheme_Object *scheduled_kills_;
|
||||
struct Scheme_Hash_Table *late_will_executors_with_pending_;
|
||||
int do_atomic_;
|
||||
int missed_context_switch_;
|
||||
int all_breaks_disabled_;
|
||||
int have_activity_;
|
||||
int scheme_active_but_sleeping_;
|
||||
int thread_ended_with_activity_;
|
||||
int scheme_no_stack_overflow_;
|
||||
int needs_sleep_cancelled_;
|
||||
double needs_sleep_time_end_;
|
||||
int tls_pos_;
|
||||
struct Scheme_Object *the_nested_exn_handler_;
|
||||
struct Scheme_Object *cust_closers_;
|
||||
struct Scheme_Object *thread_swap_callbacks_;
|
||||
struct Scheme_Object *thread_swap_out_callbacks_;
|
||||
struct Scheme_Object *recycle_cell_;
|
||||
struct Scheme_Object *maybe_recycle_cell_;
|
||||
int recycle_cc_count_;
|
||||
void *gmp_mem_pool_;
|
||||
uintptr_t max_total_allocation_;
|
||||
uintptr_t current_total_allocation_;
|
||||
struct gmp_tmp_stack gmp_tmp_xxx_;
|
||||
struct gmp_tmp_stack *gmp_tmp_current_;
|
||||
struct Scheme_Logger *scheme_main_logger_;
|
||||
struct Scheme_Logger *scheme_gc_logger_;
|
||||
struct Scheme_Logger *scheme_future_logger_;
|
||||
struct Scheme_Logger *scheme_place_logger_;
|
||||
int scheme_overflow_count_;
|
||||
struct Scheme_Object *original_pwd_;
|
||||
void *file_path_wc_buffer_;
|
||||
intptr_t scheme_hash_request_count_;
|
||||
intptr_t scheme_hash_iteration_count_;
|
||||
struct Scheme_Bucket_Table *scheme_namespace_to_env_;
|
||||
int special_is_ok_;
|
||||
int scheme_force_port_closed_;
|
||||
int fd_reserved_;
|
||||
struct rktio_fd_t *the_fd_;
|
||||
int scheme_num_read_syntax_objects_;
|
||||
struct Scheme_Load_Delay *clear_bytes_chain_;
|
||||
const char *failure_msg_for_read_;
|
||||
void **dgc_array_;
|
||||
int *dgc_count_;
|
||||
int dgc_size_;
|
||||
void (*save_oom_)(void);
|
||||
int current_lifetime_;
|
||||
int scheme_main_was_once_suspended_;
|
||||
int buffer_init_size_;
|
||||
uintptr_t scheme_total_gc_time_;
|
||||
uintptr_t start_this_gc_time_;
|
||||
uintptr_t end_this_gc_time_;
|
||||
double start_this_gc_real_time_;
|
||||
double end_this_gc_real_time_;
|
||||
struct Scheme_Struct_Type *gc_info_prefab_;
|
||||
struct Scheme_Struct_Type *place_event_prefab_;
|
||||
volatile short delayed_break_ready_;
|
||||
struct Scheme_Thread *main_break_target_thread_;
|
||||
intptr_t scheme_code_page_total_;
|
||||
intptr_t scheme_code_total_;
|
||||
intptr_t scheme_code_count_;
|
||||
intptr_t max_gc_pre_used_bytes_;
|
||||
intptr_t max_code_page_total_;
|
||||
int num_major_garbage_collections_;
|
||||
int num_minor_garbage_collections_;
|
||||
int locale_on_;
|
||||
void *current_locale_name_ptr_;
|
||||
char *cached_locale_encoding_name_;
|
||||
struct rktio_converter_t *cached_locale_to_converter_;
|
||||
struct rktio_converter_t *cached_locale_from_converter_;
|
||||
int gensym_counter_;
|
||||
struct Scheme_Object *dummy_input_port_;
|
||||
struct Scheme_Object *dummy_output_port_;
|
||||
struct Scheme_Hash_Table *opened_libs_;
|
||||
struct mzrt_mutex *jit_lock_;
|
||||
struct free_list_entry *free_list_;
|
||||
int free_list_bucket_count_;
|
||||
void *code_allocation_page_list_;
|
||||
struct Scheme_Bucket_Table *prefab_table_;
|
||||
struct Scheme_Hash_Table *place_local_symbol_table_;
|
||||
struct Scheme_Hash_Table *place_local_keyword_table_;
|
||||
struct Scheme_Hash_Table *place_local_parallel_symbol_table_;
|
||||
struct Scheme_Bucket_Table *literal_string_table_;
|
||||
struct Scheme_Bucket_Table *literal_number_table_;
|
||||
struct FFI_Sync_Queue *ffi_sync_queue_;
|
||||
struct Scheme_GC_Pre_Post_Callback_Desc *gc_prepost_callback_descs_;
|
||||
struct Scheme_Hash_Table *place_local_misc_table_;
|
||||
int place_evts_array_size_;
|
||||
struct Evt **place_evts_;
|
||||
struct Scheme_Place_Object *place_object_;
|
||||
struct Scheme_Place *all_child_places_;
|
||||
struct Scheme_Place_Bi_Channel_Link *place_channel_links_;
|
||||
struct Scheme_Object **reusable_ifs_stack_;
|
||||
struct Scheme_Object *group_member_cache_;
|
||||
struct Scheme_Prefix *scheme_prefix_finalize_;
|
||||
struct Scheme_Prefix *scheme_inc_prefix_finalize_;
|
||||
struct Scheme_Hash_Table *loaded_extensions_;
|
||||
struct Scheme_Hash_Table *fullpath_loaded_extensions_;
|
||||
Scheme_Sleep_Proc scheme_place_sleep_;
|
||||
struct Scheme_Object *thread_sleep_callback_;
|
||||
int thread_sleep_callback_fd_;
|
||||
struct GHBN_Thread_Data *ghbn_thread_data_;
|
||||
Scheme_On_Atomic_Timeout_Proc on_atomic_timeout_;
|
||||
void *on_atomic_timeout_data_;
|
||||
int atomic_timeout_auto_suspend_;
|
||||
int atomic_timeout_atomic_level_;
|
||||
struct Scheme_Object *configuration_callback_cache_[2];
|
||||
struct FFI_Orig_Place_Call *cached_orig_place_todo_;
|
||||
struct Scheme_Hash_Table *ffi_lock_ht_;
|
||||
struct Scheme_Object *is_syntax_proc_;
|
||||
struct Scheme_Object *expander_syntax_to_datum_proc_;
|
||||
struct Scheme_Hash_Table *local_primitive_tables_;
|
||||
struct Scheme_Object *current_linklet_native_lambdas_;
|
||||
} Thread_Local_Variables;
|
||||
|
||||
#if defined(IMPLEMENT_THREAD_LOCAL_VIA_PTHREADS)
|
||||
/* Using Pthread getspecific() */
|
||||
# include <pthread.h>
|
||||
MZ_EXTERN pthread_key_t scheme_thread_local_key;
|
||||
# if defined(__APPLE__) && defined(__MACH__)
|
||||
# define PREFER_TO_CACHE_THREAD_LOCAL
|
||||
MZ_EXTERN int scheme_thread_local_offset;
|
||||
# endif
|
||||
# ifndef INLINE_GETSPECIFIC_ASSEMBLY_CODE
|
||||
# define scheme_get_thread_local_variables() ((Thread_Local_Variables *)pthread_getspecific(scheme_thread_local_key))
|
||||
# ifdef MZ_XFORM
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_GETSPECIFIC;
|
||||
# endif
|
||||
# else
|
||||
# ifdef MZ_XFORM
|
||||
START_XFORM_SKIP;
|
||||
# endif
|
||||
static inline Thread_Local_Variables *scheme_get_thread_local_variables(void) __attribute__((used));
|
||||
static inline Thread_Local_Variables *scheme_get_thread_local_variables(void) {
|
||||
Thread_Local_Variables *x = NULL;
|
||||
# if defined(__APPLE__) && defined(__MACH__)
|
||||
# if defined(__x86_64__)
|
||||
asm("movq %%gs:0(%1,%2,8), %0" : "=r"(x) : "r"(scheme_thread_local_offset), "r"((int)scheme_thread_local_key));
|
||||
# else
|
||||
asm("movl %%gs:0(%1,%2,4), %0" : "=r"(x) : "r"(scheme_thread_local_offset), "r"(scheme_thread_local_key));
|
||||
# endif
|
||||
# elif defined(linux)
|
||||
# if defined(__x86_64__)
|
||||
asm( "mov %1, %%eax;"
|
||||
"shl $0x4, %%rax;"
|
||||
"mov %%fs:0x10, %%rdx;"
|
||||
"mov 0x118(%%rax,%%rdx), %0;"
|
||||
:"=r"(x) /* output */
|
||||
:"r"(scheme_thread_local_key)
|
||||
:"%rax", "%rdx" /* clobbered register */
|
||||
);
|
||||
# else
|
||||
# error scheme_get_thread_local_variables no defined on this platform
|
||||
# endif
|
||||
# else
|
||||
# error scheme_get_thread_local_variables no defined on this platform
|
||||
# endif
|
||||
return x;
|
||||
}
|
||||
# ifdef MZ_XFORM
|
||||
END_XFORM_SKIP;
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
||||
# endif
|
||||
# endif
|
||||
#elif defined(IMPLEMENT_THREAD_LOCAL_VIA_PROCEDURE)
|
||||
/* Using external scheme_get_thread_local_variables() procedure */
|
||||
MZ_EXTERN Thread_Local_Variables *scheme_get_thread_local_variables(void);
|
||||
# ifdef MZ_XFORM
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
||||
# endif
|
||||
#elif defined(IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS)
|
||||
# ifdef MZ_XFORM
|
||||
START_XFORM_SKIP;
|
||||
# endif
|
||||
MZ_EXTERN Thread_Local_Variables *scheme_external_get_thread_local_variables(void);
|
||||
# ifdef __mzscheme_private__
|
||||
/* In the Racket DLL, need thread-local to be fast: */
|
||||
MZ_EXTERN uintptr_t scheme_tls_delta;
|
||||
# ifdef MZ_USE_WIN_TLS_VIA_DLL
|
||||
MZ_EXTERN int scheme_tls_index;
|
||||
# endif
|
||||
static __inline Thread_Local_Variables **scheme_get_thread_local_variables_ptr(void) {
|
||||
# ifdef __MINGW32__
|
||||
Thread_Local_Variables **x;
|
||||
# ifdef _WIN64
|
||||
asm (
|
||||
"mov %%gs:(0x58), %%rax;"
|
||||
"mov (%%rax), %%rax;"
|
||||
"add %1, %%rax;"
|
||||
"mov %%rax, %0;"
|
||||
:"=r"(x) /* output */
|
||||
:"r"(scheme_tls_delta)
|
||||
:"%rax" /* clobbered register */
|
||||
);
|
||||
# else
|
||||
asm (
|
||||
"mov %%fs:(0x2C), %%eax;"
|
||||
"mov (%%eax), %%eax;"
|
||||
"add %1, %%eax;"
|
||||
"mov %%eax, %0;"
|
||||
:"=r"(x) /* output */
|
||||
:"r"(scheme_tls_delta)
|
||||
:"%eax" /* clobbered register */
|
||||
);
|
||||
# endif
|
||||
return x;
|
||||
# else
|
||||
__asm { mov eax, FS:[0x2C]
|
||||
# ifdef MZ_USE_WIN_TLS_VIA_DLL
|
||||
add eax, scheme_tls_index
|
||||
# endif
|
||||
mov eax, [eax]
|
||||
add eax, scheme_tls_delta }
|
||||
/* result is in eax */
|
||||
# endif
|
||||
}
|
||||
static __inline Thread_Local_Variables *scheme_get_thread_local_variables(void) {
|
||||
return *scheme_get_thread_local_variables_ptr();
|
||||
}
|
||||
# else
|
||||
/* Outside the Racket DLL, slower thread-local is ok: */
|
||||
static __inline Thread_Local_Variables *scheme_get_thread_local_variables(void) {
|
||||
return scheme_external_get_thread_local_variables();
|
||||
}
|
||||
# endif
|
||||
# ifdef MZ_XFORM
|
||||
END_XFORM_SKIP;
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
||||
# endif
|
||||
#else
|
||||
/* Using `THREAD_LOCAL' variable: */
|
||||
# if defined(IMPLEMENT_THREAD_LOCAL_EXTERNALLY_VIA_PROC) && !defined(__mzscheme_private__)
|
||||
# ifdef MZ_XFORM
|
||||
START_XFORM_SKIP;
|
||||
# endif
|
||||
MZ_EXTERN Thread_Local_Variables *scheme_external_get_thread_local_variables(void);
|
||||
static __inline Thread_Local_Variables *scheme_get_thread_local_variables(void) {
|
||||
return scheme_external_get_thread_local_variables();
|
||||
}
|
||||
# ifdef MZ_XFORM
|
||||
END_XFORM_SKIP;
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_FUNCTION;
|
||||
# endif
|
||||
# elif defined (IMPLEMENT_THREAD_LOCAL_VIA_OFFSET)
|
||||
MZ_THREAD_EXTERN THREAD_LOCAL Thread_Local_Variables scheme_thread_locals_space;
|
||||
extern int scheme_tls_delta;
|
||||
# define scheme_get_thread_local_variables() ((Thread_Local_Variables *)((char *)&scheme_thread_locals_space + scheme_tls_delta))
|
||||
# ifdef MZ_XFORM
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_DELTA;
|
||||
# endif
|
||||
# else
|
||||
MZ_THREAD_EXTERN THREAD_LOCAL Thread_Local_Variables scheme_thread_locals;
|
||||
# define scheme_get_thread_local_variables() (&scheme_thread_locals)
|
||||
# ifdef MZ_XFORM
|
||||
XFORM_GC_VARIABLE_STACK_THROUGH_THREAD_LOCAL;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* **************************************** */
|
||||
|
||||
#ifdef MZ_XFORM
|
||||
# define XOA XFORM_OK_ASSIGN
|
||||
#else
|
||||
# define XOA /* empty */
|
||||
#endif
|
||||
|
||||
#define scheme_current_place_id XOA (scheme_get_thread_local_variables()->scheme_current_place_id_)
|
||||
#define GC_objhead_template XOA (scheme_get_thread_local_variables()->GC_objhead_template_)
|
||||
#define GC_instance XOA (scheme_get_thread_local_variables()->GC_instance_)
|
||||
#define GC_gen0_alloc_page_ptr XOA (scheme_get_thread_local_variables()->GC_gen0_alloc_page_ptr_)
|
||||
#define GC_gen0_alloc_page_end XOA (scheme_get_thread_local_variables()->GC_gen0_alloc_page_end_)
|
||||
#define GC_gen0_alloc_only XOA (scheme_get_thread_local_variables()->GC_gen0_alloc_only_)
|
||||
#define GC_variable_stack XOA (scheme_get_thread_local_variables()->GC_variable_stack_)
|
||||
#define force_gc_for_place_accounting XOA (scheme_get_thread_local_variables()->force_gc_for_place_accounting_)
|
||||
#define scheme_os_thread_id XOA (scheme_get_thread_local_variables()->scheme_os_thread_id_)
|
||||
#define scheme_starting_up XOA (scheme_get_thread_local_variables()->scheme_starting_up_)
|
||||
#define scheme_rktio XOA (scheme_get_thread_local_variables()->scheme_rktio_)
|
||||
#define bignum_cache XOA (scheme_get_thread_local_variables()->bignum_cache_)
|
||||
#define cache_count XOA (scheme_get_thread_local_variables()->cache_count_)
|
||||
#define toplevels_ht XOA (scheme_get_thread_local_variables()->toplevels_ht_)
|
||||
#define locals_ht XOA (scheme_get_thread_local_variables()->locals_ht_)
|
||||
#define scheme_fuel_counter XOA (scheme_get_thread_local_variables()->scheme_fuel_counter_)
|
||||
#define scheme_stack_boundary XOA (scheme_get_thread_local_variables()->scheme_stack_boundary_)
|
||||
#define scheme_jit_stack_boundary XOA (scheme_get_thread_local_variables()->scheme_jit_stack_boundary_)
|
||||
#define scheme_future_need_gc_pause XOA (scheme_get_thread_local_variables()->scheme_future_need_gc_pause_)
|
||||
#define scheme_use_rtcall XOA (scheme_get_thread_local_variables()->scheme_use_rtcall_)
|
||||
#define in_jit_critical_section XOA (scheme_get_thread_local_variables()->in_jit_critical_section_)
|
||||
#define jit_buffer_cache XOA (scheme_get_thread_local_variables()->jit_buffer_cache_)
|
||||
#define jit_buffer_cache_size XOA (scheme_get_thread_local_variables()->jit_buffer_cache_size_)
|
||||
#define jit_buffer_cache_registered XOA (scheme_get_thread_local_variables()->jit_buffer_cache_registered_)
|
||||
#define scheme_continuation_application_count XOA (scheme_get_thread_local_variables()->scheme_continuation_application_count_)
|
||||
#define scheme_cont_capture_count XOA (scheme_get_thread_local_variables()->scheme_cont_capture_count_)
|
||||
#define scheme_prompt_capture_count XOA (scheme_get_thread_local_variables()->scheme_prompt_capture_count_)
|
||||
#define available_prompt XOA (scheme_get_thread_local_variables()->available_prompt_)
|
||||
#define available_cws_prompt XOA (scheme_get_thread_local_variables()->available_cws_prompt_)
|
||||
#define available_regular_prompt XOA (scheme_get_thread_local_variables()->available_regular_prompt_)
|
||||
#define available_prompt_dw XOA (scheme_get_thread_local_variables()->available_prompt_dw_)
|
||||
#define available_prompt_mc XOA (scheme_get_thread_local_variables()->available_prompt_mc_)
|
||||
#define offstack_cont XOA (scheme_get_thread_local_variables()->offstack_cont_)
|
||||
#define offstack_overflow XOA (scheme_get_thread_local_variables()->offstack_overflow_)
|
||||
#define scheme_overflow_jmp XOA (scheme_get_thread_local_variables()->scheme_overflow_jmp_)
|
||||
#define scheme_overflow_stack_start XOA (scheme_get_thread_local_variables()->scheme_overflow_stack_start_)
|
||||
#define codetab_tree XOA (scheme_get_thread_local_variables()->codetab_tree_)
|
||||
#define during_set XOA (scheme_get_thread_local_variables()->during_set_)
|
||||
#define thread_local_pointers XOA (scheme_get_thread_local_variables()->thread_local_pointers_)
|
||||
#define stack_cache_stack XOA (scheme_get_thread_local_variables()->stack_cache_stack_)
|
||||
#define stack_cache_stack_pos XOA (scheme_get_thread_local_variables()->stack_cache_stack_pos_)
|
||||
#define fixup_runstack_base XOA (scheme_get_thread_local_variables()->fixup_runstack_base_)
|
||||
#define fixup_already_in_place XOA (scheme_get_thread_local_variables()->fixup_already_in_place_)
|
||||
#define retry_alloc_r1 XOA (scheme_get_thread_local_variables()->retry_alloc_r1_)
|
||||
#define scheme_jit_save_fp XOA (scheme_get_thread_local_variables()->scheme_jit_save_fp_)
|
||||
#define scheme_jit_save_fp2 XOA (scheme_get_thread_local_variables()->scheme_jit_save_fp2_)
|
||||
#ifdef MZ_LONG_DOUBLE
|
||||
#define scheme_jit_save_extfp XOA (scheme_get_thread_local_variables()->scheme_jit_save_extfp_)
|
||||
#define scheme_jit_save_extfp2 XOA (scheme_get_thread_local_variables()->scheme_jit_save_extfp2_)
|
||||
#endif
|
||||
#define starts_table XOA (scheme_get_thread_local_variables()->starts_table_)
|
||||
#define proc_thread_self XOA (scheme_get_thread_local_variables()->proc_thread_self_)
|
||||
#define scheme_orig_stdout_port XOA (scheme_get_thread_local_variables()->scheme_orig_stdout_port_)
|
||||
#define scheme_orig_stderr_port XOA (scheme_get_thread_local_variables()->scheme_orig_stderr_port_)
|
||||
#define scheme_orig_stdin_port XOA (scheme_get_thread_local_variables()->scheme_orig_stdin_port_)
|
||||
#define scheme_semaphore_fd_set XOA (scheme_get_thread_local_variables()->scheme_semaphore_fd_set_)
|
||||
#define fs_change_props XOA (scheme_get_thread_local_variables()->fs_change_props_)
|
||||
#define new_port_cust XOA (scheme_get_thread_local_variables()->new_port_cust_)
|
||||
#define read_string_byte_buffer XOA (scheme_get_thread_local_variables()->read_string_byte_buffer_)
|
||||
#define itimerdata XOA (scheme_get_thread_local_variables()->itimerdata_)
|
||||
#define quick_buffer XOA (scheme_get_thread_local_variables()->quick_buffer_)
|
||||
#define quick_encode_buffer XOA (scheme_get_thread_local_variables()->quick_encode_buffer_)
|
||||
#define quick_print_buffer XOA (scheme_get_thread_local_variables()->quick_print_buffer_)
|
||||
#define cache_ht XOA (scheme_get_thread_local_variables()->cache_ht_)
|
||||
#define regstr XOA (scheme_get_thread_local_variables()->regstr_)
|
||||
#define regparsestr XOA (scheme_get_thread_local_variables()->regparsestr_)
|
||||
#define regmatchmin XOA (scheme_get_thread_local_variables()->regmatchmin_)
|
||||
#define regmatchmax XOA (scheme_get_thread_local_variables()->regmatchmax_)
|
||||
#define regmaxbackposn XOA (scheme_get_thread_local_variables()->regmaxbackposn_)
|
||||
#define regsavepos XOA (scheme_get_thread_local_variables()->regsavepos_)
|
||||
#define regbackknown XOA (scheme_get_thread_local_variables()->regbackknown_)
|
||||
#define regbackdepends XOA (scheme_get_thread_local_variables()->regbackdepends_)
|
||||
#define regparse XOA (scheme_get_thread_local_variables()->regparse_)
|
||||
#define regparse_end XOA (scheme_get_thread_local_variables()->regparse_end_)
|
||||
#define regnpar XOA (scheme_get_thread_local_variables()->regnpar_)
|
||||
#define regncounter XOA (scheme_get_thread_local_variables()->regncounter_)
|
||||
#define regcode XOA (scheme_get_thread_local_variables()->regcode_)
|
||||
#define regcodesize XOA (scheme_get_thread_local_variables()->regcodesize_)
|
||||
#define regcodemax XOA (scheme_get_thread_local_variables()->regcodemax_)
|
||||
#define regmaxlookback XOA (scheme_get_thread_local_variables()->regmaxlookback_)
|
||||
#define regerrorwho XOA (scheme_get_thread_local_variables()->regerrorwho_)
|
||||
#define regerrorproc XOA (scheme_get_thread_local_variables()->regerrorproc_)
|
||||
#define regerrorval XOA (scheme_get_thread_local_variables()->regerrorval_)
|
||||
#define rx_buffer_size XOA (scheme_get_thread_local_variables()->rx_buffer_size_)
|
||||
#define startp_buffer_cache XOA (scheme_get_thread_local_variables()->startp_buffer_cache_)
|
||||
#define endp_buffer_cache XOA (scheme_get_thread_local_variables()->endp_buffer_cache_)
|
||||
#define maybep_buffer_cache XOA (scheme_get_thread_local_variables()->maybep_buffer_cache_)
|
||||
#define match_stack_buffer_cache XOA (scheme_get_thread_local_variables()->match_stack_buffer_cache_)
|
||||
#define scheme_os_thread_stack_base XOA (scheme_get_thread_local_variables()->scheme_os_thread_stack_base_)
|
||||
#define scheme_system_idle_channel XOA (scheme_get_thread_local_variables()->scheme_system_idle_channel_)
|
||||
#define system_idle_put_evt XOA (scheme_get_thread_local_variables()->system_idle_put_evt_)
|
||||
#define stack_copy_cache XOA (scheme_get_thread_local_variables()->stack_copy_cache_)
|
||||
#define stack_copy_size_cache XOA (scheme_get_thread_local_variables()->stack_copy_size_cache_)
|
||||
#define scc_pos XOA (scheme_get_thread_local_variables()->scc_pos_)
|
||||
#define scheme_startup_instance XOA (scheme_get_thread_local_variables()->scheme_startup_instance_)
|
||||
#define c_startup_instance_top XOA (scheme_get_thread_local_variables()->c_startup_instance_top_)
|
||||
#define scheme_current_thread XOA (scheme_get_thread_local_variables()->scheme_current_thread_)
|
||||
#define scheme_main_thread XOA (scheme_get_thread_local_variables()->scheme_main_thread_)
|
||||
#define scheme_first_thread XOA (scheme_get_thread_local_variables()->scheme_first_thread_)
|
||||
#define gc_prep_thread_chain XOA (scheme_get_thread_local_variables()->gc_prep_thread_chain_)
|
||||
#define scheme_thread_set_top XOA (scheme_get_thread_local_variables()->scheme_thread_set_top_)
|
||||
#define scheme_current_lwc XOA (scheme_get_thread_local_variables()->scheme_current_lwc_)
|
||||
#define num_running_threads XOA (scheme_get_thread_local_variables()->num_running_threads_)
|
||||
#define swap_no_setjmp XOA (scheme_get_thread_local_variables()->swap_no_setjmp_)
|
||||
#define thread_swap_count XOA (scheme_get_thread_local_variables()->thread_swap_count_)
|
||||
#define process_time_at_swap XOA (scheme_get_thread_local_variables()->process_time_at_swap_)
|
||||
#define process_time_skips XOA (scheme_get_thread_local_variables()->process_time_skips_)
|
||||
#define scheme_did_gc_count XOA (scheme_get_thread_local_variables()->scheme_did_gc_count_)
|
||||
#define scheme_future_state XOA (scheme_get_thread_local_variables()->scheme_future_state_)
|
||||
#define scheme_future_thread_state XOA (scheme_get_thread_local_variables()->scheme_future_thread_state_)
|
||||
#define jit_future_storage XOA (scheme_get_thread_local_variables()->jit_future_storage_)
|
||||
#define scheme_current_runstack_start XOA (scheme_get_thread_local_variables()->scheme_current_runstack_start_)
|
||||
#define scheme_current_runstack XOA (scheme_get_thread_local_variables()->scheme_current_runstack_)
|
||||
#define scheme_current_cont_mark_stack XOA (scheme_get_thread_local_variables()->scheme_current_cont_mark_stack_)
|
||||
#define scheme_current_cont_mark_pos XOA (scheme_get_thread_local_variables()->scheme_current_cont_mark_pos_)
|
||||
#define main_custodian XOA (scheme_get_thread_local_variables()->main_custodian_)
|
||||
#define last_custodian XOA (scheme_get_thread_local_variables()->last_custodian_)
|
||||
#define limited_custodians XOA (scheme_get_thread_local_variables()->limited_custodians_)
|
||||
#define initial_plumber XOA (scheme_get_thread_local_variables()->initial_plumber_)
|
||||
#define initial_config XOA (scheme_get_thread_local_variables()->initial_config_)
|
||||
#define swap_target XOA (scheme_get_thread_local_variables()->swap_target_)
|
||||
#define scheduled_kills XOA (scheme_get_thread_local_variables()->scheduled_kills_)
|
||||
#define late_will_executors_with_pending XOA (scheme_get_thread_local_variables()->late_will_executors_with_pending_)
|
||||
#define do_atomic XOA (scheme_get_thread_local_variables()->do_atomic_)
|
||||
#define missed_context_switch XOA (scheme_get_thread_local_variables()->missed_context_switch_)
|
||||
#define all_breaks_disabled XOA (scheme_get_thread_local_variables()->all_breaks_disabled_)
|
||||
#define have_activity XOA (scheme_get_thread_local_variables()->have_activity_)
|
||||
#define scheme_active_but_sleeping XOA (scheme_get_thread_local_variables()->scheme_active_but_sleeping_)
|
||||
#define thread_ended_with_activity XOA (scheme_get_thread_local_variables()->thread_ended_with_activity_)
|
||||
#define scheme_no_stack_overflow XOA (scheme_get_thread_local_variables()->scheme_no_stack_overflow_)
|
||||
#define needs_sleep_cancelled XOA (scheme_get_thread_local_variables()->needs_sleep_cancelled_)
|
||||
#define needs_sleep_time_end XOA (scheme_get_thread_local_variables()->needs_sleep_time_end_)
|
||||
#define tls_pos XOA (scheme_get_thread_local_variables()->tls_pos_)
|
||||
#define the_nested_exn_handler XOA (scheme_get_thread_local_variables()->the_nested_exn_handler_)
|
||||
#define cust_closers XOA (scheme_get_thread_local_variables()->cust_closers_)
|
||||
#define thread_swap_callbacks XOA (scheme_get_thread_local_variables()->thread_swap_callbacks_)
|
||||
#define thread_swap_out_callbacks XOA (scheme_get_thread_local_variables()->thread_swap_out_callbacks_)
|
||||
#define recycle_cell XOA (scheme_get_thread_local_variables()->recycle_cell_)
|
||||
#define maybe_recycle_cell XOA (scheme_get_thread_local_variables()->maybe_recycle_cell_)
|
||||
#define recycle_cc_count XOA (scheme_get_thread_local_variables()->recycle_cc_count_)
|
||||
#define gmp_mem_pool XOA (scheme_get_thread_local_variables()->gmp_mem_pool_)
|
||||
#define max_total_allocation XOA (scheme_get_thread_local_variables()->max_total_allocation_)
|
||||
#define current_total_allocation XOA (scheme_get_thread_local_variables()->current_total_allocation_)
|
||||
#define gmp_tmp_xxx XOA (scheme_get_thread_local_variables()->gmp_tmp_xxx_)
|
||||
#define gmp_tmp_current XOA (scheme_get_thread_local_variables()->gmp_tmp_current_)
|
||||
#define scheme_main_logger XOA (scheme_get_thread_local_variables()->scheme_main_logger_)
|
||||
#define scheme_gc_logger XOA (scheme_get_thread_local_variables()->scheme_gc_logger_)
|
||||
#define scheme_future_logger XOA (scheme_get_thread_local_variables()->scheme_future_logger_)
|
||||
#define scheme_place_logger XOA (scheme_get_thread_local_variables()->scheme_place_logger_)
|
||||
#define scheme_overflow_count XOA (scheme_get_thread_local_variables()->scheme_overflow_count_)
|
||||
#define original_pwd XOA (scheme_get_thread_local_variables()->original_pwd_)
|
||||
#define file_path_wc_buffer XOA (scheme_get_thread_local_variables()->file_path_wc_buffer_)
|
||||
#define scheme_hash_request_count XOA (scheme_get_thread_local_variables()->scheme_hash_request_count_)
|
||||
#define scheme_hash_iteration_count XOA (scheme_get_thread_local_variables()->scheme_hash_iteration_count_)
|
||||
#define scheme_namespace_to_env XOA (scheme_get_thread_local_variables()->scheme_namespace_to_env_)
|
||||
#define special_is_ok XOA (scheme_get_thread_local_variables()->special_is_ok_)
|
||||
#define scheme_force_port_closed XOA (scheme_get_thread_local_variables()->scheme_force_port_closed_)
|
||||
#define fd_reserved XOA (scheme_get_thread_local_variables()->fd_reserved_)
|
||||
#define the_fd XOA (scheme_get_thread_local_variables()->the_fd_)
|
||||
#define scheme_num_read_syntax_objects XOA (scheme_get_thread_local_variables()->scheme_num_read_syntax_objects_)
|
||||
#define clear_bytes_chain XOA (scheme_get_thread_local_variables()->clear_bytes_chain_)
|
||||
#define failure_msg_for_read XOA (scheme_get_thread_local_variables()->failure_msg_for_read_)
|
||||
#define dgc_array XOA (scheme_get_thread_local_variables()->dgc_array_)
|
||||
#define dgc_count XOA (scheme_get_thread_local_variables()->dgc_count_)
|
||||
#define dgc_size XOA (scheme_get_thread_local_variables()->dgc_size_)
|
||||
#define save_oom XOA (scheme_get_thread_local_variables()->save_oom_)
|
||||
#define current_lifetime XOA (scheme_get_thread_local_variables()->current_lifetime_)
|
||||
#define scheme_main_was_once_suspended XOA (scheme_get_thread_local_variables()->scheme_main_was_once_suspended_)
|
||||
#define buffer_init_size XOA (scheme_get_thread_local_variables()->buffer_init_size_)
|
||||
#define scheme_total_gc_time XOA (scheme_get_thread_local_variables()->scheme_total_gc_time_)
|
||||
#define start_this_gc_time XOA (scheme_get_thread_local_variables()->start_this_gc_time_)
|
||||
#define end_this_gc_time XOA (scheme_get_thread_local_variables()->end_this_gc_time_)
|
||||
#define start_this_gc_real_time XOA (scheme_get_thread_local_variables()->start_this_gc_real_time_)
|
||||
#define end_this_gc_real_time XOA (scheme_get_thread_local_variables()->end_this_gc_real_time_)
|
||||
#define gc_info_prefab XOA (scheme_get_thread_local_variables()->gc_info_prefab_)
|
||||
#define place_event_prefab XOA (scheme_get_thread_local_variables()->place_event_prefab_)
|
||||
#define delayed_break_ready XOA (scheme_get_thread_local_variables()->delayed_break_ready_)
|
||||
#define main_break_target_thread XOA (scheme_get_thread_local_variables()->main_break_target_thread_)
|
||||
#define scheme_code_page_total XOA (scheme_get_thread_local_variables()->scheme_code_page_total_)
|
||||
#define scheme_code_total XOA (scheme_get_thread_local_variables()->scheme_code_total_)
|
||||
#define scheme_code_count XOA (scheme_get_thread_local_variables()->scheme_code_count_)
|
||||
#define max_gc_pre_used_bytes XOA (scheme_get_thread_local_variables()->max_gc_pre_used_bytes_)
|
||||
#define max_code_page_total XOA (scheme_get_thread_local_variables()->max_code_page_total_)
|
||||
#define num_major_garbage_collections XOA (scheme_get_thread_local_variables()->num_major_garbage_collections_)
|
||||
#define num_minor_garbage_collections XOA (scheme_get_thread_local_variables()->num_minor_garbage_collections_)
|
||||
#define locale_on XOA (scheme_get_thread_local_variables()->locale_on_)
|
||||
#define current_locale_name_ptr XOA (scheme_get_thread_local_variables()->current_locale_name_ptr_)
|
||||
#define cached_locale_encoding_name XOA (scheme_get_thread_local_variables()->cached_locale_encoding_name_)
|
||||
#define cached_locale_to_converter XOA (scheme_get_thread_local_variables()->cached_locale_to_converter_)
|
||||
#define cached_locale_from_converter XOA (scheme_get_thread_local_variables()->cached_locale_from_converter_)
|
||||
#define gensym_counter XOA (scheme_get_thread_local_variables()->gensym_counter_)
|
||||
#define dummy_input_port XOA (scheme_get_thread_local_variables()->dummy_input_port_)
|
||||
#define dummy_output_port XOA (scheme_get_thread_local_variables()->dummy_output_port_)
|
||||
#define opened_libs XOA (scheme_get_thread_local_variables()->opened_libs_)
|
||||
#define jit_lock XOA (scheme_get_thread_local_variables()->jit_lock_)
|
||||
#define free_list XOA (scheme_get_thread_local_variables()->free_list_)
|
||||
#define free_list_bucket_count XOA (scheme_get_thread_local_variables()->free_list_bucket_count_)
|
||||
#define code_allocation_page_list XOA (scheme_get_thread_local_variables()->code_allocation_page_list_)
|
||||
#define prefab_table XOA (scheme_get_thread_local_variables()->prefab_table_)
|
||||
#define place_local_symbol_table XOA (scheme_get_thread_local_variables()->place_local_symbol_table_)
|
||||
#define place_local_keyword_table XOA (scheme_get_thread_local_variables()->place_local_keyword_table_)
|
||||
#define place_local_parallel_symbol_table XOA (scheme_get_thread_local_variables()->place_local_parallel_symbol_table_)
|
||||
#define literal_string_table XOA (scheme_get_thread_local_variables()->literal_string_table_)
|
||||
#define literal_number_table XOA (scheme_get_thread_local_variables()->literal_number_table_)
|
||||
#define ffi_sync_queue XOA (scheme_get_thread_local_variables()->ffi_sync_queue_)
|
||||
#define gc_prepost_callback_descs XOA (scheme_get_thread_local_variables()->gc_prepost_callback_descs_)
|
||||
#define place_local_misc_table XOA (scheme_get_thread_local_variables()->place_local_misc_table_)
|
||||
#define place_evts_array_size XOA (scheme_get_thread_local_variables()->place_evts_array_size_)
|
||||
#define place_evts XOA (scheme_get_thread_local_variables()->place_evts_)
|
||||
#define place_object XOA (scheme_get_thread_local_variables()->place_object_)
|
||||
#define all_child_places XOA (scheme_get_thread_local_variables()->all_child_places_)
|
||||
#define place_channel_links XOA (scheme_get_thread_local_variables()->place_channel_links_)
|
||||
#define reusable_ifs_stack XOA (scheme_get_thread_local_variables()->reusable_ifs_stack_)
|
||||
#define group_member_cache XOA (scheme_get_thread_local_variables()->group_member_cache_)
|
||||
#define scheme_prefix_finalize XOA (scheme_get_thread_local_variables()->scheme_prefix_finalize_)
|
||||
#define scheme_inc_prefix_finalize XOA (scheme_get_thread_local_variables()->scheme_inc_prefix_finalize_)
|
||||
#define loaded_extensions XOA (scheme_get_thread_local_variables()->loaded_extensions_)
|
||||
#define fullpath_loaded_extensions XOA (scheme_get_thread_local_variables()->fullpath_loaded_extensions_)
|
||||
#define scheme_place_sleep XOA (scheme_get_thread_local_variables()->scheme_place_sleep_)
|
||||
#define thread_sleep_callback XOA (scheme_get_thread_local_variables()->thread_sleep_callback_)
|
||||
#define thread_sleep_callback_fd XOA (scheme_get_thread_local_variables()->thread_sleep_callback_fd_)
|
||||
#define ghbn_thread_data XOA (scheme_get_thread_local_variables()->ghbn_thread_data_)
|
||||
#define on_atomic_timeout XOA (scheme_get_thread_local_variables()->on_atomic_timeout_)
|
||||
#define on_atomic_timeout_data XOA (scheme_get_thread_local_variables()->on_atomic_timeout_data_)
|
||||
#define atomic_timeout_auto_suspend XOA (scheme_get_thread_local_variables()->atomic_timeout_auto_suspend_)
|
||||
#define atomic_timeout_atomic_level XOA (scheme_get_thread_local_variables()->atomic_timeout_atomic_level_)
|
||||
#define configuration_callback_cache XOA (scheme_get_thread_local_variables()->configuration_callback_cache_)
|
||||
#define cached_orig_place_todo XOA (scheme_get_thread_local_variables()->cached_orig_place_todo_)
|
||||
#define ffi_lock_ht XOA (scheme_get_thread_local_variables()->ffi_lock_ht_)
|
||||
#define is_syntax_proc XOA (scheme_get_thread_local_variables()->is_syntax_proc_)
|
||||
#define expander_syntax_to_datum_proc XOA (scheme_get_thread_local_variables()->expander_syntax_to_datum_proc_)
|
||||
#define local_primitive_tables XOA (scheme_get_thread_local_variables()->local_primitive_tables_)
|
||||
#define current_linklet_native_lambdas XOA (scheme_get_thread_local_variables()->current_linklet_native_lambdas_)
|
||||
|
||||
/* **************************************** */
|
||||
|
||||
# define THREAD_LOCAL_DECL(x) /* empty */
|
||||
|
||||
#endif
|
||||
|
||||
/* **************************************** */
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
/* The version string has one of the forms:
|
||||
X.Y
|
||||
X.Y.Z Z != 0
|
||||
X.Y.Z.W W != 0
|
||||
where each X, Y, Z, W is a non-negative exact integer, Y must not
|
||||
exceed 99, and Z or W must not exceed 999. Y>=90 means that this is
|
||||
working towards {X+1}.0, and X.Y (Z=0, W=0) is an alpha version for
|
||||
{X+1}.0; Z>=900 means working towards X.{Y+1}, and X.Y.Z as an
|
||||
alpha release.
|
||||
|
||||
Note that the version number in the "base" package's "info.rkt"
|
||||
needs to be updated separately.
|
||||
*/
|
||||
|
||||
#define MZSCHEME_VERSION_X 7
|
||||
#define MZSCHEME_VERSION_Y 8
|
||||
#define MZSCHEME_VERSION_Z 0
|
||||
#define MZSCHEME_VERSION_W 6
|
||||
|
||||
/* A level of indirection makes `#` work as needed: */
|
||||
#define AS_a_STR_HELPER(x) #x
|
||||
#define AS_a_STR(x) AS_a_STR_HELPER(x)
|
||||
|
||||
#if MZSCHEME_VERSION_W != 0
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z) "." AS_a_STR(MZSCHEME_VERSION_W)
|
||||
#elif MZSCHEME_VERSION_Z != 0
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z)
|
||||
#else
|
||||
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y)
|
||||
#endif
|
||||
|
||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||
|
||||
#define MZSCHEME_VM "racket"
|
File diff suppressed because it is too large
Load Diff
|
@ -1,301 +0,0 @@
|
|||
|
||||
enum {
|
||||
|
||||
/* Compiled bytecode elements: */
|
||||
scheme_toplevel_type, /* 0 */
|
||||
scheme_static_toplevel_type, /* 1 */
|
||||
scheme_local_type, /* 2 */
|
||||
scheme_local_unbox_type, /* 3 */
|
||||
scheme_application_type, /* 4 */
|
||||
scheme_application2_type, /* 5 */
|
||||
scheme_application3_type, /* 6 */
|
||||
scheme_sequence_type, /* 7 */
|
||||
scheme_branch_type, /* 8 */
|
||||
scheme_lambda_type, /* 9 */
|
||||
scheme_let_value_type, /* 10 */
|
||||
scheme_let_void_type, /* 11 */
|
||||
scheme_letrec_type, /* 12 */
|
||||
scheme_let_one_type, /* 13 */
|
||||
scheme_with_cont_mark_type, /* 14 */
|
||||
|
||||
scheme_define_values_type, /* 15 */
|
||||
scheme_set_bang_type, /* 16 */
|
||||
scheme_boxenv_type, /* 17 */
|
||||
scheme_begin0_sequence_type, /* 18 */
|
||||
scheme_varref_form_type, /* 19 */
|
||||
scheme_apply_values_type, /* 20 */
|
||||
scheme_with_immed_mark_type, /* 21 */
|
||||
scheme_case_lambda_sequence_type, /* 22 */
|
||||
scheme_inline_variant_type, /* 23 */
|
||||
|
||||
_scheme_values_types_, /* 24 */
|
||||
/* All following types are values at run time */
|
||||
|
||||
scheme_linklet_type, /* 25 */
|
||||
|
||||
/* Replacements for some of the above as the
|
||||
compiler's intermediate representation for
|
||||
optimization: */
|
||||
scheme_ir_local_type, /* 26 */
|
||||
scheme_ir_lambda_type, /* 27 */
|
||||
scheme_ir_let_value_type, /* 28 */
|
||||
scheme_ir_let_header_type, /* 29 */
|
||||
scheme_ir_toplevel_type, /* 30 */
|
||||
|
||||
scheme_quote_compilation_type, /* used while writing, only */
|
||||
|
||||
/* Generated in the compiler front-end, but
|
||||
registered in the prefix table instead of
|
||||
used directly as an "expression": */
|
||||
scheme_variable_type, /* 32 */
|
||||
|
||||
_scheme_ir_values_types_, /* 33 */
|
||||
/* All of the following are literal values from the
|
||||
perspective of the compiler */
|
||||
|
||||
scheme_linklet_bundle_type, /* 34 */
|
||||
scheme_instance_type, /* 35 */
|
||||
|
||||
/* procedure types */
|
||||
scheme_prim_type, /* 36 */
|
||||
scheme_closed_prim_type, /* 37 */
|
||||
scheme_closure_type, /* 38 */
|
||||
scheme_case_closure_type, /* 39 */
|
||||
scheme_cont_type, /* 40 */
|
||||
scheme_escaping_cont_type, /* 41 */
|
||||
scheme_proc_struct_type, /* 42 */
|
||||
scheme_native_closure_type, /* 43 */
|
||||
scheme_proc_chaperone_type, /* 44 */
|
||||
|
||||
scheme_chaperone_type, /* 45 */
|
||||
|
||||
/* structure type (plus one above for procs) */
|
||||
scheme_structure_type, /* 46 */
|
||||
|
||||
/* number types (must be together) */
|
||||
scheme_integer_type, /* 47 */
|
||||
scheme_bignum_type, /* 48 */
|
||||
scheme_rational_type, /* 49 */
|
||||
scheme_float_type, /* 50 */
|
||||
scheme_double_type, /* 51 */
|
||||
scheme_complex_type, /* 52 */
|
||||
|
||||
/* other eqv?-able values (must be with numbers) */
|
||||
scheme_char_type, /* 53 */
|
||||
scheme_long_double_type, /* 54 */
|
||||
|
||||
/* other values */
|
||||
scheme_char_string_type, /* 55 */
|
||||
scheme_byte_string_type, /* 56 */
|
||||
scheme_unix_path_type, /* 57 */
|
||||
scheme_windows_path_type, /* 58 */
|
||||
scheme_symbol_type, /* 59 */
|
||||
scheme_keyword_type, /* 60 */
|
||||
scheme_null_type, /* 61 */
|
||||
scheme_pair_type, /* 62 */
|
||||
scheme_mutable_pair_type, /* 63 */
|
||||
scheme_vector_type, /* 64 */
|
||||
scheme_inspector_type, /* 65 */
|
||||
scheme_input_port_type, /* 66 */
|
||||
scheme_output_port_type, /* 67 */
|
||||
scheme_eof_type, /* 68 */
|
||||
scheme_true_type, /* 69 */
|
||||
scheme_false_type, /* 70 */
|
||||
scheme_void_type, /* 71 */
|
||||
scheme_primitive_syntax_type, /* 72 */
|
||||
scheme_macro_type, /* 73 */
|
||||
scheme_box_type, /* 74 */
|
||||
scheme_thread_type, /* 75 */
|
||||
scheme_cont_mark_set_type, /* 76 */
|
||||
scheme_sema_type, /* 77 */
|
||||
|
||||
/* hash table types (must be together for hash?
|
||||
* implementation */
|
||||
scheme_hash_table_type, /* 78 */
|
||||
scheme_hash_tree_type, /* 79 */
|
||||
scheme_eq_hash_tree_type, /* 80 */
|
||||
scheme_eqv_hash_tree_type, /* 81 */
|
||||
scheme_hash_tree_subtree_type, /* 82 */
|
||||
scheme_hash_tree_collision_type, /* 83 */
|
||||
scheme_hash_tree_indirection_type, /* 84 */
|
||||
scheme_bucket_type, /* 85 */
|
||||
scheme_bucket_table_type, /* 86 */
|
||||
|
||||
scheme_cpointer_type, /* 87 */
|
||||
scheme_prefix_type, /* 88 */
|
||||
scheme_weak_box_type, /* 89 */
|
||||
scheme_ephemeron_type, /* 90 */
|
||||
scheme_struct_type_type, /* 91 */
|
||||
scheme_set_macro_type, /* 92 */
|
||||
scheme_listener_type, /* 93 */
|
||||
scheme_env_type, /* 94 */
|
||||
scheme_startup_env_type, /* 95 */
|
||||
scheme_config_type, /* 96 */
|
||||
scheme_stx_type, /* 97 */
|
||||
scheme_will_executor_type, /* 98 */
|
||||
scheme_custodian_type, /* 99 */
|
||||
scheme_random_state_type, /* 100 */
|
||||
scheme_regexp_type, /* 101 */
|
||||
scheme_subprocess_type, /* 102 */
|
||||
scheme_eval_waiting_type, /* 103 */
|
||||
scheme_tail_call_waiting_type, /* 104 */
|
||||
scheme_undefined_type, /* 105 */
|
||||
scheme_struct_property_type, /* 106 */
|
||||
scheme_chaperone_property_type, /* 107 */
|
||||
scheme_multiple_values_type, /* 108 */
|
||||
scheme_placeholder_type, /* 109 */
|
||||
scheme_table_placeholder_type, /* 110 */
|
||||
scheme_svector_type, /* 111 */
|
||||
scheme_resolve_prefix_type, /* 112 */
|
||||
scheme_security_guard_type, /* 113 */
|
||||
scheme_indent_type, /* 114 */
|
||||
scheme_udp_type, /* 115 */
|
||||
scheme_udp_evt_type, /* 116 */
|
||||
scheme_tcp_accept_evt_type, /* 117 */
|
||||
scheme_id_macro_type, /* 118 */
|
||||
scheme_evt_set_type, /* 119 */
|
||||
scheme_wrap_evt_type, /* 120 */
|
||||
scheme_handle_evt_type, /* 121 */
|
||||
scheme_replace_evt_type, /* 122 */
|
||||
scheme_active_replace_evt_type, /* 123 */
|
||||
scheme_nack_guard_evt_type, /* 124 */
|
||||
scheme_semaphore_repost_type, /* 125 */
|
||||
scheme_channel_type, /* 126 */
|
||||
scheme_channel_put_type, /* 127 */
|
||||
scheme_thread_resume_type, /* 128 */
|
||||
scheme_thread_suspend_type, /* 129 */
|
||||
scheme_thread_dead_type, /* 130 */
|
||||
scheme_poll_evt_type, /* 131 */
|
||||
scheme_nack_evt_type, /* 132 */
|
||||
scheme_thread_set_type, /* 133 */
|
||||
scheme_string_converter_type, /* 134 */
|
||||
scheme_alarm_type, /* 135 */
|
||||
scheme_thread_recv_evt_type, /* 136 */
|
||||
scheme_thread_cell_type, /* 137 */
|
||||
scheme_channel_syncer_type, /* 138 */
|
||||
scheme_write_evt_type, /* 139 */
|
||||
scheme_always_evt_type, /* 140 */
|
||||
scheme_never_evt_type, /* 141 */
|
||||
scheme_progress_evt_type, /* 142 */
|
||||
scheme_place_dead_type, /* 143 */
|
||||
scheme_already_comp_type, /* 144 */
|
||||
scheme_readtable_type, /* 145 */
|
||||
scheme_thread_cell_values_type, /* 146 */
|
||||
scheme_global_ref_type, /* 147 */
|
||||
scheme_cont_mark_chain_type, /* 148 */
|
||||
scheme_raw_pair_type, /* 149 */
|
||||
scheme_prompt_type, /* 150 */
|
||||
scheme_prompt_tag_type, /* 151 */
|
||||
scheme_continuation_mark_key_type, /* 152 */
|
||||
scheme_delay_syntax_type, /* 153 */
|
||||
scheme_cust_box_type, /* 154 */
|
||||
scheme_logger_type, /* 155 */
|
||||
scheme_log_reader_type, /* 156 */
|
||||
scheme_noninline_proc_type, /* 157 */
|
||||
scheme_future_type, /* 158 */
|
||||
scheme_flvector_type, /* 159 */
|
||||
scheme_extflvector_type, /* 160 */
|
||||
scheme_fxvector_type, /* 161 */
|
||||
scheme_place_type, /* 162 */
|
||||
scheme_place_object_type, /* 163 */
|
||||
scheme_place_async_channel_type, /* 164 */
|
||||
scheme_place_bi_channel_type, /* 165 */
|
||||
scheme_once_used_type, /* 166 */
|
||||
scheme_serialized_symbol_type, /* 167 */
|
||||
scheme_serialized_keyword_type, /* 168 */
|
||||
scheme_serialized_structure_type, /* 169 */
|
||||
scheme_fsemaphore_type, /* 170 */
|
||||
scheme_serialized_tcp_fd_type, /* 171 */
|
||||
scheme_serialized_file_fd_type, /* 172 */
|
||||
scheme_port_closed_evt_type, /* 173 */
|
||||
scheme_proc_shape_type, /* 174 */
|
||||
scheme_struct_prop_proc_shape_type, /* 175 */
|
||||
scheme_struct_proc_shape_type, /* 176 */
|
||||
scheme_phantom_bytes_type, /* 177 */
|
||||
scheme_environment_variables_type, /* 178 */
|
||||
scheme_filesystem_change_evt_type, /* 179 */
|
||||
scheme_ctype_type, /* 180 */
|
||||
scheme_plumber_type, /* 181 */
|
||||
scheme_plumber_handle_type, /* 182 */
|
||||
scheme_deferred_expr_type, /* 183 */
|
||||
scheme_unquoted_printing_string_type, /* 184 */
|
||||
scheme_will_be_lambda_type, /* 185 */
|
||||
scheme_thunk_for_continue_type, /* 186 */
|
||||
|
||||
#ifdef MZTAG_REQUIRED
|
||||
_scheme_last_normal_type_, /* 187 */
|
||||
|
||||
/* The remaining tags exist for GC tracing (in non-conservative
|
||||
mode), but they are not needed for run-time tag tests */
|
||||
|
||||
scheme_rt_weak_array, /* 188 */
|
||||
|
||||
scheme_rt_comp_env, /* 189 */
|
||||
scheme_rt_constant_binding, /* 190 */
|
||||
scheme_rt_resolve_info, /* 191 */
|
||||
scheme_rt_unresolve_info, /* 192 */
|
||||
scheme_rt_optimize_info, /* 193 */
|
||||
scheme_rt_cont_mark, /* 194 */
|
||||
scheme_rt_saved_stack, /* 195 */
|
||||
scheme_rt_reply_item, /* 196 */
|
||||
scheme_rt_ir_lambda_info, /* 197 */
|
||||
scheme_rt_overflow, /* 198 */
|
||||
scheme_rt_overflow_jmp, /* 199 */
|
||||
scheme_rt_meta_cont, /* 200 */
|
||||
scheme_rt_dyn_wind_cell, /* 201 */
|
||||
scheme_rt_dyn_wind_info, /* 202 */
|
||||
scheme_rt_dyn_wind, /* 203 */
|
||||
scheme_rt_dup_check, /* 204 */
|
||||
scheme_rt_thread_memory, /* 205 */
|
||||
scheme_rt_input_file, /* 206 */
|
||||
scheme_rt_input_fd, /* 207 */
|
||||
scheme_rt_oskit_console_input, /* 208 */
|
||||
scheme_rt_tested_input_file, /* 209 */
|
||||
scheme_rt_tested_output_file, /* 210 */
|
||||
scheme_rt_indexed_string, /* 211 */
|
||||
scheme_rt_output_file, /* 212 */
|
||||
scheme_rt_pipe, /* 213 */
|
||||
scheme_rt_system_child, /* 214 */
|
||||
scheme_rt_tcp, /* 215 */
|
||||
scheme_rt_write_data, /* 216 */
|
||||
scheme_rt_tcp_select_info, /* 217 */
|
||||
scheme_rt_param_data, /* 218 */
|
||||
scheme_rt_will, /* 219 */
|
||||
scheme_rt_finalization, /* 220 */
|
||||
scheme_rt_finalizations, /* 221 */
|
||||
scheme_rt_cpp_object, /* 222 */
|
||||
scheme_rt_cpp_array_object, /* 223 */
|
||||
scheme_rt_stack_object, /* 224 */
|
||||
scheme_thread_hop_type, /* 225 */
|
||||
scheme_rt_srcloc, /* 226 */
|
||||
scheme_rt_evt, /* 227 */
|
||||
scheme_rt_syncing, /* 228 */
|
||||
scheme_rt_comp_prefix, /* 229 */
|
||||
scheme_rt_user_input, /* 230 */
|
||||
scheme_rt_user_output, /* 231 */
|
||||
scheme_rt_compact_port, /* 232 */
|
||||
scheme_rt_read_special_dw, /* 233 */
|
||||
scheme_rt_regwork, /* 234 */
|
||||
scheme_rt_rx_lazy_string, /* 235 */
|
||||
scheme_rt_buf_holder, /* 236 */
|
||||
scheme_rt_parameterization, /* 237 */
|
||||
scheme_rt_print_params, /* 238 */
|
||||
scheme_rt_read_params, /* 239 */
|
||||
scheme_rt_native_code, /* 240 */
|
||||
scheme_rt_native_code_plus_case, /* 241 */
|
||||
scheme_rt_jitter_data, /* 242 */
|
||||
scheme_rt_module_exports, /* 243 */
|
||||
scheme_rt_delay_load_info, /* 244 */
|
||||
scheme_rt_marshal_info, /* 245 */
|
||||
scheme_rt_unmarshal_info, /* 246 */
|
||||
scheme_rt_runstack, /* 247 */
|
||||
scheme_rt_sfs_info, /* 248 */
|
||||
scheme_rt_validate_clearing, /* 249 */
|
||||
scheme_rt_lightweight_cont, /* 250 */
|
||||
scheme_rt_export_info, /* 251 */
|
||||
scheme_rt_cont_jmp, /* 252 */
|
||||
scheme_rt_letrec_check_frame, /* 253 */
|
||||
#endif
|
||||
|
||||
_scheme_last_type_
|
||||
};
|
|
@ -1,24 +0,0 @@
|
|||
|
||||
/* Standard settings for Unix platforms. */
|
||||
/* Used by sconfig.h for known architectures. */
|
||||
|
||||
#define SYSTEM_TYPE_NAME "unix"
|
||||
#define UNIX_FILE_SYSTEM
|
||||
|
||||
#define USE_C_SYSLOG
|
||||
|
||||
#define DO_STACK_CHECK
|
||||
#ifndef ASSUME_FIXED_STACK_SIZE
|
||||
# define UNIX_FIND_STACK_BOUNDS
|
||||
#endif
|
||||
#define UNIX_STACK_MAXIMUM 8388608
|
||||
|
||||
#define UNIX_DYNAMIC_LOAD
|
||||
|
||||
#ifndef MZ_USE_DETERMINSTIC_FUEL
|
||||
# if defined(MZ_USE_PLACES) || defined(USE_PTHREAD_INSTEAD_OF_ITIMER)
|
||||
# define USE_PTHREAD_THREAD_TIMER
|
||||
# else
|
||||
# define USE_ITIMER
|
||||
# endif
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user