_FN3(_I(SEXP_OPCODE), _I(SEXP_STRING), _I(SEXP_FIXNUM), _I(SEXP_FIXNUM), "make-setter", 0, sexp_make_setter_op), _FN2(_I(SEXP_OPCODE), _I(SEXP_TYPE), _I(SEXP_SYMBOL), "type-slot-offset", 0, sexp_type_slot_offset_op), _OP(SEXP_OPC_GETTER, SEXP_OP_SLOTN_REF, 3, 0, _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_FIXNUM), 0, "slot-ref", 0, NULL), _OP(SEXP_OPC_SETTER, SEXP_OP_SLOTN_SET, 4, 0, SEXP_VOID, _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_FIXNUM), 0,"slot-set!", 0, NULL), #endif #ifdef PLAN9 #include "opt/plan9-opcodes.c" #else _FN1(_I(SEXP_OBJECT), _I(SEXP_IPORT), "port-fileno", 0, sexp_get_port_fileno), #endif #if SEXP_USE_MODULES _FN0(_I(SEXP_ENV), "current-environment", 0, sexp_current_environment), _FN1(_I(SEXP_ENV), _I(SEXP_ENV), "set-current-environment!", 0, sexp_set_current_environment), _FN0(_I(SEXP_ENV), "%meta-env", 0, sexp_meta_environment), _FN1(SEXP_NULL, _I(SEXP_ENV), "env-exports", 0, sexp_env_exports_op), _FN1OPT(_I(SEXP_PAIR), _I(SEXP_PAIR), "current-module-path", SEXP_FALSE, sexp_current_module_path_op), _FN1(_I(SEXP_STRING), _I(SEXP_STRING), "find-module-file", 0, sexp_find_module_file_op), _FN2(SEXP_VOID, _I(SEXP_STRING), _I(SEXP_ENV), "load-module-file", 0, sexp_load_module_file_op), _FN2(SEXP_VOID, _I(SEXP_STRING), _I(SEXP_BOOLEAN), "add-module-directory", 0, sexp_add_module_directory_op), #endif #if SEXP_USE_GREEN_THREADS _FN1OPT(_I(SEXP_OBJECT), _I(SEXP_OBJECT), "%dk", SEXP_FALSE, sexp_dk), _OP(SEXP_OPC_GENERIC, SEXP_OP_YIELD, 0, 0, SEXP_VOID, SEXP_FALSE, SEXP_FALSE, SEXP_FALSE, 0, "yield!", 0, NULL), #endif _FN0(_I(SEXP_OBJECT), "thread-parameters", 0, sexp_thread_parameters), _FN1(_I(SEXP_OBJECT), _I(SEXP_OBJECT), "thread-parameters-set!", 0, sexp_thread_parameters_set), #if SEXP_USE_PROFILE_VM _FN0(SEXP_VOID, "reset-vm-profile", 0, sexp_reset_vm_profile), _FN0(SEXP_VOID, "print-vm-profile", 0, sexp_print_vm_profile), #endif #if SEXP_USE_AUTO_FORCE
_OP(SEXP_OPC_SETTER, SEXP_OP_SLOTN_SET, 4, 0, SEXP_VOID, _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_FIXNUM), 0,"slot-set!", 0, NULL), #endif #if PLAN9 #include "opt/plan9-opcodes.c" #endif #if SEXP_USE_MODULES _FN0(_I(SEXP_ENV), "current-environment", 0, sexp_current_environment), _FN0(_I(SEXP_ENV), "%meta-env", 0, sexp_meta_environment), _FN1(SEXP_NULL, _I(SEXP_ENV), "env-exports", 0, sexp_env_exports_op), _FN0(_I(SEXP_PAIR), "current-module-path", 0, sexp_current_module_path_op), _FN1(_I(SEXP_STRING), _I(SEXP_STRING), "find-module-file", 0, sexp_find_module_file_op), _FN2(SEXP_VOID, _I(SEXP_STRING), _I(SEXP_ENV), "load-module-file", 0, sexp_load_module_file_op), _FN2(SEXP_VOID, _I(SEXP_STRING), _I(SEXP_BOOLEAN), "add-module-directory", 0, sexp_add_module_directory_op), #endif #if SEXP_USE_GREEN_THREADS _FN1OPT(_I(SEXP_OBJECT), _I(SEXP_OBJECT), "%dk", SEXP_FALSE, sexp_dk), _OP(SEXP_OPC_GENERIC, SEXP_OP_YIELD, 0, 0, SEXP_VOID, SEXP_FALSE, SEXP_FALSE, SEXP_FALSE, 0, "yield!", 0, NULL), #endif _FN0(_I(SEXP_OBJECT), "thread-parameters", 0, sexp_thread_parameters), _FN1(_I(SEXP_OBJECT), _I(SEXP_OBJECT), "thread-parameters-set!", 0, sexp_thread_parameters_set), #if SEXP_USE_PROFILE_VM _FN0(SEXP_VOID, "reset-vm-profile", 0, sexp_reset_vm_profile), _FN0(SEXP_VOID, "print-vm-profile", 0, sexp_print_vm_profile), #endif #if SEXP_USE_AUTO_FORCE _OP(SEXP_OPC_GENERIC, SEXP_OP_FORCE, 1, 0, _I(SEXP_OBJECT), _I(SEXP_OBJECT), SEXP_FALSE, SEXP_FALSE, 0, "force", 0, NULL), _FN2(_I(SEXP_PROMISE), _I(SEXP_BOOLEAN), _I(SEXP_OBJECT), "promise", 0, sexp_make_promise), #endif _OP(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), };