]> gitweb.factorcode.org Git - factor.git/blob - vm/primitives.cpp
Add context-specific special object table, generalizing catchstack_save and current_c...
[factor.git] / vm / primitives.cpp
1 #include "master.hpp"
2
3 namespace factor
4 {
5
6 #define PRIMITIVE(name) VM_C_API void primitive_##name(factor_vm *parent) \
7 { \
8         parent->primitive_##name(); \
9 }
10
11 PRIMITIVE(alien_address)
12 PRIMITIVE(all_instances)
13 PRIMITIVE(array)
14 PRIMITIVE(array_to_quotation)
15 PRIMITIVE(become)
16 PRIMITIVE(bignum_add)
17 PRIMITIVE(bignum_and)
18 PRIMITIVE(bignum_bitp)
19 PRIMITIVE(bignum_divint)
20 PRIMITIVE(bignum_divmod)
21 PRIMITIVE(bignum_eq)
22 PRIMITIVE(bignum_greater)
23 PRIMITIVE(bignum_greatereq)
24 PRIMITIVE(bignum_less)
25 PRIMITIVE(bignum_lesseq)
26 PRIMITIVE(bignum_log2)
27 PRIMITIVE(bignum_mod)
28 PRIMITIVE(bignum_multiply)
29 PRIMITIVE(bignum_not)
30 PRIMITIVE(bignum_or)
31 PRIMITIVE(bignum_shift)
32 PRIMITIVE(bignum_subtract)
33 PRIMITIVE(bignum_to_fixnum)
34 PRIMITIVE(bignum_to_float)
35 PRIMITIVE(bignum_xor)
36 PRIMITIVE(bits_double)
37 PRIMITIVE(bits_float)
38 PRIMITIVE(byte_array)
39 PRIMITIVE(byte_array_to_bignum)
40 PRIMITIVE(call_clear)
41 PRIMITIVE(callback)
42 PRIMITIVE(callstack)
43 PRIMITIVE(callstack_to_array)
44 PRIMITIVE(check_datastack)
45 PRIMITIVE(clone)
46 PRIMITIVE(code_blocks)
47 PRIMITIVE(code_room)
48 PRIMITIVE(compact_gc)
49 PRIMITIVE(compute_identity_hashcode)
50 PRIMITIVE(context_object)
51 PRIMITIVE(data_room)
52 PRIMITIVE(datastack)
53 PRIMITIVE(die)
54 PRIMITIVE(disable_gc_events)
55 PRIMITIVE(dispatch_stats)
56 PRIMITIVE(displaced_alien)
57 PRIMITIVE(dlclose)
58 PRIMITIVE(dll_validp)
59 PRIMITIVE(dlopen)
60 PRIMITIVE(dlsym)
61 PRIMITIVE(double_bits)
62 PRIMITIVE(enable_gc_events)
63 PRIMITIVE(existsp)
64 PRIMITIVE(exit)
65 PRIMITIVE(fclose)
66 PRIMITIVE(fflush)
67 PRIMITIVE(fgetc)
68 PRIMITIVE(fixnum_divint)
69 PRIMITIVE(fixnum_divmod)
70 PRIMITIVE(fixnum_shift)
71 PRIMITIVE(fixnum_to_bignum)
72 PRIMITIVE(fixnum_to_float)
73 PRIMITIVE(float_add)
74 PRIMITIVE(float_bits)
75 PRIMITIVE(float_divfloat)
76 PRIMITIVE(float_eq)
77 PRIMITIVE(float_greater)
78 PRIMITIVE(float_greatereq)
79 PRIMITIVE(float_less)
80 PRIMITIVE(float_lesseq)
81 PRIMITIVE(float_mod)
82 PRIMITIVE(float_multiply)
83 PRIMITIVE(float_subtract)
84 PRIMITIVE(float_to_bignum)
85 PRIMITIVE(float_to_fixnum)
86 PRIMITIVE(float_to_str)
87 PRIMITIVE(fopen)
88 PRIMITIVE(fputc)
89 PRIMITIVE(fread)
90 PRIMITIVE(fseek)
91 PRIMITIVE(ftell)
92 PRIMITIVE(full_gc)
93 PRIMITIVE(fwrite)
94 PRIMITIVE(identity_hashcode)
95 PRIMITIVE(innermost_stack_frame_executing)
96 PRIMITIVE(innermost_stack_frame_scan)
97 PRIMITIVE(jit_compile)
98 PRIMITIVE(load_locals)
99 PRIMITIVE(lookup_method)
100 PRIMITIVE(mega_cache_miss)
101 PRIMITIVE(minor_gc)
102 PRIMITIVE(modify_code_heap)
103 PRIMITIVE(nano_count)
104 PRIMITIVE(optimized_p)
105 PRIMITIVE(profiling)
106 PRIMITIVE(quot_compiled_p)
107 PRIMITIVE(quotation_code)
108 PRIMITIVE(reset_dispatch_stats)
109 PRIMITIVE(resize_array)
110 PRIMITIVE(resize_byte_array)
111 PRIMITIVE(resize_string)
112 PRIMITIVE(retainstack)
113 PRIMITIVE(save_image)
114 PRIMITIVE(save_image_and_exit)
115 PRIMITIVE(set_context_object)
116 PRIMITIVE(set_datastack)
117 PRIMITIVE(set_innermost_stack_frame_quot)
118 PRIMITIVE(set_retainstack)
119 PRIMITIVE(set_slot)
120 PRIMITIVE(set_special_object)
121 PRIMITIVE(set_string_nth_fast)
122 PRIMITIVE(set_string_nth_slow)
123 PRIMITIVE(size)
124 PRIMITIVE(sleep)
125 PRIMITIVE(special_object)
126 PRIMITIVE(string)
127 PRIMITIVE(string_nth)
128 PRIMITIVE(strip_stack_traces)
129 PRIMITIVE(system_micros)
130 PRIMITIVE(tuple)
131 PRIMITIVE(tuple_boa)
132 PRIMITIVE(unimplemented)
133 PRIMITIVE(uninitialized_byte_array)
134 PRIMITIVE(word)
135 PRIMITIVE(word_code)
136 PRIMITIVE(wrapper)
137
138 }