4 /* Generated with PRIMITIVE in primitives.cpp */
6 #define EACH_PRIMITIVE(_) \
10 _(array_to_quotation) \
35 _(byte_array_to_bignum) \
39 _(callstack_to_array) \
45 _(compute_identity_hashcode) \
48 _(context_object_for) \
55 _(disable_gc_events) \
95 _(identity_hashcode) \
96 _(innermost_stack_frame_executing) \
97 _(innermost_stack_frame_scan) \
103 _(modify_code_heap) \
109 _(reset_dispatch_stats) \
111 _(resize_byte_array) \
116 _(save_image_and_exit) \
117 _(set_context_object) \
119 _(set_innermost_stack_frame_quot) \
122 _(set_special_object) \
123 _(set_string_nth_fast) \
124 _(set_string_nth_slow) \
130 _(strip_stack_traces) \
135 _(uninitialized_byte_array) \
140 #define EACH_ALIEN_PRIMITIVE(_) \
141 _(signed_cell,fixnum,from_signed_cell,to_fixnum) \
142 _(unsigned_cell,cell,from_unsigned_cell,to_cell) \
143 _(signed_8,s64,from_signed_8,to_signed_8) \
144 _(unsigned_8,u64,from_unsigned_8,to_unsigned_8) \
145 _(signed_4,s32,from_signed_4,to_fixnum) \
146 _(unsigned_4,u32,from_unsigned_4,to_cell) \
147 _(signed_2,s16,from_signed_2,to_fixnum) \
148 _(unsigned_2,u16,from_unsigned_2,to_cell) \
149 _(signed_1,s8,from_signed_1,to_fixnum) \
150 _(unsigned_1,u8,from_unsigned_1,to_cell) \
151 _(float,float,from_float,to_float) \
152 _(double,double,from_double,to_double) \
153 _(cell,void *,allot_alien,pinned_alien_offset)
155 #define DECLARE_PRIMITIVE(name) VM_C_API void primitive_##name(factor_vm *parent);
157 #define DECLARE_ALIEN_PRIMITIVE(name, type, from, to) \
158 DECLARE_PRIMITIVE(alien_##name) \
159 DECLARE_PRIMITIVE(set_alien_##name)
161 EACH_PRIMITIVE(DECLARE_PRIMITIVE)
162 EACH_ALIEN_PRIMITIVE(DECLARE_ALIEN_PRIMITIVE)