[t][cage] Remove PGE-dependence from t/op/inf_nan.t since it is part of 'make coretest'
[parrot.git] / src / vtable.tbl
blobcea046f9c9383a8c5d4c4f74f83453e4071f2b64
1 # $Id$
2 # [MAIN] #default section name
4 # MMD_EQ ... MMD_STRCMP must be in one block
5 # see src/multidispatch.c
7 # INPLACE MMD variant must always be normal op + 1
9 void init()
10 # init must be first for JITed vtable meths
11 void init_pmc(PMC* initializer)
12 PMC* instantiate(PMC* sig)
13 void morph(PMC* type) :write
14 void mark()
15 void destroy()
16 PMC* get_namespace()
18 # XXX FIXME should this be marked as writing?
19 PMC* getprop(STRING* key)
20 void setprop(STRING* key, PMC* value)
21 void delprop(STRING* key)
22 PMC* getprops()
24 INTVAL type()
26 STRING* name()
28 PMC* clone()
29 PMC* clone_pmc(PMC* args)
31 PMC* find_method(STRING* method_name)
33 [FETCH]
34 INTVAL get_integer()
35 INTVAL get_integer_keyed(PMC* key)
36 INTVAL get_integer_keyed_int(INTVAL key)
37 INTVAL get_integer_keyed_str(STRING* key)
39 FLOATVAL get_number()
40 FLOATVAL get_number_keyed(PMC* key)
41 FLOATVAL get_number_keyed_int(INTVAL key)
42 FLOATVAL get_number_keyed_str(STRING* key)
44 PMC* get_bignum()
46 STRING* get_string()
47 STRING* get_repr()
48 STRING* get_string_keyed(PMC* key)
49 STRING* get_string_keyed_int(INTVAL key)
50 STRING* get_string_keyed_str(STRING* key)
52 INTVAL get_bool()
54 PMC* get_pmc()
55 PMC* get_pmc_keyed(PMC* key)
56 PMC* get_pmc_keyed_int(INTVAL key)
57 PMC* get_pmc_keyed_str(STRING* key)
59 void* get_pointer()
60 void* get_pointer_keyed(PMC* key)
61 void* get_pointer_keyed_int(INTVAL key)
62 void* get_pointer_keyed_str(STRING* key)
64 [STORE] :write
65 void set_integer_native(INTVAL value)
66 void set_integer_keyed(PMC* key, INTVAL value)
67 void set_integer_keyed_int(INTVAL key, INTVAL value)
68 void set_integer_keyed_str(STRING* key, INTVAL value)
70 void set_number_native(FLOATVAL value)
71 void set_number_keyed(PMC* key, FLOATVAL value)
72 void set_number_keyed_int(INTVAL key, FLOATVAL value)
73 void set_number_keyed_str(STRING* key, FLOATVAL value)
75 void set_bignum_int(INTVAL value)
76 void set_bignum_num(FLOATVAL value)
77 void set_bignum_str(STRING* value)
79 void set_string_native(STRING* value)
80 void assign_string_native(STRING* value)
81 void set_string_keyed(PMC* key, STRING* value)
82 void set_string_keyed_int(INTVAL key, STRING* value)
83 void set_string_keyed_str(STRING* key, STRING* value)
85 void set_bool(INTVAL value)
87 void set_pmc(PMC* value)
88 void assign_pmc(PMC* value)
89 void set_pmc_keyed(PMC* key, PMC* value)
90 void set_pmc_keyed_int(INTVAL key, PMC* value)
91 void set_pmc_keyed_str(STRING* key, PMC* value)
93 void set_pointer(void* value)
94 void set_pointer_keyed(PMC* key, void* value)
95 void set_pointer_keyed_int(INTVAL key, void* value)
96 void set_pointer_keyed_str(STRING* key, void* value)
98 [FETCHSIZE]
99 INTVAL elements()
101 [POP] :write
102 INTVAL pop_integer()
103 FLOATVAL pop_float()
104 STRING* pop_string()
105 PMC* pop_pmc()
107 [PUSH] :write
108 void push_integer(INTVAL value)
109 void push_float(FLOATVAL value)
110 void push_string(STRING* value)
111 void push_pmc(PMC* value)
113 [SHIFT] :write
114 INTVAL shift_integer()
115 FLOATVAL shift_float()
116 STRING* shift_string()
117 PMC* shift_pmc()
119 [UNSHIFT] :write
120 void unshift_integer(INTVAL value)
121 void unshift_float(FLOATVAL value)
122 void unshift_string(STRING* value)
123 void unshift_pmc(PMC* value)
125 ## void splice ???
127 [SPLICE] :write
128 void splice(PMC* value, INTVAL offset, INTVAL count)
130 # XXX marking writing here?
131 [MATH]
132 PMC* add(PMC* value, PMC* dest)
133 PMC* add_int(INTVAL value, PMC* dest)
134 PMC* add_float(FLOATVAL value, PMC* dest)
136 void i_add(PMC* value) :write
137 void i_add_int(INTVAL value) :write
138 void i_add_float(FLOATVAL value) :write
140 PMC* subtract(PMC* value, PMC* dest)
141 PMC* subtract_int(INTVAL value, PMC* dest)
142 PMC* subtract_float(FLOATVAL value, PMC* dest)
144 void i_subtract(PMC* value) :write
145 void i_subtract_int(INTVAL value) :write
146 void i_subtract_float(FLOATVAL value) :write
148 PMC* multiply(PMC* value, PMC* dest)
149 PMC* multiply_int(INTVAL value, PMC* dest)
150 PMC* multiply_float(FLOATVAL value, PMC* dest)
152 void i_multiply(PMC* value) :write
153 void i_multiply_int(INTVAL value) :write
154 void i_multiply_float(FLOATVAL value) :write
156 PMC* divide(PMC* value, PMC* dest)
157 PMC* divide_int(INTVAL value, PMC* dest)
158 PMC* divide_float(FLOATVAL value, PMC* dest)
160 void i_divide(PMC* value) :write
161 void i_divide_int(INTVAL value) :write
162 void i_divide_float(FLOATVAL value) :write
164 PMC* floor_divide(PMC* value, PMC* dest)
165 PMC* floor_divide_int(INTVAL value, PMC* dest)
166 PMC* floor_divide_float(FLOATVAL value, PMC* dest)
168 void i_floor_divide(PMC* value) :write
169 void i_floor_divide_int(INTVAL value) :write
170 void i_floor_divide_float(FLOATVAL value) :write
172 PMC* modulus(PMC* value, PMC* dest)
173 PMC* modulus_int(INTVAL value, PMC* dest)
174 PMC* modulus_float(FLOATVAL value, PMC* dest)
176 void i_modulus(PMC* value) :write
177 void i_modulus_int(INTVAL value) :write
178 void i_modulus_float(FLOATVAL value) :write
180 PMC* pow(PMC* value, PMC* dest)
181 PMC* pow_int(INTVAL value, PMC* dest)
182 PMC* pow_float(FLOATVAL value, PMC* dest)
184 void i_pow(PMC* value) :write
185 void i_pow_int(INTVAL value) :write
186 void i_pow_float(FLOATVAL value) :write
188 void increment() :write
189 void decrement() :write
191 PMC* absolute(PMC* dest)
192 void i_absolute() :write
194 PMC* neg(PMC* dest)
195 void i_neg() :write
197 [BITWISE]
198 PMC* bitwise_or(PMC* value, PMC* dest)
199 PMC* bitwise_or_int(INTVAL value, PMC* dest)
201 void i_bitwise_or(PMC* value) :write
202 void i_bitwise_or_int(INTVAL value) :write
204 PMC* bitwise_and(PMC* value, PMC* dest)
205 PMC* bitwise_and_int(INTVAL value, PMC* dest)
207 void i_bitwise_and(PMC* value) :write
208 void i_bitwise_and_int(INTVAL value) :write
210 PMC* bitwise_xor(PMC* value, PMC* dest)
211 PMC* bitwise_xor_int(INTVAL value, PMC* dest)
213 void i_bitwise_xor(PMC* value) :write
214 void i_bitwise_xor_int(INTVAL value) :write
216 PMC* bitwise_ors(PMC* value, PMC* dest)
217 PMC* bitwise_ors_str(STRING* value, PMC* dest)
219 void i_bitwise_ors(PMC* value) :write
220 void i_bitwise_ors_str(STRING* value) :write
222 PMC* bitwise_ands(PMC* value, PMC* dest)
223 PMC* bitwise_ands_str(STRING* value, PMC* dest)
225 void i_bitwise_ands(PMC* value) :write
226 void i_bitwise_ands_str(STRING* value) :write
228 PMC* bitwise_xors(PMC* value, PMC* dest)
229 PMC* bitwise_xors_str(STRING* value, PMC* dest)
231 void i_bitwise_xors(PMC* value) :write
232 void i_bitwise_xors_str(STRING* value) :write
234 PMC* bitwise_not(PMC* dest)
235 void i_bitwise_not() :write
237 PMC* bitwise_nots(PMC* dest)
238 void i_bitwise_nots() :write
240 PMC* bitwise_shl(PMC* value, PMC* dest)
241 PMC* bitwise_shl_int(INTVAL value, PMC* dest)
243 void i_bitwise_shl(PMC* value) :write
244 void i_bitwise_shl_int(INTVAL value) :write
246 PMC* bitwise_shr(PMC* value, PMC* dest)
247 PMC* bitwise_shr_int(INTVAL value, PMC* dest)
249 void i_bitwise_shr(PMC* value) :write
250 void i_bitwise_shr_int(INTVAL value) :write
252 PMC* bitwise_lsr(PMC* value, PMC* dest)
253 PMC* bitwise_lsr_int(INTVAL value, PMC* dest)
255 void i_bitwise_lsr(PMC* value) :write
256 void i_bitwise_lsr_int(INTVAL value) :write
258 [CMP]
259 INTVAL is_equal(PMC* value)
260 INTVAL is_equal_num(PMC* value)
261 INTVAL is_equal_string(PMC* value)
263 INTVAL is_same(PMC* value)
265 INTVAL cmp(PMC* value)
266 INTVAL cmp_num(PMC* value)
267 INTVAL cmp_string(PMC* value)
268 PMC* cmp_pmc(PMC* value)
270 PMC* logical_or(PMC* value, PMC* dest)
272 PMC* logical_and(PMC* value, PMC* dest)
274 PMC* logical_xor(PMC* value, PMC* dest)
276 PMC* logical_not(PMC* dest)
277 void i_logical_not() :write
280 [STRING]
281 PMC* concatenate(PMC* value, PMC* dest)
282 PMC* concatenate_str(STRING* value, PMC* dest)
284 void i_concatenate(PMC* value) :write
285 void i_concatenate_str(STRING* value) :write
287 PMC* repeat(PMC* value, PMC* dest)
288 PMC* repeat_int(INTVAL value, PMC* dest)
290 void i_repeat(PMC* value) :write
291 void i_repeat_int(INTVAL value) :write
293 void substr(INTVAL offset, INTVAL length, PMC* dest)
294 STRING* substr_str(INTVAL offset, INTVAL length)
296 [EXISTS]
297 INTVAL exists_keyed(PMC* key)
298 INTVAL exists_keyed_int(INTVAL key)
299 INTVAL exists_keyed_str(STRING* key)
301 [MAIN]
302 INTVAL defined()
303 INTVAL defined_keyed(PMC* key)
304 INTVAL defined_keyed_int(INTVAL key)
305 INTVAL defined_keyed_str(STRING* key)
307 [DELETE] :write
308 void delete_keyed(PMC* key)
309 void delete_keyed_int(INTVAL key)
310 void delete_keyed_str(STRING* key)
312 [MAIN]
313 PMC* get_iter()
314 INTVAL hashvalue()
316 opcode_t* invoke(void* next)
318 INTVAL can(STRING* method)
320 INTVAL does_pmc(PMC* role)
321 INTVAL does(STRING* role)
323 INTVAL isa_pmc(PMC* _class)
324 INTVAL isa(STRING* _class)
326 PMC* get_attr_str(STRING* idx)
327 PMC* get_attr_keyed(PMC* key, STRING* idx)
328 void set_attr_str(STRING* idx, PMC* value) :write
329 void set_attr_keyed(PMC* key, STRING* idx, PMC* value) :write
331 PMC* get_class()
333 void add_parent(PMC* parent) :write
334 void remove_parent(PMC* parent) :write
336 void add_role(PMC* role) :write
337 void remove_role(PMC* role) :write
339 void add_attribute(STRING* name, PMC* type) :write
340 void remove_attribute(STRING* name) :write
342 void add_method(STRING* method_name, PMC* sub_pmc) :write
343 void remove_method(STRING* method_name) :write
345 void add_vtable_override(STRING* vtable_name, PMC* sub_pmc) :write
346 void remove_vtable_override(STRING* vtable_name) :write
348 PMC* inspect()
349 PMC* inspect_str(STRING* what)
351 void freeze(visit_info* info)
352 void thaw  (visit_info* info) :write
353 void thawfinish (visit_info* info) :write
354 void visit (visit_info* info)
356 void share()
358 PMC* share_ro()