1 /* equates.h for Chez Scheme Version 9.5.4 */ 2 3 /* Do not edit this file. It is automatically generated and */ 4 /* specifically tailored to the version of Chez Scheme named */ 5 /* above. Always be certain that you have the correct version */ 6 /* of this file for the version of Chez Scheme you are using. */ 7 8 /* Warning: Some macros may evaluate arguments more than once. */ 9 10 /* Integer typedefs */ 11 typedef char I8; 12 typedef unsigned char U8; 13 typedef short I16; 14 typedef unsigned short U16; 15 typedef int I32; 16 typedef unsigned int U32; 17 typedef long long I64; 18 typedef unsigned long long U64; 19 20 /* constants from cmacros.ss */ 21 #define $c_func_closure_index 0x4 22 #define $c_func_closure_record_index 0x3 23 #define $c_func_code_object_index 0x2 24 #define $c_func_code_record_index 0x1 25 #define COMPRESS_FORMAT_BITS 0x3 26 #define COMPRESS_GZIP 0x0 27 #define COMPRESS_HIGH 0x3 28 #define COMPRESS_LOW 0x1 29 #define COMPRESS_LZ4 0x1 30 #define COMPRESS_MAX 0x4 31 #define COMPRESS_MEDIUM 0x2 32 #define COMPRESS_MIN 0x0 33 #define ERROR_CALL_ARGUMENT_COUNT 0x4 34 #define ERROR_CALL_NONPROCEDURE 0x3 35 #define ERROR_CALL_NONPROCEDURE_SYMBOL 0x2 36 #define ERROR_CALL_UNBOUND 0x1 37 #define ERROR_MVLET 0x8 38 #define ERROR_NONCONTINUABLE_INTERRUPT 0x6 39 #define ERROR_OTHER 0x0 40 #define ERROR_RESET 0x5 41 #define ERROR_VALUES 0x7 42 #define OPEN_ERROR_EXISTS 0x2 43 #define OPEN_ERROR_EXISTSNOT 0x3 44 #define OPEN_ERROR_OTHER 0x0 45 #define OPEN_ERROR_PROTECTION 0x1 46 #define PORT_FLAG_BINARY 0x400 47 #define PORT_FLAG_BLOCK_BUFFERED 0x20000 48 #define PORT_FLAG_BOL 0x8000 49 #define PORT_FLAG_CHAR_POSITIONS 0x100000 50 #define PORT_FLAG_CLOSED 0x800 51 #define PORT_FLAG_COMPRESSED 0x2000 52 #define PORT_FLAG_EOF 0x10000 53 #define PORT_FLAG_EXCLUSIVE 0x4000 54 #define PORT_FLAG_FILE 0x1000 55 #define PORT_FLAG_FOLD_CASE 0x400000 56 #define PORT_FLAG_INPUT 0x100 57 #define PORT_FLAG_INPUT_MODE 0x80000 58 #define PORT_FLAG_LINE_BUFFERED 0x40000 59 #define PORT_FLAG_NO_FOLD_CASE 0x800000 60 #define PORT_FLAG_OUTPUT 0x200 61 #define PORT_FLAG_R6RS 0x200000 62 #define SAPPEND 0x3 63 #define SDEFAULT 0x4 64 #define SEOF -0x1 65 #define SERROR 0x0 66 #define SICONV_DUNNO 0x0 67 #define SICONV_INCOMPLETE 0x2 68 #define SICONV_INVALID 0x1 69 #define SICONV_NOROOM 0x3 70 #define SREPLACE 0x2 71 #define STRVNCATE 0x1 72 #define address_bits 0x20 73 #define alloc_waste_maximum 0x400 74 #define annotation_all 0x3 75 #define annotation_debug 0x1 76 #define annotation_profile 0x2 77 #define architecture x86 78 #define asm_arg_reg_cnt 0x1 79 #define asm_arg_reg_max 0x1 80 #define bigit_bits 0x20 81 #define bigit_bytes 0x4 82 #define bignum_data_disp 0x5 83 #define bignum_length_factor 0x40 84 #define bignum_length_offset 0x6 85 #define bignum_sign_offset 0x5 86 #define bignum_type_disp 0x1 87 #define black_hole (ptr)0x46 88 #define box_ref_disp 0x5 89 #define box_type_disp 0x1 90 #define byte_alignment 0x8 91 #define byte_constant_mask 0xFFFFFFFF 92 #define bytes_per_card 0x100 93 #define bytes_per_segment 0x2000 94 #define bytevector_data_disp 0x9 95 #define bytevector_immutable_flag 0x4 96 #define bytevector_length_factor 0x8 97 #define bytevector_length_offset 0x3 98 #define bytevector_pad_disp 0x5 99 #define bytevector_type_disp 0x1 100 #define c_entry_name_vector #(thread-context get-thread-context handle-apply-overflood handle-docall-error handle-overflow handle-overflood handle-nonprocedure-symbol thread-list split-and-resize raw-collect-cond raw-tc-mutex activate-thread deactivate-thread unactivate-thread handle-values-error handle-mvlet-error handle-arg-error foreign-entry install-library-entry get-more-room scan-remembered-set instantiate-code-object Sreturn Scall-one-result Scall-any-results) 101 #define c_entry_vector_size 0x19 102 #define cached_stack_link_disp 0x4 103 #define cached_stack_size_disp 0x0 104 #define card_offset_bits 0x8 105 #define cards_per_segment 0x20 106 #define char_data_offset 0x8 107 #define char_factor 0x100 108 #define closure_code_disp 0x3 109 #define closure_data_disp 0x7 110 #define code_arity_mask_disp 0x11 111 #define code_closure_length_disp 0x15 112 #define code_data_disp 0x21 113 #define code_flag_continuation 0x2 114 #define code_flag_guardian 0x8 115 #define code_flag_system 0x1 116 #define code_flag_template 0x4 117 #define code_flags_offset 0x8 118 #define code_info_disp 0x19 119 #define code_length_disp 0x5 120 #define code_name_disp 0xD 121 #define code_pinfos_disp 0x1D 122 #define code_reloc_disp 0x9 123 #define code_type_disp 0x1 124 #define collect_interrupt_index 0x1 125 #define continuation_code_disp 0x3 126 #define continuation_link_disp 0x13 127 #define continuation_return_address_disp 0x17 128 #define continuation_stack_clength_disp 0xF 129 #define continuation_stack_disp 0x7 130 #define continuation_stack_length_disp 0xB 131 #define continuation_winders_disp 0x1B 132 #define countof_bignum 0x5 133 #define countof_box 0x9 134 #define countof_bytevector 0x15 135 #define countof_closure 0x3 136 #define countof_code 0xB 137 #define countof_continuation 0x4 138 #define countof_ephemeron 0x19 139 #define countof_exactnum 0x8 140 #define countof_flonum 0x2 141 #define countof_fxvector 0x14 142 #define countof_guardian 0x17 143 #define countof_inexactnum 0x7 144 #define countof_locked 0x16 145 #define countof_oblist 0x18 146 #define countof_pair 0x0 147 #define countof_port 0xA 148 #define countof_ratnum 0x6 149 #define countof_relocation_table 0x10 150 #define countof_rtd_counts 0xE 151 #define countof_stack 0xF 152 #define countof_string 0x13 153 #define countof_symbol 0x1 154 #define countof_thread 0xC 155 #define countof_tlc 0xD 156 #define countof_types 0x1A 157 #define countof_vector 0x12 158 #define countof_weakpair 0x11 159 #define default_collect_trip_bytes 0x400000 160 #define default_heap_reserve_ratio 1.0 161 #define default_max_nonstatic_generation 0x4 162 #define default_stack_size 0x7FF8 163 #define default_timer_ticks 0x3E8 164 #define dtvec_hour 0x3 165 #define dtvec_isdst 0x9 166 #define dtvec_mday 0x4 167 #define dtvec_min 0x2 168 #define dtvec_mon 0x5 169 #define dtvec_nsec 0x0 170 #define dtvec_sec 0x1 171 #define dtvec_size 0xC 172 #define dtvec_tzname 0xB 173 #define dtvec_tzoff 0xA 174 #define dtvec_wday 0x7 175 #define dtvec_yday 0x8 176 #define dtvec_year 0x6 177 #define ephemeron_car_disp 0x7 178 #define ephemeron_cdr_disp 0xB 179 #define ephemeron_next_disp 0xF 180 #define ephemeron_trigger_next_disp 0x13 181 #define eq_hashtable_subtype_ephemeron 0x2 182 #define eq_hashtable_subtype_normal 0x0 183 #define eq_hashtable_subtype_weak 0x1 184 #define exactnum_imag_disp 0x9 185 #define exactnum_real_disp 0x5 186 #define exactnum_type_disp 0x1 187 #define fasl_fld_double 0xA 188 #define fasl_fld_i16 0x2 189 #define fasl_fld_i24 0x3 190 #define fasl_fld_i32 0x4 191 #define fasl_fld_i40 0x5 192 #define fasl_fld_i48 0x6 193 #define fasl_fld_i56 0x7 194 #define fasl_fld_i64 0x8 195 #define fasl_fld_ptr 0x0 196 #define fasl_fld_single 0x9 197 #define fasl_fld_u8 0x1 198 #define fasl_header #vu8(0 0 0 0 99 104 101 122) 199 #define fasl_type_base_rtd 0x1A 200 #define fasl_type_box 0x1 201 #define fasl_type_bytevector 0x1D 202 #define fasl_type_closure 0x6 203 #define fasl_type_code 0xB 204 #define fasl_type_entry 0xD 205 #define fasl_type_ephemeron 0x1C 206 #define fasl_type_eq_hashtable 0x1F 207 #define fasl_type_exactnum 0x14 208 #define fasl_type_flonum 0x8 209 #define fasl_type_fxvector 0x1B 210 #define fasl_type_gensym 0x13 211 #define fasl_type_graph 0x10 212 #define fasl_type_graph_def 0x11 213 #define fasl_type_graph_ref 0x12 214 #define fasl_type_gzip 0x2B 215 #define fasl_type_header 0x0 216 #define fasl_type_immediate 0xC 217 #define fasl_type_immutable_box 0x29 218 #define fasl_type_immutable_bytevector 0x28 219 #define fasl_type_immutable_fxvector 0x27 220 #define fasl_type_immutable_string 0x26 221 #define fasl_type_immutable_vector 0x25 222 #define fasl_type_inexactnum 0x5 223 #define fasl_type_large_integer 0xA 224 #define fasl_type_library 0xE 225 #define fasl_type_library_code 0xF 226 #define fasl_type_lz4 0x2C 227 #define fasl_type_pair 0x7 228 #define fasl_type_ratnum 0x3 229 #define fasl_type_record 0x17 230 #define fasl_type_revisit 0x23 231 #define fasl_type_rtd 0x18 232 #define fasl_type_small_integer 0x19 233 #define fasl_type_string 0x9 234 #define fasl_type_symbol 0x2 235 #define fasl_type_symbol_hashtable 0x20 236 #define fasl_type_uncompressed 0x2A 237 #define fasl_type_vector 0x4 238 #define fasl_type_visit 0x22 239 #define fasl_type_visit_revisit 0x24 240 #define fasl_type_weak_pair 0x1E 241 #define fixnum_bits 0x1E 242 #define fixnum_factor 0x4 243 #define fixnum_offset 0x2 244 #define fld_byte_index 0x4 245 #define fld_mutablep_index 0x2 246 #define fld_name_index 0x1 247 #define fld_type_index 0x3 248 #define flonum_data_disp 0x6 249 #define forward_address_disp 0x4 250 #define forward_marker (ptr)0x2E 251 #define forward_marker_disp 0x0 252 #define ftype_guardian_rep (ptr)0x56 253 #define fxvector_data_disp 0x5 254 #define fxvector_immutable_flag 0x8 255 #define fxvector_length_factor 0x10 256 #define fxvector_length_offset 0x4 257 #define fxvector_type_disp 0x1 258 #define guardian_entry_next_disp 0xC 259 #define guardian_entry_obj_disp 0x0 260 #define guardian_entry_rep_disp 0x4 261 #define guardian_entry_tconc_disp 0x8 262 #define hashtable_default_size 0x8 263 #define header_size_bignum 0x4 264 #define header_size_bytevector 0x8 265 #define header_size_closure 0x4 266 #define header_size_code 0x20 267 #define header_size_fxvector 0x4 268 #define header_size_record 0x4 269 #define header_size_reloc_table 0x8 270 #define header_size_string 0x4 271 #define header_size_vector 0x4 272 #define ignore_event_flag 0x0 273 #define inexactnum_imag_disp 0x11 274 #define inexactnum_pad_disp 0x5 275 #define inexactnum_real_disp 0x9 276 #define inexactnum_type_disp 0x1 277 #define int_bits 0x20 278 #define integer_divide_instruction 1 279 #define keyboard_interrupt_index 0x3 280 #define library_entry_vector_size 0x210 281 #define libspec_closure_index 0xD 282 #define libspec_does_not_expect_headroom_index 0x0 283 #define libspec_error_index 0xE 284 #define libspec_fake_index 0x10 285 #define libspec_flags_index 0x2 286 #define libspec_has_does_not_expect_headroom_version_index 0xF 287 #define libspec_index_base_offset 0x1 288 #define libspec_index_base_size 0x9 289 #define libspec_index_offset 0x0 290 #define libspec_index_size 0xA 291 #define libspec_interface_offset 0xA 292 #define libspec_interface_size 0x3 293 #define libspec_name_index 0x1 294 #define log2_ptr_bytes 0x2 295 #define long_bits 0x20 296 #define long_long_bits 0x40 297 #define machine_type 0x1 298 #define machine_type_a6fb 0x15 299 #define machine_type_a6le 0xB 300 #define machine_type_a6nb 0x19 301 #define machine_type_a6nt 0x1B 302 #define machine_type_a6ob 0xF 303 #define machine_type_a6osx 0xD 304 #define machine_type_a6s2 0x11 305 #define machine_type_alist ((0 . any) (1 . i3le) (2 . ti3le) (3 . i3nt) (4 . ti3nt) (5 . i3fb) (6 . ti3fb) (7 . i3ob) (8 . ti3ob) (9 . i3osx) (10 . ti3osx) (11 . a6le) (12 . ta6le) (13 . a6osx) (14 . ta6osx) (15 . a6ob) (16 . ta6ob) (17 . a6s2) (18 . ta6s2) (19 . i3s2) (20 . ti3s2) (21 . a6fb) (22 . ta6fb) (23 . i3nb) (24 . ti3nb) (25 . a6nb) (26 . ta6nb) (27 . a6nt) (28 . ta6nt) (29 . i3qnx) (30 . ti3qnx) (31 . arm32le) (32 . tarm32le) (33 . ppc32le) (34 . tppc32le)) 306 #define machine_type_any 0x0 307 #define machine_type_arm32le 0x1F 308 #define machine_type_i3fb 0x5 309 #define machine_type_i3le 0x1 310 #define machine_type_i3nb 0x17 311 #define machine_type_i3nt 0x3 312 #define machine_type_i3ob 0x7 313 #define machine_type_i3osx 0x9 314 #define machine_type_i3qnx 0x1D 315 #define machine_type_i3s2 0x13 316 #define machine_type_limit 0x23 317 #define machine_type_name i3le 318 #define machine_type_ppc32le 0x21 319 #define machine_type_ta6fb 0x16 320 #define machine_type_ta6le 0xC 321 #define machine_type_ta6nb 0x1A 322 #define machine_type_ta6nt 0x1C 323 #define machine_type_ta6ob 0x10 324 #define machine_type_ta6osx 0xE 325 #define machine_type_ta6s2 0x12 326 #define machine_type_tarm32le 0x20 327 #define machine_type_ti3fb 0x6 328 #define machine_type_ti3le 0x2 329 #define machine_type_ti3nb 0x18 330 #define machine_type_ti3nt 0x4 331 #define machine_type_ti3ob 0x8 332 #define machine_type_ti3osx 0xA 333 #define machine_type_ti3qnx 0x1E 334 #define machine_type_ti3s2 0x14 335 #define machine_type_tppc32le 0x22 336 #define mask_bignum 0x1F 337 #define mask_bignum_sign 0x20 338 #define mask_binary_input_port 0x5FF 339 #define mask_binary_output_port 0x6FF 340 #define mask_binary_port 0x4FF 341 #define mask_boolean 0xF7 342 #define mask_box 0x7F 343 #define mask_bwp 0xFFFFFFFF 344 #define mask_bytevector 0x3 345 #define mask_char 0xFF 346 #define mask_closure 0x7 347 #define mask_code 0xFF 348 #define mask_continuation_code 0x2FF 349 #define mask_eof 0xFFFFFFFF 350 #define mask_exactnum 0xFFFFFFFF 351 #define mask_false 0xFFFFFFFF 352 #define mask_fixnum 0x3 353 #define mask_flonum 0x7 354 #define mask_fxvector 0x7 355 #define mask_guardian_code 0x8FF 356 #define mask_immediate 0x7 357 #define mask_inexactnum 0xFFFFFFFF 358 #define mask_input_port 0x1FF 359 #define mask_mutable_box 0xFFFFFFFF 360 #define mask_mutable_bytevector 0x7 361 #define mask_mutable_fxvector 0xF 362 #define mask_mutable_string 0xF 363 #define mask_mutable_vector 0x7 364 #define mask_nil 0xFFFFFFFF 365 #define mask_octet -0x3FD 366 #define mask_other_number 0xF 367 #define mask_output_port 0x2FF 368 #define mask_pair 0x7 369 #define mask_port 0xFF 370 #define mask_ratnum 0xFFFFFFFF 371 #define mask_record 0x7 372 #define mask_rtd_counts 0xFFFFFFFF 373 #define mask_signed_bignum 0x3F 374 #define mask_string 0x7 375 #define mask_symbol 0x7 376 #define mask_system_code 0x1FF 377 #define mask_textual_input_port 0x5FF 378 #define mask_textual_output_port 0x6FF 379 #define mask_textual_port 0x4FF 380 #define mask_thread 0xFFFFFFFF 381 #define mask_tlc 0xFFFFFFFF 382 #define mask_typed_object 0x7 383 #define mask_unbound 0xFFFFFFFF 384 #define mask_vector 0x3 385 #define max_float_alignment 0x4 386 #define max_integer_alignment 0x4 387 #define max_real_space 0xB 388 #define max_space 0xC 389 #define max_sweep_space 0xA 390 #define maximum_bignum_length (iptr)0x3FFFFFF 391 #define maximum_bytevector_length (iptr)0x1FFFFFFF 392 #define maximum_fxvector_length (iptr)0xFFFFFFF 393 #define maximum_interrupt_index 0x4 394 #define maximum_string_length (iptr)0xFFFFFFF 395 #define maximum_vector_length (iptr)0x1FFFFFFF 396 #define minimum_segment_request 0x80 397 #define most_negative_fixnum (iptr)-0x20000000 398 #define most_positive_fixnum (iptr)0x1FFFFFFF 399 #define native_endianness little 400 #define one_shot_headroom 0x600 401 #define ordinary_type_bits 0x8 402 #define pair_car_disp 0x7 403 #define pair_cdr_disp 0xB 404 #define pair_shift 0x3 405 #define port_flag_binary 0x4 406 #define port_flag_block_buffered 0x200 407 #define port_flag_bol 0x80 408 #define port_flag_char_positions 0x1000 409 #define port_flag_closed 0x8 410 #define port_flag_compressed 0x20 411 #define port_flag_eof 0x100 412 #define port_flag_exclusive 0x40 413 #define port_flag_file 0x10 414 #define port_flag_fold_case 0x4000 415 #define port_flag_input 0x1 416 #define port_flag_input_mode 0x800 417 #define port_flag_line_buffered 0x400 418 #define port_flag_no_fold_case 0x8000 419 #define port_flag_output 0x2 420 #define port_flag_r6rs 0x2000 421 #define port_flags_offset 0x8 422 #define port_handler_disp 0x5 423 #define port_ibuffer_disp 0x1D 424 #define port_icount_disp 0xD 425 #define port_ilast_disp 0x19 426 #define port_info_disp 0x21 427 #define port_name_disp 0x25 428 #define port_obuffer_disp 0x15 429 #define port_ocount_disp 0x9 430 #define port_olast_disp 0x11 431 #define port_type_disp 0x1 432 #define prelex_is_flags_offset 0x8 433 #define prelex_is_mask 0xFF00 434 #define prelex_sticky_mask 0xFF 435 #define prelex_was_flags_offset 0x10 436 #define primary_type_bits 0x3 437 #define ptr_bits 0x20 438 #define ptr_bytes 0x4 439 #define ptrdiff_t_bits 0x20 440 #define ratnum_denominator_disp 0x9 441 #define ratnum_numerator_disp 0x5 442 #define ratnum_type_disp 0x1 443 #define real_space_alist ((new . 0) (impure . 1) (symbol . 2) (port . 3) (weakpair . 4) (ephemeron . 5) (pure . 6) (continuation . 7) (code . 8) (pure-typed-object . 9) (impure-record . 10) (data . 11)) 444 #define record_data_disp 0x5 445 #define record_type_counts_disp 0x25 446 #define record_type_disp 0x1 447 #define record_type_flags_disp 0x1D 448 #define record_type_flds_disp 0x19 449 #define record_type_mpm_disp 0x11 450 #define record_type_name_disp 0x15 451 #define record_type_parent_disp 0x5 452 #define record_type_pm_disp 0xD 453 #define record_type_size_disp 0x9 454 #define record_type_type_disp 0x1 455 #define record_type_uid_disp 0x21 456 #define reloc_abs 0x0 457 #define reloc_code_offset_index 0x3 458 #define reloc_code_offset_mask 0x3FF 459 #define reloc_code_offset_offset 0x4 460 #define reloc_extended_format 0x1 461 #define reloc_item_offset_index 0x2 462 #define reloc_item_offset_mask 0x3FFFF 463 #define reloc_item_offset_offset 0xE 464 #define reloc_longp_index 0x4 465 #define reloc_rel 0x1 466 #define reloc_table_code_disp 0x4 467 #define reloc_table_data_disp 0x8 468 #define reloc_table_size_disp 0x0 469 #define reloc_type_index 0x1 470 #define reloc_type_mask 0x7 471 #define reloc_type_offset 0x1 472 #define return_address_frame_size_disp -0x8 473 #define return_address_livemask_disp -0x10 474 #define return_address_mv_return_address_disp -0x4 475 #define return_address_toplink_disp -0xC 476 #define rp_header_frame_size_disp 0x8 477 #define rp_header_livemask_disp 0x0 478 #define rp_header_mv_return_address_disp 0xC 479 #define rp_header_toplink_disp 0x4 480 #define rtd_counts_data_disp 0xD 481 #define rtd_counts_timestamp_disp 0x5 482 #define rtd_counts_type_disp 0x1 483 #define rtd_generative 0x1 484 #define rtd_opaque 0x2 485 #define rtd_sealed 0x4 486 #define sbwp (ptr)0x4E 487 #define scaled_shot_1_shot_flag -0x4 488 #define scheme_version 0x90504 489 #define segment_card_offset_bits 0x5 490 #define segment_offset_bits 0xD 491 #define segment_t1_bits 0x13 492 #define segment_table_levels 0x1 493 #define seof (ptr)0x36 494 #define sfalse (ptr)0x6 495 #define short_bits 0x10 496 #define signal_interrupt_index 0x4 497 #define size_box 0x8 498 #define size_cached_stack 0x8 499 #define size_continuation 0x20 500 #define size_ephemeron 0x10 501 #define size_exactnum 0x10 502 #define size_flonum 0x8 503 #define size_forward 0x8 504 #define size_guardian_entry 0x10 505 #define size_inexactnum 0x18 506 #define size_pair 0x8 507 #define size_port 0x28 508 #define size_ratnum 0x10 509 #define size_record_type 0x28 510 #define size_rp_header 0x10 511 #define size_rtd_counts 0x410 512 #define size_symbol 0x18 513 #define size_tc 0x158 514 #define size_thread 0x8 515 #define size_tlc 0x10 516 #define size_typed_object 0x8 517 #define size_t_bits 0x20 518 #define snil (ptr)0x26 519 #define space_char_list (#\n #\i #\x #\q #\w #\e #\p #\k #\c #\r #\s #\d #\e) 520 #define space_cname_list ("new" "impure" "symbol" "port" "weakpr" "emph" "pure" "cont" "code" "p-tobj" "ip-rec" "data" "empty") 521 #define space_code 0x8 522 #define space_continuation 0x7 523 #define space_data 0xB 524 #define space_empty 0xC 525 #define space_ephemeron 0x5 526 #define space_impure 0x1 527 #define space_impure_record 0xA 528 #define space_locked 0x20 529 #define space_new 0x0 530 #define space_old 0x40 531 #define space_port 0x3 532 #define space_pure 0x6 533 #define space_pure_typed_object 0x9 534 #define space_symbol 0x2 535 #define space_weakpair 0x4 536 #define stack_frame_limit 0x100 537 #define stack_slop 0x200 538 #define static_generation 0xFF 539 #define string_char_bits 0x20 540 #define string_char_bytes 0x4 541 #define string_char_offset 0x2 542 #define string_data_disp 0x5 543 #define string_immutable_flag 0x8 544 #define string_length_factor 0x10 545 #define string_length_offset 0x4 546 #define string_type_disp 0x1 547 #define strue (ptr)0xE 548 #define sunbound (ptr)0x1E 549 #define svoid (ptr)0x3E 550 #define symbol_hash_disp 0x19 551 #define symbol_name_disp 0x11 552 #define symbol_plist_disp 0xD 553 #define symbol_pvalue_disp 0x9 554 #define symbol_splist_disp 0x15 555 #define symbol_value_disp 0x5 556 #define tc_DSTBV_disp 0x150 557 #define tc_SRCBV_disp 0x154 558 #define tc_U_disp 0xA4 559 #define tc_V_disp 0xA8 560 #define tc_W_disp 0xAC 561 #define tc_X_disp 0xB0 562 #define tc_Y_disp 0xB4 563 #define tc_ac0_disp 0x4 564 #define tc_ac1_disp 0x8 565 #define tc_active_disp 0x8C 566 #define tc_alloc_counter_disp 0x144 567 #define tc_ap_disp 0x18 568 #define tc_arg_regs_disp 0x0 569 #define tc_block_counter_disp 0xE0 570 #define tc_cchain_disp 0x80 571 #define tc_code_ranges_to_flush_disp 0x84 572 #define tc_compile_profile_disp 0x10C 573 #define tc_compress_format_disp 0x130 574 #define tc_compress_level_disp 0x134 575 #define tc_cp_disp 0x10 576 #define tc_current_error_disp 0xDC 577 #define tc_current_input_disp 0xD4 578 #define tc_current_mso_disp 0xE8 579 #define tc_current_output_disp 0xD8 580 #define tc_default_record_equal_procedure_disp 0x128 581 #define tc_default_record_hash_procedure_disp 0x12C 582 #define tc_disable_count_disp 0xC0 583 #define tc_eap_disp 0x1C 584 #define tc_esp_disp 0x14 585 #define tc_fxfirst_bit_set_bv_disp 0xF4 586 #define tc_fxlength_bv_disp 0xF0 587 #define tc_generate_inspector_information_disp 0x110 588 #define tc_generate_procedure_source_information_disp 0x114 589 #define tc_generate_profile_forms_disp 0x118 590 #define tc_guardian_entries_disp 0x7C 591 #define tc_instr_counter_disp 0x13C 592 #define tc_keyboard_interrupt_pending_disp 0xCC 593 #define tc_lz4_out_buffer_disp 0x138 594 #define tc_meta_level_disp 0x108 595 #define tc_null_immutable_bytevector_disp 0x100 596 #define tc_null_immutable_fxvector_disp 0xFC 597 #define tc_null_immutable_string_disp 0x104 598 #define tc_null_immutable_vector_disp 0xF8 599 #define tc_optimize_level_disp 0x11C 600 #define tc_parameters_disp 0x14C 601 #define tc_random_seed_disp 0x88 602 #define tc_real_eap_disp 0x38 603 #define tc_ret_disp 0x20 604 #define tc_scheme_stack_disp 0x90 605 #define tc_scheme_stack_size_disp 0x9C 606 #define tc_sfd_disp 0xE4 607 #define tc_sfp_disp 0xC 608 #define tc_signal_interrupt_pending_disp 0xC4 609 #define tc_signal_interrupt_queue_disp 0xC8 610 #define tc_something_pending_disp 0xB8 611 #define tc_stack_cache_disp 0x94 612 #define tc_stack_link_disp 0x98 613 #define tc_subset_mode_disp 0x120 614 #define tc_suppress_primitive_inlining_disp 0x124 615 #define tc_target_machine_disp 0xEC 616 #define tc_td_disp 0x34 617 #define tc_threadno_disp 0xD0 618 #define tc_timer_ticks_disp 0xBC 619 #define tc_trap_disp 0x24 620 #define tc_ts_disp 0x30 621 #define tc_virtual_registers_disp 0x3C 622 #define tc_winders_disp 0xA0 623 #define tc_xp_disp 0x28 624 #define tc_yp_disp 0x2C 625 #define thread_tc_disp 0x5 626 #define thread_type_disp 0x1 627 #define time_collector_cpu 0x5 628 #define time_collector_real 0x6 629 #define time_duration 0x2 630 #define time_monotonic 0x3 631 #define time_process 0x0 632 #define time_t_bits 0x20 633 #define time_thread 0x1 634 #define time_utc 0x4 635 #define timer_interrupt_index 0x2 636 #define tlc_ht_disp 0x9 637 #define tlc_keyval_disp 0x5 638 #define tlc_next_disp 0xD 639 #define tlc_type_disp 0x1 640 #define type_bignum 0x6 641 #define type_binary_input_port 0x51E 642 #define type_binary_output_port 0x61E 643 #define type_binary_port 0x41E 644 #define type_boolean 0x6 645 #define type_box 0xE 646 #define type_bytevector 0x1 647 #define type_char 0x16 648 #define type_closure 0x5 649 #define type_code 0x3E 650 #define type_continuation_code 0x23E 651 #define type_exactnum 0x56 652 #define type_fixnum 0x0 653 #define type_flonum 0x2 654 #define type_fxvector 0x3 655 #define type_guardian_code 0x83E 656 #define type_immediate 0x6 657 #define type_immutable_box 0x8E 658 #define type_immutable_bytevector 0x5 659 #define type_immutable_fxvector 0xB 660 #define type_immutable_string 0xA 661 #define type_immutable_vector 0x4 662 #define type_inexactnum 0x36 663 #define type_input_port 0x11E 664 #define type_io_port 0x31E 665 #define type_mutable_box 0xE 666 #define type_mutable_bytevector 0x1 667 #define type_mutable_fxvector 0x3 668 #define type_mutable_string 0x2 669 #define type_mutable_vector 0x0 670 #define type_negative_bignum 0x26 671 #define type_octet 0x0 672 #define type_other_number 0x6 673 #define type_output_port 0x21E 674 #define type_pair 0x1 675 #define type_port 0x1E 676 #define type_positive_bignum 0x6 677 #define type_ratnum 0x16 678 #define type_record 0x7 679 #define type_rtd_counts 0x6E 680 #define type_string 0x2 681 #define type_symbol 0x3 682 #define type_system_code 0x13E 683 #define type_textual_input_port 0x11E 684 #define type_textual_output_port 0x21E 685 #define type_textual_port 0x1E 686 #define type_thread 0x4E 687 #define type_tlc 0x5E 688 #define type_typed_object 0x7 689 #define type_vector 0x0 690 #define typed_object_type_disp 0x1 691 #define typedef_i16 "short" 692 #define typedef_i32 "int" 693 #define typedef_i64 "long long" 694 #define typedef_i8 "char" 695 #define typedef_iptr "int" 696 #define typedef_ptr "void *" 697 #define typedef_string_char "unsigned int" 698 #define typedef_u16 "unsigned short" 699 #define typedef_u32 "unsigned int" 700 #define typedef_u64 "unsigned long long" 701 #define typedef_u8 "unsigned char" 702 #define typedef_uptr "unsigned int" 703 #define typemod 0x8 704 #define unactivate_mode_deactivate 0x1 705 #define unactivate_mode_destroy 0x2 706 #define unactivate_mode_noop 0x0 707 #define unaligned_floats 1 708 #define unaligned_integers 1 709 #define underflow_limit 0x40 710 #define unscaled_shot_1_shot_flag -0x1 711 #define vector_data_disp 0x5 712 #define vector_immutable_flag 0x4 713 #define vector_length_factor 0x8 714 #define vector_length_offset 0x3 715 #define vector_type_disp 0x1 716 #define virtual_register_count 0x10 717 #define wchar_bits 0x20 718 719 /* constants from declare-c-entries */ 720 #define CENTRY_Scall_any_results 24 721 #define CENTRY_Scall_one_result 23 722 #define CENTRY_Sreturn 22 723 #define CENTRY_activate_thread 11 724 #define CENTRY_deactivate_thread 12 725 #define CENTRY_foreign_entry 17 726 #define CENTRY_get_more_room 19 727 #define CENTRY_get_thread_context 1 728 #define CENTRY_handle_apply_overflood 2 729 #define CENTRY_handle_arg_error 16 730 #define CENTRY_handle_docall_error 3 731 #define CENTRY_handle_mvlet_error 15 732 #define CENTRY_handle_nonprocedure_symbol 6 733 #define CENTRY_handle_overflood 5 734 #define CENTRY_handle_overflow 4 735 #define CENTRY_handle_values_error 14 736 #define CENTRY_install_library_entry 18 737 #define CENTRY_instantiate_code_object 21 738 #define CENTRY_raw_collect_cond 9 739 #define CENTRY_raw_tc_mutex 10 740 #define CENTRY_scan_remembered_set 20 741 #define CENTRY_split_and_resize 8 742 #define CENTRY_thread_context 0 743 #define CENTRY_thread_list 7 744 #define CENTRY_unactivate_thread 13 745 746 /* displacements for records */ 747 #define eq_hashtable_rtd_disp 1 748 #define eq_hashtable_type_disp 5 749 #define eq_hashtable_mutablep_disp 9 750 #define eq_hashtable_vec_disp 13 751 #define eq_hashtable_minlen_disp 17 752 #define eq_hashtable_size_disp 21 753 #define eq_hashtable_subtype_disp 25 754 #define symbol_hashtable_rtd_disp 1 755 #define symbol_hashtable_type_disp 5 756 #define symbol_hashtable_mutablep_disp 9 757 #define symbol_hashtable_vec_disp 13 758 #define symbol_hashtable_minlen_disp 17 759 #define symbol_hashtable_size_disp 21 760 #define symbol_hashtable_equivp_disp 25 761 #define code_info_rtd_disp 1 762 #define code_info_src_disp 5 763 #define code_info_sexpr_disp 9 764 #define code_info_free_disp 13 765 #define code_info_live_disp 17 766 #define code_info_rpis_disp 21 767 768 /* predicates */ 769 #define Simmediatep(x) (((uptr)(x)&0x7)==0x6) 770 #define Sportp(x) ((((uptr)(x)&0x7)==0x7) &&\ 771 (((uptr)((*((ptr *)((uptr)(x)+1))))&0xFF)==0x1E)) 772 #define Scodep(x) ((((uptr)(x)&0x7)==0x7) &&\ 773 (((uptr)((*((ptr *)((uptr)(x)+1))))&0xFF)==0x3E)) 774 775 /* structure accessors */ 776 #define INITCAR(x) (*((ptr *)((uptr)(x)+7))) 777 #define INITCDR(x) (*((ptr *)((uptr)(x)+11))) 778 #define SETCAR(x,y) DIRTYSET(((ptr *)((uptr)(x)+7)),(y)) 779 #define SETCDR(x,y) DIRTYSET(((ptr *)((uptr)(x)+11)),(y)) 780 #define BOXTYPE(x) (*((iptr *)((uptr)(x)+1))) 781 #define INITBOXREF(x) (*((ptr *)((uptr)(x)+5))) 782 #define SETBOXREF(x,y) DIRTYSET(((ptr *)((uptr)(x)+5)),(y)) 783 #define EPHEMERONNEXT(x) (*((ptr *)((uptr)(x)+15))) 784 #define INITEPHEMERONNEXT(x) (*((ptr *)((uptr)(x)+15))) 785 #define EPHEMERONTRIGGERNEXT(x) (*((ptr *)((uptr)(x)+19))) 786 #define INITEPHEMERONTRIGGERNEXT(x) (*((ptr *)((uptr)(x)+19))) 787 #define TLCTYPE(x) (*((iptr *)((uptr)(x)+1))) 788 #define TLCKEYVAL(x) (*((ptr *)((uptr)(x)+5))) 789 #define TLCHT(x) (*((ptr *)((uptr)(x)+9))) 790 #define TLCNEXT(x) (*((ptr *)((uptr)(x)+13))) 791 #define INITTLCKEYVAL(x) (*((ptr *)((uptr)(x)+5))) 792 #define INITTLCHT(x) (*((ptr *)((uptr)(x)+9))) 793 #define INITTLCNEXT(x) (*((ptr *)((uptr)(x)+13))) 794 #define SETTLCNEXT(x,y) DIRTYSET(((ptr *)((uptr)(x)+13)),(y)) 795 #define SYMVAL(x) (*((ptr *)((uptr)(x)+5))) 796 #define SYMPVAL(x) (*((ptr *)((uptr)(x)+9))) 797 #define SYMPLIST(x) (*((ptr *)((uptr)(x)+13))) 798 #define SYMNAME(x) (*((ptr *)((uptr)(x)+17))) 799 #define SYMSPLIST(x) (*((ptr *)((uptr)(x)+21))) 800 #define SYMHASH(x) (*((ptr *)((uptr)(x)+25))) 801 #define INITSYMVAL(x) (*((ptr *)((uptr)(x)+5))) 802 #define INITSYMPVAL(x) (*((ptr *)((uptr)(x)+9))) 803 #define INITSYMPLIST(x) (*((ptr *)((uptr)(x)+13))) 804 #define INITSYMNAME(x) (*((ptr *)((uptr)(x)+17))) 805 #define INITSYMSPLIST(x) (*((ptr *)((uptr)(x)+21))) 806 #define INITSYMHASH(x) (*((ptr *)((uptr)(x)+25))) 807 #define SETSYMVAL(x,y) DIRTYSET(((ptr *)((uptr)(x)+5)),(y)) 808 #define SETSYMPVAL(x,y) DIRTYSET(((ptr *)((uptr)(x)+9)),(y)) 809 #define SETSYMPLIST(x,y) DIRTYSET(((ptr *)((uptr)(x)+13)),(y)) 810 #define SETSYMNAME(x,y) DIRTYSET(((ptr *)((uptr)(x)+17)),(y)) 811 #define SETSYMSPLIST(x,y) DIRTYSET(((ptr *)((uptr)(x)+21)),(y)) 812 #define SETSYMHASH(x,y) DIRTYSET(((ptr *)((uptr)(x)+25)),(y)) 813 #define VECTTYPE(x) (*((iptr *)((uptr)(x)+1))) 814 #define INITVECTIT(x,i) (((ptr *)((uptr)(x)+5))[i]) 815 #define SETVECTIT(x,i,y) DIRTYSET((((ptr *)((uptr)(x)+5))+i),(y)) 816 #define FXVECTOR_TYPE(x) (*((iptr *)((uptr)(x)+1))) 817 #define FXVECTIT(x,i) (((ptr *)((uptr)(x)+5))[i]) 818 #define BYTEVECTOR_TYPE(x) (*((iptr *)((uptr)(x)+1))) 819 #define BVIT(x,i) (((octet *)((uptr)(x)+9))[i]) 820 #define INEXACTNUM_TYPE(x) (*((iptr *)((uptr)(x)+1))) 821 #define INEXACTNUM_REAL_PART(x) (*((double *)((uptr)(x)+9))) 822 #define INEXACTNUM_IMAG_PART(x) (*((double *)((uptr)(x)+17))) 823 #define EXACTNUM_TYPE(x) (*((iptr *)((uptr)(x)+1))) 824 #define EXACTNUM_REAL_PART(x) (*((ptr *)((uptr)(x)+5))) 825 #define EXACTNUM_IMAG_PART(x) (*((ptr *)((uptr)(x)+9))) 826 #define RATTYPE(x) (*((iptr *)((uptr)(x)+1))) 827 #define RATNUM(x) (*((ptr *)((uptr)(x)+5))) 828 #define RATDEN(x) (*((ptr *)((uptr)(x)+9))) 829 #define CLOSENTRY(x) (*((ptr *)((uptr)(x)+3))) 830 #define CLOSIT(x,i) (((ptr *)((uptr)(x)+7))[i]) 831 #define FLODAT(x) (*((double *)((uptr)(x)+6))) 832 #define PORTTYPE(x) (*((iptr *)((uptr)(x)+1))) 833 #define PORTNAME(x) (*((ptr *)((uptr)(x)+37))) 834 #define PORTHANDLER(x) (*((ptr *)((uptr)(x)+5))) 835 #define PORTINFO(x) (*((ptr *)((uptr)(x)+33))) 836 #define PORTOCNT(x) (*((iptr *)((uptr)(x)+9))) 837 #define PORTOLAST(x) (*((ptr *)((uptr)(x)+17))) 838 #define PORTOBUF(x) (*((ptr *)((uptr)(x)+21))) 839 #define PORTICNT(x) (*((iptr *)((uptr)(x)+13))) 840 #define PORTILAST(x) (*((ptr *)((uptr)(x)+25))) 841 #define PORTIBUF(x) (*((ptr *)((uptr)(x)+29))) 842 #define STRTYPE(x) (*((iptr *)((uptr)(x)+1))) 843 #define STRIT(x,i) (((string_char *)((uptr)(x)+5))[i]) 844 #define BIGTYPE(x) (*((iptr *)((uptr)(x)+1))) 845 #define BIGIT(x,i) (((bigit *)((uptr)(x)+5))[i]) 846 #define CODETYPE(x) (*((iptr *)((uptr)(x)+1))) 847 #define CODELEN(x) (*((iptr *)((uptr)(x)+5))) 848 #define CODERELOC(x) (*((ptr *)((uptr)(x)+9))) 849 #define CODENAME(x) (*((ptr *)((uptr)(x)+13))) 850 #define CODEARITYMASK(x) (*((ptr *)((uptr)(x)+17))) 851 #define CODEFREE(x) (*((iptr *)((uptr)(x)+21))) 852 #define CODEINFO(x) (*((ptr *)((uptr)(x)+25))) 853 #define CODEPINFOS(x) (*((ptr *)((uptr)(x)+29))) 854 #define CODEIT(x,i) (((octet *)((uptr)(x)+33))[i]) 855 #define RELOCSIZE(x) (*((iptr *)((uptr)(x)+0))) 856 #define RELOCCODE(x) (*((ptr *)((uptr)(x)+4))) 857 #define RELOCIT(x,i) (((uptr *)((uptr)(x)+8))[i]) 858 #define CONTSTACK(x) (*((ptr *)((uptr)(x)+7))) 859 #define CONTLENGTH(x) (*((iptr *)((uptr)(x)+11))) 860 #define CONTCLENGTH(x) (*((iptr *)((uptr)(x)+15))) 861 #define CONTLINK(x) (*((ptr *)((uptr)(x)+19))) 862 #define CONTRET(x) (*((ptr *)((uptr)(x)+23))) 863 #define CONTWINDERS(x) (*((ptr *)((uptr)(x)+27))) 864 #define RTDCOUNTSTYPE(x) (*((iptr *)((uptr)(x)+1))) 865 #define RTDCOUNTSTIMESTAMP(x) (*((U64 *)((uptr)(x)+5))) 866 #define RTDCOUNTSIT(x,i) (((uptr *)((uptr)(x)+13))[i]) 867 #define RECORDDESCPARENT(x) (*((ptr *)((uptr)(x)+5))) 868 #define RECORDDESCSIZE(x) (*((ptr *)((uptr)(x)+9))) 869 #define RECORDDESCPM(x) (*((ptr *)((uptr)(x)+13))) 870 #define RECORDDESCMPM(x) (*((ptr *)((uptr)(x)+17))) 871 #define RECORDDESCNAME(x) (*((ptr *)((uptr)(x)+21))) 872 #define RECORDDESCFLDS(x) (*((ptr *)((uptr)(x)+25))) 873 #define RECORDDESCFLAGS(x) (*((ptr *)((uptr)(x)+29))) 874 #define RECORDDESCUID(x) (*((ptr *)((uptr)(x)+33))) 875 #define RECORDDESCCOUNTS(x) (*((ptr *)((uptr)(x)+37))) 876 #define RECORDINSTTYPE(x) (*((ptr *)((uptr)(x)+1))) 877 #define RECORDINSTIT(x,i) (((ptr *)((uptr)(x)+5))[i]) 878 #define CLOSCODE(p) ((ptr)((uptr)CLOSENTRY(p)-code_data_disp)) 879 #define CODEENTRYPOINT(x) ((ptr)((uptr)(x)+code_data_disp)) 880 #define SETCLOSCODE(p,x) (CLOSENTRY(p) = CODEENTRYPOINT(x)) 881 #define SYMCODE(p) ((ptr)((uptr)SYMPVAL(p)-code_data_disp)) 882 #define INITSYMCODE(p,x) (INITSYMPVAL(p) = CODEENTRYPOINT(x)) 883 #define SETSYMCODE(p,x) SETSYMPVAL(p,CODEENTRYPOINT(x)) 884 #define BIGLEN(x) ((iptr)((uptr)BIGTYPE(x) >> bignum_length_offset)) 885 #define BIGSIGN(x) ((BIGTYPE(x) & mask_bignum_sign) >> bignum_sign_offset) 886 #define SETBIGLENANDSIGN(x,xl,xs) BIGTYPE(x) = (uptr)(xl) << bignum_length_offset | (xs) << bignum_sign_offset | type_bignum 887 #define CLOSLEN(p) CODEFREE(CLOSCODE(p)) 888 #define GUARDIANOBJ(x) (*((ptr *)((uptr)(x)+0))) 889 #define GUARDIANREP(x) (*((ptr *)((uptr)(x)+4))) 890 #define GUARDIANTCONC(x) (*((ptr *)((uptr)(x)+8))) 891 #define GUARDIANNEXT(x) (*((ptr *)((uptr)(x)+12))) 892 #define INITGUARDIANOBJ(x) (*((ptr *)((uptr)(x)+0))) 893 #define INITGUARDIANREP(x) (*((ptr *)((uptr)(x)+4))) 894 #define INITGUARDIANTCONC(x) (*((ptr *)((uptr)(x)+8))) 895 #define INITGUARDIANNEXT(x) (*((ptr *)((uptr)(x)+12))) 896 #define FORWARDMARKER(x) (*((ptr *)((uptr)(x)+0))) 897 #define FORWARDADDRESS(x) (*((ptr *)((uptr)(x)+4))) 898 #define CACHEDSTACKSIZE(x) (*((iptr *)((uptr)(x)+0))) 899 #define CACHEDSTACKLINK(x) (*((ptr *)((uptr)(x)+4))) 900 #define RPHEADERFRAMESIZE(x) (*((iptr *)((uptr)(x)+8))) 901 #define RPHEADERLIVEMASK(x) (*((ptr *)((uptr)(x)+0))) 902 #define RPHEADERTOPLINK(x) (*((uptr *)((uptr)(x)+4))) 903 904 /* machine types */ 905 #define machine_type_names {"any", "i3le", "ti3le", "i3nt", "ti3nt", "i3fb", "ti3fb", "i3ob", "ti3ob", "i3osx", "ti3osx", "a6le", "ta6le", "a6osx", "ta6osx", "a6ob", "ta6ob", "a6s2", "ta6s2", "i3s2", "ti3s2", "a6fb", "ta6fb", "i3nb", "ti3nb", "a6nb", "ta6nb", "a6nt", "ta6nt", "i3qnx", "ti3qnx", "arm32le", "tarm32le", "ppc32le", "tppc32le"} 906 907 /* allocation-space names */ 908 #define alloc_space_names "new", "impure", "symbol", "port", "weakpr", "emph", "pure", "cont", "code", "p-tobj", "ip-rec", "data", "empty" 909 910 /* allocation-space characters */ 911 #define alloc_space_chars 'n', 'i', 'x', 'q', 'w', 'e', 'p', 'k', 'c', 'r', 's', 'd', 'e' 912 913 /* threads */ 914 #define THREADTC(x) (*((uptr *)((uptr)(x)+5))) 915 916 /* thread-context data */ 917 #define DSTBV(x) (*((ptr *)((uptr)(x)+336))) 918 #define SRCBV(x) (*((ptr *)((uptr)(x)+340))) 919 #define U(x) (*((ptr *)((uptr)(x)+164))) 920 #define V(x) (*((ptr *)((uptr)(x)+168))) 921 #define W(x) (*((ptr *)((uptr)(x)+172))) 922 #define X(x) (*((ptr *)((uptr)(x)+176))) 923 #define Y(x) (*((ptr *)((uptr)(x)+180))) 924 #define AC0(x) (*((void* *)((uptr)(x)+4))) 925 #define AC1(x) (*((void* *)((uptr)(x)+8))) 926 #define ACTIVE(x) (*((I32 *)((uptr)(x)+140))) 927 #define ALLOCCOUNTER(x) (*((U64 *)((uptr)(x)+324))) 928 #define AP(x) (*((void* *)((uptr)(x)+24))) 929 #define ARGREGS(x,i) (((void* *)((uptr)(x)+0))[i]) 930 #define BLOCKCOUNTER(x) (*((ptr *)((uptr)(x)+224))) 931 #define CCHAIN(x) (*((ptr *)((uptr)(x)+128))) 932 #define CODERANGESTOFLUSH(x) (*((ptr *)((uptr)(x)+132))) 933 #define COMPILEPROFILE(x) (*((ptr *)((uptr)(x)+268))) 934 #define COMPRESSFORMAT(x) (*((ptr *)((uptr)(x)+304))) 935 #define COMPRESSLEVEL(x) (*((ptr *)((uptr)(x)+308))) 936 #define CP(x) (*((void* *)((uptr)(x)+16))) 937 #define CURRENTERROR(x) (*((ptr *)((uptr)(x)+220))) 938 #define CURRENTINPUT(x) (*((ptr *)((uptr)(x)+212))) 939 #define CURRENTMSO(x) (*((ptr *)((uptr)(x)+232))) 940 #define CURRENTOUTPUT(x) (*((ptr *)((uptr)(x)+216))) 941 #define DEFAULTRECORDEQUALPROCEDURE(x) (*((ptr *)((uptr)(x)+296))) 942 #define DEFAULTRECORDHASHPROCEDURE(x) (*((ptr *)((uptr)(x)+300))) 943 #define DISABLECOUNT(x) (*((ptr *)((uptr)(x)+192))) 944 #define EAP(x) (*((void* *)((uptr)(x)+28))) 945 #define ESP(x) (*((void* *)((uptr)(x)+20))) 946 #define FXFIRSTBITSETBV(x) (*((ptr *)((uptr)(x)+244))) 947 #define FXLENGTHBV(x) (*((ptr *)((uptr)(x)+240))) 948 #define GENERATEINSPECTORINFORMATION(x) (*((ptr *)((uptr)(x)+272))) 949 #define GENERATEPROCEDURESOURCEINFORMATION(x) (*((ptr *)((uptr)(x)+276))) 950 #define GENERATEPROFILEFORMS(x) (*((ptr *)((uptr)(x)+280))) 951 #define GUARDIANENTRIES(x) (*((ptr *)((uptr)(x)+124))) 952 #define INSTRCOUNTER(x) (*((U64 *)((uptr)(x)+316))) 953 #define KEYBOARDINTERRUPTPENDING(x) (*((ptr *)((uptr)(x)+204))) 954 #define LZ4OUTBUFFER(x) (*((void* *)((uptr)(x)+312))) 955 #define METALEVEL(x) (*((ptr *)((uptr)(x)+264))) 956 #define NULLIMMUTABLEBYTEVECTOR(x) (*((ptr *)((uptr)(x)+256))) 957 #define NULLIMMUTABLEFXVECTOR(x) (*((ptr *)((uptr)(x)+252))) 958 #define NULLIMMUTABLESTRING(x) (*((ptr *)((uptr)(x)+260))) 959 #define NULLIMMUTABLEVECTOR(x) (*((ptr *)((uptr)(x)+248))) 960 #define OPTIMIZELEVEL(x) (*((ptr *)((uptr)(x)+284))) 961 #define PARAMETERS(x) (*((ptr *)((uptr)(x)+332))) 962 #define RANDOMSEED(x) (*((U32 *)((uptr)(x)+136))) 963 #define REAL_EAP(x) (*((void* *)((uptr)(x)+56))) 964 #define RET(x) (*((void* *)((uptr)(x)+32))) 965 #define SCHEMESTACK(x) (*((void* *)((uptr)(x)+144))) 966 #define SCHEMESTACKSIZE(x) (*((iptr *)((uptr)(x)+156))) 967 #define SFD(x) (*((ptr *)((uptr)(x)+228))) 968 #define SFP(x) (*((void* *)((uptr)(x)+12))) 969 #define SIGNALINTERRUPTPENDING(x) (*((ptr *)((uptr)(x)+196))) 970 #define SIGNALINTERRUPTQUEUE(x) (*((ptr *)((uptr)(x)+200))) 971 #define SOMETHINGPENDING(x) (*((ptr *)((uptr)(x)+184))) 972 #define STACKCACHE(x) (*((ptr *)((uptr)(x)+148))) 973 #define STACKLINK(x) (*((ptr *)((uptr)(x)+152))) 974 #define SUBSETMODE(x) (*((ptr *)((uptr)(x)+288))) 975 #define SUPPRESSPRIMITIVEINLINING(x) (*((ptr *)((uptr)(x)+292))) 976 #define TARGETMACHINE(x) (*((ptr *)((uptr)(x)+236))) 977 #define TD(x) (*((void* *)((uptr)(x)+52))) 978 #define THREADNO(x) (*((ptr *)((uptr)(x)+208))) 979 #define TIMERTICKS(x) (*((ptr *)((uptr)(x)+188))) 980 #define TRAP(x) (*((void* *)((uptr)(x)+36))) 981 #define TS(x) (*((void* *)((uptr)(x)+48))) 982 #define VIRTUALREGISTERS(x,i) (((ptr *)((uptr)(x)+60))[i]) 983 #define WINDERS(x) (*((ptr *)((uptr)(x)+160))) 984 #define XP(x) (*((void* *)((uptr)(x)+40))) 985 #define YP(x) (*((void* *)((uptr)(x)+44))) 986 #define ARGREG(x,i) (((void* *)((uptr)(x)+0))[i]) 987 #define VIRTREG(x,i) (((ptr *)((uptr)(x)+60))[i]) 988 989 /* library entries we access from C code */ 990 #define library_nonprocedure_code 152 991 #define library_dounderflow 154 992