1 2 enum { 3 4 /* Compiled bytecode elements: */ 5 scheme_toplevel_type, /* 0 */ 6 scheme_static_toplevel_type, /* 1 */ 7 scheme_local_type, /* 2 */ 8 scheme_local_unbox_type, /* 3 */ 9 scheme_application_type, /* 4 */ 10 scheme_application2_type, /* 5 */ 11 scheme_application3_type, /* 6 */ 12 scheme_sequence_type, /* 7 */ 13 scheme_branch_type, /* 8 */ 14 scheme_lambda_type, /* 9 */ 15 scheme_let_value_type, /* 10 */ 16 scheme_let_void_type, /* 11 */ 17 scheme_letrec_type, /* 12 */ 18 scheme_let_one_type, /* 13 */ 19 scheme_with_cont_mark_type, /* 14 */ 20 21 scheme_define_values_type, /* 15 */ 22 scheme_set_bang_type, /* 16 */ 23 scheme_boxenv_type, /* 17 */ 24 scheme_begin0_sequence_type, /* 18 */ 25 scheme_varref_form_type, /* 19 */ 26 scheme_apply_values_type, /* 20 */ 27 scheme_with_immed_mark_type, /* 21 */ 28 scheme_case_lambda_sequence_type, /* 22 */ 29 scheme_inline_variant_type, /* 23 */ 30 31 _scheme_values_types_, /* 24 */ 32 /* All following types are values at run time */ 33 34 scheme_linklet_type, /* 25 */ 35 36 /* Replacements for some of the above as the 37 compiler's intermediate representation for 38 optimization: */ 39 scheme_ir_local_type, /* 26 */ 40 scheme_ir_lambda_type, /* 27 */ 41 scheme_ir_let_value_type, /* 28 */ 42 scheme_ir_let_header_type, /* 29 */ 43 scheme_ir_toplevel_type, /* 30 */ 44 45 scheme_quote_compilation_type, /* used while writing, only */ 46 47 /* Generated in the compiler front-end, but 48 registered in the prefix table instead of 49 used directly as an "expression": */ 50 scheme_variable_type, /* 32 */ 51 52 _scheme_ir_values_types_, /* 33 */ 53 /* All of the following are literal values from the 54 perspective of the compiler */ 55 56 scheme_linklet_bundle_type, /* 34 */ 57 scheme_instance_type, /* 35 */ 58 59 /* procedure types */ 60 scheme_prim_type, /* 36 */ 61 scheme_closed_prim_type, /* 37 */ 62 scheme_closure_type, /* 38 */ 63 scheme_case_closure_type, /* 39 */ 64 scheme_cont_type, /* 40 */ 65 scheme_escaping_cont_type, /* 41 */ 66 scheme_proc_struct_type, /* 42 */ 67 scheme_native_closure_type, /* 43 */ 68 scheme_proc_chaperone_type, /* 44 */ 69 70 scheme_chaperone_type, /* 45 */ 71 72 /* structure type (plus one above for procs) */ 73 scheme_structure_type, /* 46 */ 74 75 /* number types (must be together) */ 76 scheme_integer_type, /* 47 */ 77 scheme_bignum_type, /* 48 */ 78 scheme_rational_type, /* 49 */ 79 scheme_float_type, /* 50 */ 80 scheme_double_type, /* 51 */ 81 scheme_complex_type, /* 52 */ 82 83 /* other eqv?-able values (must be with numbers) */ 84 scheme_char_type, /* 53 */ 85 scheme_long_double_type, /* 54 */ 86 87 /* other values */ 88 scheme_char_string_type, /* 55 */ 89 scheme_byte_string_type, /* 56 */ 90 scheme_unix_path_type, /* 57 */ 91 scheme_windows_path_type, /* 58 */ 92 scheme_symbol_type, /* 59 */ 93 scheme_keyword_type, /* 60 */ 94 scheme_null_type, /* 61 */ 95 scheme_pair_type, /* 62 */ 96 scheme_mutable_pair_type, /* 63 */ 97 scheme_vector_type, /* 64 */ 98 scheme_inspector_type, /* 65 */ 99 scheme_input_port_type, /* 66 */ 100 scheme_output_port_type, /* 67 */ 101 scheme_eof_type, /* 68 */ 102 scheme_true_type, /* 69 */ 103 scheme_false_type, /* 70 */ 104 scheme_void_type, /* 71 */ 105 scheme_primitive_syntax_type, /* 72 */ 106 scheme_macro_type, /* 73 */ 107 scheme_box_type, /* 74 */ 108 scheme_thread_type, /* 75 */ 109 scheme_cont_mark_set_type, /* 76 */ 110 scheme_sema_type, /* 77 */ 111 112 /* hash table types (must be together for hash? 113 * implementation */ 114 scheme_hash_table_type, /* 78 */ 115 scheme_hash_tree_type, /* 79 */ 116 scheme_eq_hash_tree_type, /* 80 */ 117 scheme_eqv_hash_tree_type, /* 81 */ 118 scheme_hash_tree_subtree_type, /* 82 */ 119 scheme_hash_tree_collision_type, /* 83 */ 120 scheme_hash_tree_indirection_type, /* 84 */ 121 scheme_bucket_type, /* 85 */ 122 scheme_bucket_table_type, /* 86 */ 123 124 scheme_cpointer_type, /* 87 */ 125 scheme_prefix_type, /* 88 */ 126 scheme_weak_box_type, /* 89 */ 127 scheme_ephemeron_type, /* 90 */ 128 scheme_struct_type_type, /* 91 */ 129 scheme_set_macro_type, /* 92 */ 130 scheme_listener_type, /* 93 */ 131 scheme_env_type, /* 94 */ 132 scheme_startup_env_type, /* 95 */ 133 scheme_config_type, /* 96 */ 134 scheme_stx_type, /* 97 */ 135 scheme_will_executor_type, /* 98 */ 136 scheme_custodian_type, /* 99 */ 137 scheme_random_state_type, /* 100 */ 138 scheme_regexp_type, /* 101 */ 139 scheme_subprocess_type, /* 102 */ 140 scheme_eval_waiting_type, /* 103 */ 141 scheme_tail_call_waiting_type, /* 104 */ 142 scheme_undefined_type, /* 105 */ 143 scheme_struct_property_type, /* 106 */ 144 scheme_chaperone_property_type, /* 107 */ 145 scheme_multiple_values_type, /* 108 */ 146 scheme_placeholder_type, /* 109 */ 147 scheme_table_placeholder_type, /* 110 */ 148 scheme_svector_type, /* 111 */ 149 scheme_resolve_prefix_type, /* 112 */ 150 scheme_security_guard_type, /* 113 */ 151 scheme_indent_type, /* 114 */ 152 scheme_udp_type, /* 115 */ 153 scheme_udp_evt_type, /* 116 */ 154 scheme_tcp_accept_evt_type, /* 117 */ 155 scheme_id_macro_type, /* 118 */ 156 scheme_evt_set_type, /* 119 */ 157 scheme_wrap_evt_type, /* 120 */ 158 scheme_handle_evt_type, /* 121 */ 159 scheme_replace_evt_type, /* 122 */ 160 scheme_active_replace_evt_type, /* 123 */ 161 scheme_nack_guard_evt_type, /* 124 */ 162 scheme_semaphore_repost_type, /* 125 */ 163 scheme_channel_type, /* 126 */ 164 scheme_channel_put_type, /* 127 */ 165 scheme_thread_resume_type, /* 128 */ 166 scheme_thread_suspend_type, /* 129 */ 167 scheme_thread_dead_type, /* 130 */ 168 scheme_poll_evt_type, /* 131 */ 169 scheme_nack_evt_type, /* 132 */ 170 scheme_thread_set_type, /* 133 */ 171 scheme_string_converter_type, /* 134 */ 172 scheme_alarm_type, /* 135 */ 173 scheme_thread_recv_evt_type, /* 136 */ 174 scheme_thread_cell_type, /* 137 */ 175 scheme_channel_syncer_type, /* 138 */ 176 scheme_write_evt_type, /* 139 */ 177 scheme_always_evt_type, /* 140 */ 178 scheme_never_evt_type, /* 141 */ 179 scheme_progress_evt_type, /* 142 */ 180 scheme_place_dead_type, /* 143 */ 181 scheme_already_comp_type, /* 144 */ 182 scheme_readtable_type, /* 145 */ 183 scheme_thread_cell_values_type, /* 146 */ 184 scheme_global_ref_type, /* 147 */ 185 scheme_cont_mark_chain_type, /* 148 */ 186 scheme_raw_pair_type, /* 149 */ 187 scheme_prompt_type, /* 150 */ 188 scheme_prompt_tag_type, /* 151 */ 189 scheme_continuation_mark_key_type, /* 152 */ 190 scheme_delay_syntax_type, /* 153 */ 191 scheme_cust_box_type, /* 154 */ 192 scheme_logger_type, /* 155 */ 193 scheme_log_reader_type, /* 156 */ 194 scheme_noninline_proc_type, /* 157 */ 195 scheme_future_type, /* 158 */ 196 scheme_flvector_type, /* 159 */ 197 scheme_extflvector_type, /* 160 */ 198 scheme_fxvector_type, /* 161 */ 199 scheme_place_type, /* 162 */ 200 scheme_place_object_type, /* 163 */ 201 scheme_place_async_channel_type, /* 164 */ 202 scheme_place_bi_channel_type, /* 165 */ 203 scheme_once_used_type, /* 166 */ 204 scheme_serialized_symbol_type, /* 167 */ 205 scheme_serialized_keyword_type, /* 168 */ 206 scheme_serialized_structure_type, /* 169 */ 207 scheme_fsemaphore_type, /* 170 */ 208 scheme_serialized_tcp_fd_type, /* 171 */ 209 scheme_serialized_file_fd_type, /* 172 */ 210 scheme_port_closed_evt_type, /* 173 */ 211 scheme_proc_shape_type, /* 174 */ 212 scheme_struct_prop_proc_shape_type, /* 175 */ 213 scheme_struct_proc_shape_type, /* 176 */ 214 scheme_phantom_bytes_type, /* 177 */ 215 scheme_environment_variables_type, /* 178 */ 216 scheme_filesystem_change_evt_type, /* 179 */ 217 scheme_ctype_type, /* 180 */ 218 scheme_plumber_type, /* 181 */ 219 scheme_plumber_handle_type, /* 182 */ 220 scheme_deferred_expr_type, /* 183 */ 221 scheme_unquoted_printing_string_type, /* 184 */ 222 scheme_will_be_lambda_type, /* 185 */ 223 scheme_thunk_for_continue_type, /* 186 */ 224 225 #ifdef MZTAG_REQUIRED 226 _scheme_last_normal_type_, /* 187 */ 227 228 /* The remaining tags exist for GC tracing (in non-conservative 229 mode), but they are not needed for run-time tag tests */ 230 231 scheme_rt_weak_array, /* 188 */ 232 233 scheme_rt_comp_env, /* 189 */ 234 scheme_rt_constant_binding, /* 190 */ 235 scheme_rt_resolve_info, /* 191 */ 236 scheme_rt_unresolve_info, /* 192 */ 237 scheme_rt_optimize_info, /* 193 */ 238 scheme_rt_cont_mark, /* 194 */ 239 scheme_rt_saved_stack, /* 195 */ 240 scheme_rt_reply_item, /* 196 */ 241 scheme_rt_ir_lambda_info, /* 197 */ 242 scheme_rt_overflow, /* 198 */ 243 scheme_rt_overflow_jmp, /* 199 */ 244 scheme_rt_meta_cont, /* 200 */ 245 scheme_rt_dyn_wind_cell, /* 201 */ 246 scheme_rt_dyn_wind_info, /* 202 */ 247 scheme_rt_dyn_wind, /* 203 */ 248 scheme_rt_dup_check, /* 204 */ 249 scheme_rt_thread_memory, /* 205 */ 250 scheme_rt_input_file, /* 206 */ 251 scheme_rt_input_fd, /* 207 */ 252 scheme_rt_oskit_console_input, /* 208 */ 253 scheme_rt_tested_input_file, /* 209 */ 254 scheme_rt_tested_output_file, /* 210 */ 255 scheme_rt_indexed_string, /* 211 */ 256 scheme_rt_output_file, /* 212 */ 257 scheme_rt_pipe, /* 213 */ 258 scheme_rt_system_child, /* 214 */ 259 scheme_rt_tcp, /* 215 */ 260 scheme_rt_write_data, /* 216 */ 261 scheme_rt_tcp_select_info, /* 217 */ 262 scheme_rt_param_data, /* 218 */ 263 scheme_rt_will, /* 219 */ 264 scheme_rt_finalization, /* 220 */ 265 scheme_rt_finalizations, /* 221 */ 266 scheme_rt_cpp_object, /* 222 */ 267 scheme_rt_cpp_array_object, /* 223 */ 268 scheme_rt_stack_object, /* 224 */ 269 scheme_thread_hop_type, /* 225 */ 270 scheme_rt_srcloc, /* 226 */ 271 scheme_rt_evt, /* 227 */ 272 scheme_rt_syncing, /* 228 */ 273 scheme_rt_comp_prefix, /* 229 */ 274 scheme_rt_user_input, /* 230 */ 275 scheme_rt_user_output, /* 231 */ 276 scheme_rt_compact_port, /* 232 */ 277 scheme_rt_read_special_dw, /* 233 */ 278 scheme_rt_regwork, /* 234 */ 279 scheme_rt_rx_lazy_string, /* 235 */ 280 scheme_rt_buf_holder, /* 236 */ 281 scheme_rt_parameterization, /* 237 */ 282 scheme_rt_print_params, /* 238 */ 283 scheme_rt_read_params, /* 239 */ 284 scheme_rt_native_code, /* 240 */ 285 scheme_rt_native_code_plus_case, /* 241 */ 286 scheme_rt_jitter_data, /* 242 */ 287 scheme_rt_module_exports, /* 243 */ 288 scheme_rt_delay_load_info, /* 244 */ 289 scheme_rt_marshal_info, /* 245 */ 290 scheme_rt_unmarshal_info, /* 246 */ 291 scheme_rt_runstack, /* 247 */ 292 scheme_rt_sfs_info, /* 248 */ 293 scheme_rt_validate_clearing, /* 249 */ 294 scheme_rt_lightweight_cont, /* 250 */ 295 scheme_rt_export_info, /* 251 */ 296 scheme_rt_cont_jmp, /* 252 */ 297 scheme_rt_letrec_check_frame, /* 253 */ 298 #endif 299 300 _scheme_last_type_ 301 }; 302