js 2.5.1 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1548392e9fe8a5aafc049bf997785e93d3545d77e0cc08db636bc36c14243d6
4
- data.tar.gz: '028d3bcf94f19c167b244c388f61d964b54d18da67bf631e30cd1bfe2d511ec1'
3
+ metadata.gz: ab2a18bea019f59904c71b83f4ef3ff3b5f3401a4ac855da7922eeae08268f0b
4
+ data.tar.gz: 6abf47657bcc65f0c4f7f50c476e2995d40b965b7ffd42fb92bc101d137b0f92
5
5
  SHA512:
6
- metadata.gz: 370c149ec326bcf0f9fbbfb6dfbb8d92b27ecfc99933a1c58af35669923aeb439ad2f5719b2da12b1ae5bf016b9bfaf8f0fba73ddd9ea73d9101dc7df2f5a9b8
7
- data.tar.gz: a702e7859689f537d4bed57fd85b537556cdf30336cf1155031aae13c057dcf6e2826f9b616fae21a4ab1ceca58d7b07386a2431334eef4e833a39a821f6ac92
6
+ metadata.gz: d468bafd32f8c1015b4c112e22b94ebe4a23abc08d6c0449e437ee650494efec2f0ae15aa906260167d98f18b327f85504fd4a126bb09e51325739a4676e16e2
7
+ data.tar.gz: d60702d46ca45c76e5249cc9a5889672804ddf21f0a833835339d25c8249b32c74544e9fed1f5a420be577888fd1af077b92ae58bb766e1be74039cddffb602e
@@ -0,0 +1,552 @@
1
+ // Generated by `wit-bindgen` 0.24.0. DO NOT EDIT!
2
+ #include "ext.h"
3
+ #include <stdlib.h>
4
+ #include <string.h>
5
+
6
+ // Imported Functions from `ruby:js/js-runtime`
7
+
8
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("eval-js")))
9
+ extern void __wasm_import_ruby_js_js_runtime_eval_js(uint8_t *, size_t, uint8_t *);
10
+
11
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("is-js")))
12
+ extern int32_t __wasm_import_ruby_js_js_runtime_is_js(int32_t);
13
+
14
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("instance-of")))
15
+ extern int32_t __wasm_import_ruby_js_js_runtime_instance_of(int32_t, int32_t);
16
+
17
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("global-this")))
18
+ extern int32_t __wasm_import_ruby_js_js_runtime_global_this(void);
19
+
20
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("int-to-js-number")))
21
+ extern int32_t __wasm_import_ruby_js_js_runtime_int_to_js_number(int32_t);
22
+
23
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("float-to-js-number")))
24
+ extern int32_t __wasm_import_ruby_js_js_runtime_float_to_js_number(double);
25
+
26
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("string-to-js-string")))
27
+ extern int32_t __wasm_import_ruby_js_js_runtime_string_to_js_string(uint8_t *, size_t);
28
+
29
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("bool-to-js-bool")))
30
+ extern int32_t __wasm_import_ruby_js_js_runtime_bool_to_js_bool(int32_t);
31
+
32
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("proc-to-js-function")))
33
+ extern int32_t __wasm_import_ruby_js_js_runtime_proc_to_js_function(void);
34
+
35
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("rb-object-to-js-rb-value")))
36
+ extern int32_t __wasm_import_ruby_js_js_runtime_rb_object_to_js_rb_value(void);
37
+
38
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("js-value-to-string")))
39
+ extern void __wasm_import_ruby_js_js_runtime_js_value_to_string(int32_t, uint8_t *);
40
+
41
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("js-value-to-integer")))
42
+ extern void __wasm_import_ruby_js_js_runtime_js_value_to_integer(int32_t, uint8_t *);
43
+
44
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("export-js-value-to-host")))
45
+ extern void __wasm_import_ruby_js_js_runtime_export_js_value_to_host(int32_t);
46
+
47
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("import-js-value-from-host")))
48
+ extern int32_t __wasm_import_ruby_js_js_runtime_import_js_value_from_host(void);
49
+
50
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("js-value-typeof")))
51
+ extern void __wasm_import_ruby_js_js_runtime_js_value_typeof(int32_t, uint8_t *);
52
+
53
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("js-value-equal")))
54
+ extern int32_t __wasm_import_ruby_js_js_runtime_js_value_equal(int32_t, int32_t);
55
+
56
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("js-value-strictly-equal")))
57
+ extern int32_t __wasm_import_ruby_js_js_runtime_js_value_strictly_equal(int32_t, int32_t);
58
+
59
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("reflect-apply")))
60
+ extern void __wasm_import_ruby_js_js_runtime_reflect_apply(int32_t, int32_t, uint8_t *, size_t, uint8_t *);
61
+
62
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("reflect-get")))
63
+ extern void __wasm_import_ruby_js_js_runtime_reflect_get(int32_t, uint8_t *, size_t, uint8_t *);
64
+
65
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("reflect-set")))
66
+ extern void __wasm_import_ruby_js_js_runtime_reflect_set(int32_t, uint8_t *, size_t, int32_t, uint8_t *);
67
+
68
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("throw-prohibit-rewind-exception")))
69
+ extern void __wasm_import_ruby_js_js_runtime_throw_prohibit_rewind_exception(uint8_t *, size_t);
70
+
71
+ // Exported Functions from `ruby:js/ruby-runtime`
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+ __attribute__((__weak__, __export_name__("cabi_post_ruby:js/ruby-runtime#rstring-ptr")))
85
+ void __wasm_export_exports_ruby_js_ruby_runtime_rstring_ptr_post_return(uint8_t * arg0) {
86
+ if ((*((size_t*) (arg0 + 4))) > 0) {
87
+ free(*((uint8_t **) (arg0 + 0)));
88
+ }
89
+ }
90
+
91
+
92
+
93
+
94
+
95
+
96
+ // Canonical ABI intrinsics
97
+
98
+ __attribute__((__weak__, __export_name__("cabi_realloc")))
99
+ void *cabi_realloc(void *ptr, size_t old_size, size_t align, size_t new_size) {
100
+ (void) old_size;
101
+ if (new_size == 0) return (void*) align;
102
+ void *ret = realloc(ptr, new_size);
103
+ if (!ret) abort();
104
+ return ret;
105
+ }
106
+
107
+ // Helper Functions
108
+
109
+ __attribute__((__import_module__("ruby:js/js-runtime"), __import_name__("[resource-drop]js-abi-value")))
110
+ extern void __wasm_import_ruby_js_js_runtime_js_abi_value_drop(int32_t handle);
111
+
112
+ void ruby_js_js_runtime_js_abi_value_drop_own(ruby_js_js_runtime_own_js_abi_value_t handle) {
113
+ __wasm_import_ruby_js_js_runtime_js_abi_value_drop(handle.__handle);
114
+ }
115
+
116
+ ruby_js_js_runtime_borrow_js_abi_value_t ruby_js_js_runtime_borrow_js_abi_value(ruby_js_js_runtime_own_js_abi_value_t arg) {
117
+ return (ruby_js_js_runtime_borrow_js_abi_value_t) { arg.__handle };
118
+ }
119
+
120
+ void ruby_js_js_runtime_js_abi_result_free(ruby_js_js_runtime_js_abi_result_t *ptr) {
121
+ switch ((int32_t) ptr->tag) {
122
+ case 0: {
123
+ break;
124
+ }
125
+ case 1: {
126
+ break;
127
+ }
128
+ }
129
+ }
130
+
131
+ void ruby_js_js_runtime_raw_integer_free(ruby_js_js_runtime_raw_integer_t *ptr) {
132
+ switch ((int32_t) ptr->tag) {
133
+ case 0: {
134
+ break;
135
+ }
136
+ case 1: {
137
+ ext_string_free(&ptr->val.bignum);
138
+ break;
139
+ }
140
+ }
141
+ }
142
+
143
+ void ruby_js_js_runtime_list_borrow_js_abi_value_free(ruby_js_js_runtime_list_borrow_js_abi_value_t *ptr) {
144
+ size_t list_len = ptr->len;
145
+ if (list_len > 0) {
146
+ ruby_js_js_runtime_borrow_js_abi_value_t *list_ptr = ptr->ptr;
147
+ for (size_t i = 0; i < list_len; i++) {
148
+ }
149
+ free(list_ptr);
150
+ }
151
+ }
152
+
153
+ __attribute__((__import_module__("ruby:js/ruby-runtime"), __import_name__("[resource-drop]rb-iseq")))
154
+ extern void __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_drop(int32_t handle);
155
+
156
+ void exports_ruby_js_ruby_runtime_rb_iseq_drop_own(exports_ruby_js_ruby_runtime_own_rb_iseq_t handle) {
157
+ __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_drop(handle.__handle);
158
+ }
159
+
160
+ __attribute__(( __import_module__("[export]ruby:js/ruby-runtime"), __import_name__("[resource-new]rb-iseq")))
161
+ extern int32_t __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_new(int32_t);
162
+
163
+ __attribute__((__import_module__("[export]ruby:js/ruby-runtime"), __import_name__("[resource-rep]rb-iseq")))
164
+ extern int32_t __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_rep(int32_t);
165
+
166
+ exports_ruby_js_ruby_runtime_own_rb_iseq_t exports_ruby_js_ruby_runtime_rb_iseq_new(exports_ruby_js_ruby_runtime_rb_iseq_t *rep) {
167
+ return (exports_ruby_js_ruby_runtime_own_rb_iseq_t) { __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_new((int32_t) rep) };
168
+ }
169
+
170
+ exports_ruby_js_ruby_runtime_rb_iseq_t* exports_ruby_js_ruby_runtime_rb_iseq_rep(exports_ruby_js_ruby_runtime_own_rb_iseq_t handle) {
171
+ return (exports_ruby_js_ruby_runtime_rb_iseq_t*) __wasm_import_exports_ruby_js_ruby_runtime_rb_iseq_rep(handle.__handle);
172
+ }
173
+
174
+ __attribute__((__export_name__("ruby:js/ruby-runtime#[dtor]rb_iseq")))
175
+ void __wasm_export_exports_ruby_js_ruby_runtime_rb_iseq_dtor(exports_ruby_js_ruby_runtime_rb_iseq_t* arg) {
176
+ exports_ruby_js_ruby_runtime_rb_iseq_destructor(arg);
177
+ }
178
+
179
+ __attribute__((__import_module__("ruby:js/ruby-runtime"), __import_name__("[resource-drop]rb-abi-value")))
180
+ extern void __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_drop(int32_t handle);
181
+
182
+ void exports_ruby_js_ruby_runtime_rb_abi_value_drop_own(exports_ruby_js_ruby_runtime_own_rb_abi_value_t handle) {
183
+ __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_drop(handle.__handle);
184
+ }
185
+
186
+ __attribute__(( __import_module__("[export]ruby:js/ruby-runtime"), __import_name__("[resource-new]rb-abi-value")))
187
+ extern int32_t __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_new(int32_t);
188
+
189
+ __attribute__((__import_module__("[export]ruby:js/ruby-runtime"), __import_name__("[resource-rep]rb-abi-value")))
190
+ extern int32_t __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_rep(int32_t);
191
+
192
+ exports_ruby_js_ruby_runtime_own_rb_abi_value_t exports_ruby_js_ruby_runtime_rb_abi_value_new(exports_ruby_js_ruby_runtime_rb_abi_value_t *rep) {
193
+ return (exports_ruby_js_ruby_runtime_own_rb_abi_value_t) { __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_new((int32_t) rep) };
194
+ }
195
+
196
+ exports_ruby_js_ruby_runtime_rb_abi_value_t* exports_ruby_js_ruby_runtime_rb_abi_value_rep(exports_ruby_js_ruby_runtime_own_rb_abi_value_t handle) {
197
+ return (exports_ruby_js_ruby_runtime_rb_abi_value_t*) __wasm_import_exports_ruby_js_ruby_runtime_rb_abi_value_rep(handle.__handle);
198
+ }
199
+
200
+ __attribute__((__export_name__("ruby:js/ruby-runtime#[dtor]rb_abi_value")))
201
+ void __wasm_export_exports_ruby_js_ruby_runtime_rb_abi_value_dtor(exports_ruby_js_ruby_runtime_rb_abi_value_t* arg) {
202
+ exports_ruby_js_ruby_runtime_rb_abi_value_destructor(arg);
203
+ }
204
+
205
+ void ext_list_string_free(ext_list_string_t *ptr) {
206
+ size_t list_len = ptr->len;
207
+ if (list_len > 0) {
208
+ ext_string_t *list_ptr = ptr->ptr;
209
+ for (size_t i = 0; i < list_len; i++) {
210
+ ext_string_free(&list_ptr[i]);
211
+ }
212
+ free(list_ptr);
213
+ }
214
+ }
215
+
216
+ void exports_ruby_js_ruby_runtime_list_borrow_rb_abi_value_free(exports_ruby_js_ruby_runtime_list_borrow_rb_abi_value_t *ptr) {
217
+ size_t list_len = ptr->len;
218
+ if (list_len > 0) {
219
+ exports_ruby_js_ruby_runtime_borrow_rb_abi_value_t *list_ptr = ptr->ptr;
220
+ for (size_t i = 0; i < list_len; i++) {
221
+ }
222
+ free(list_ptr);
223
+ }
224
+ }
225
+
226
+ void ext_string_set(ext_string_t *ret, const char*s) {
227
+ ret->ptr = (uint8_t*) s;
228
+ ret->len = strlen(s);
229
+ }
230
+
231
+ void ext_string_dup(ext_string_t *ret, const char*s) {
232
+ ret->len = strlen(s);
233
+ ret->ptr = (uint8_t*) cabi_realloc(NULL, 0, 1, ret->len * 1);
234
+ memcpy(ret->ptr, s, ret->len * 1);
235
+ }
236
+
237
+ void ext_string_free(ext_string_t *ret) {
238
+ if (ret->len > 0) {
239
+ free(ret->ptr);
240
+ }
241
+ ret->ptr = NULL;
242
+ ret->len = 0;
243
+ }
244
+
245
+ // Component Adapters
246
+
247
+ __attribute__((__aligned__(4)))
248
+ static uint8_t RET_AREA[8];
249
+
250
+ void ruby_js_js_runtime_eval_js(ext_string_t *code, ruby_js_js_runtime_js_abi_result_t *ret) {
251
+ __attribute__((__aligned__(4)))
252
+ uint8_t ret_area[8];
253
+ uint8_t *ptr = (uint8_t *) &ret_area;
254
+ __wasm_import_ruby_js_js_runtime_eval_js((uint8_t *) (*code).ptr, (*code).len, ptr);
255
+ ruby_js_js_runtime_js_abi_result_t variant;
256
+ variant.tag = (int32_t) *((uint8_t*) (ptr + 0));
257
+ switch ((int32_t) variant.tag) {
258
+ case 0: {
259
+ variant.val.success = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
260
+ break;
261
+ }
262
+ case 1: {
263
+ variant.val.failure = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
264
+ break;
265
+ }
266
+ }
267
+ *ret = variant;
268
+ }
269
+
270
+ bool ruby_js_js_runtime_is_js(ruby_js_js_runtime_borrow_js_abi_value_t value) {
271
+ int32_t ret = __wasm_import_ruby_js_js_runtime_is_js((value).__handle);
272
+ return ret;
273
+ }
274
+
275
+ bool ruby_js_js_runtime_instance_of(ruby_js_js_runtime_borrow_js_abi_value_t value, ruby_js_js_runtime_borrow_js_abi_value_t klass) {
276
+ int32_t ret = __wasm_import_ruby_js_js_runtime_instance_of((value).__handle, (klass).__handle);
277
+ return ret;
278
+ }
279
+
280
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_global_this(void) {
281
+ int32_t ret = __wasm_import_ruby_js_js_runtime_global_this();
282
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
283
+ }
284
+
285
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_int_to_js_number(int32_t value) {
286
+ int32_t ret = __wasm_import_ruby_js_js_runtime_int_to_js_number(value);
287
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
288
+ }
289
+
290
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_float_to_js_number(double value) {
291
+ int32_t ret = __wasm_import_ruby_js_js_runtime_float_to_js_number(value);
292
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
293
+ }
294
+
295
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_string_to_js_string(ext_string_t *value) {
296
+ int32_t ret = __wasm_import_ruby_js_js_runtime_string_to_js_string((uint8_t *) (*value).ptr, (*value).len);
297
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
298
+ }
299
+
300
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_bool_to_js_bool(bool value) {
301
+ int32_t ret = __wasm_import_ruby_js_js_runtime_bool_to_js_bool(value);
302
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
303
+ }
304
+
305
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_proc_to_js_function(void) {
306
+ int32_t ret = __wasm_import_ruby_js_js_runtime_proc_to_js_function();
307
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
308
+ }
309
+
310
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_rb_object_to_js_rb_value(void) {
311
+ int32_t ret = __wasm_import_ruby_js_js_runtime_rb_object_to_js_rb_value();
312
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
313
+ }
314
+
315
+ void ruby_js_js_runtime_js_value_to_string(ruby_js_js_runtime_borrow_js_abi_value_t value, ext_string_t *ret) {
316
+ __attribute__((__aligned__(4)))
317
+ uint8_t ret_area[8];
318
+ uint8_t *ptr = (uint8_t *) &ret_area;
319
+ __wasm_import_ruby_js_js_runtime_js_value_to_string((value).__handle, ptr);
320
+ *ret = (ext_string_t) { (uint8_t*)(*((uint8_t **) (ptr + 0))), (*((size_t*) (ptr + 4))) };
321
+ }
322
+
323
+ void ruby_js_js_runtime_js_value_to_integer(ruby_js_js_runtime_borrow_js_abi_value_t value, ruby_js_js_runtime_raw_integer_t *ret) {
324
+ __attribute__((__aligned__(8)))
325
+ uint8_t ret_area[16];
326
+ uint8_t *ptr = (uint8_t *) &ret_area;
327
+ __wasm_import_ruby_js_js_runtime_js_value_to_integer((value).__handle, ptr);
328
+ ruby_js_js_runtime_raw_integer_t variant;
329
+ variant.tag = (int32_t) *((uint8_t*) (ptr + 0));
330
+ switch ((int32_t) variant.tag) {
331
+ case 0: {
332
+ variant.val.as_float = *((double*) (ptr + 8));
333
+ break;
334
+ }
335
+ case 1: {
336
+ variant.val.bignum = (ext_string_t) { (uint8_t*)(*((uint8_t **) (ptr + 8))), (*((size_t*) (ptr + 12))) };
337
+ break;
338
+ }
339
+ }
340
+ *ret = variant;
341
+ }
342
+
343
+ void ruby_js_js_runtime_export_js_value_to_host(ruby_js_js_runtime_borrow_js_abi_value_t value) {
344
+ __wasm_import_ruby_js_js_runtime_export_js_value_to_host((value).__handle);
345
+ }
346
+
347
+ ruby_js_js_runtime_own_js_abi_value_t ruby_js_js_runtime_import_js_value_from_host(void) {
348
+ int32_t ret = __wasm_import_ruby_js_js_runtime_import_js_value_from_host();
349
+ return (ruby_js_js_runtime_own_js_abi_value_t) { ret };
350
+ }
351
+
352
+ void ruby_js_js_runtime_js_value_typeof(ruby_js_js_runtime_borrow_js_abi_value_t value, ext_string_t *ret) {
353
+ __attribute__((__aligned__(4)))
354
+ uint8_t ret_area[8];
355
+ uint8_t *ptr = (uint8_t *) &ret_area;
356
+ __wasm_import_ruby_js_js_runtime_js_value_typeof((value).__handle, ptr);
357
+ *ret = (ext_string_t) { (uint8_t*)(*((uint8_t **) (ptr + 0))), (*((size_t*) (ptr + 4))) };
358
+ }
359
+
360
+ bool ruby_js_js_runtime_js_value_equal(ruby_js_js_runtime_borrow_js_abi_value_t lhs, ruby_js_js_runtime_borrow_js_abi_value_t rhs) {
361
+ int32_t ret = __wasm_import_ruby_js_js_runtime_js_value_equal((lhs).__handle, (rhs).__handle);
362
+ return ret;
363
+ }
364
+
365
+ bool ruby_js_js_runtime_js_value_strictly_equal(ruby_js_js_runtime_borrow_js_abi_value_t lhs, ruby_js_js_runtime_borrow_js_abi_value_t rhs) {
366
+ int32_t ret = __wasm_import_ruby_js_js_runtime_js_value_strictly_equal((lhs).__handle, (rhs).__handle);
367
+ return ret;
368
+ }
369
+
370
+ void ruby_js_js_runtime_reflect_apply(ruby_js_js_runtime_borrow_js_abi_value_t target, ruby_js_js_runtime_borrow_js_abi_value_t this_argument, ruby_js_js_runtime_list_borrow_js_abi_value_t *arguments, ruby_js_js_runtime_js_abi_result_t *ret) {
371
+ __attribute__((__aligned__(4)))
372
+ uint8_t ret_area[8];
373
+ uint8_t *ptr = (uint8_t *) &ret_area;
374
+ __wasm_import_ruby_js_js_runtime_reflect_apply((target).__handle, (this_argument).__handle, (uint8_t *) (*arguments).ptr, (*arguments).len, ptr);
375
+ ruby_js_js_runtime_js_abi_result_t variant;
376
+ variant.tag = (int32_t) *((uint8_t*) (ptr + 0));
377
+ switch ((int32_t) variant.tag) {
378
+ case 0: {
379
+ variant.val.success = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
380
+ break;
381
+ }
382
+ case 1: {
383
+ variant.val.failure = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
384
+ break;
385
+ }
386
+ }
387
+ *ret = variant;
388
+ }
389
+
390
+ void ruby_js_js_runtime_reflect_get(ruby_js_js_runtime_borrow_js_abi_value_t target, ext_string_t *property_key, ruby_js_js_runtime_js_abi_result_t *ret) {
391
+ __attribute__((__aligned__(4)))
392
+ uint8_t ret_area[8];
393
+ uint8_t *ptr = (uint8_t *) &ret_area;
394
+ __wasm_import_ruby_js_js_runtime_reflect_get((target).__handle, (uint8_t *) (*property_key).ptr, (*property_key).len, ptr);
395
+ ruby_js_js_runtime_js_abi_result_t variant;
396
+ variant.tag = (int32_t) *((uint8_t*) (ptr + 0));
397
+ switch ((int32_t) variant.tag) {
398
+ case 0: {
399
+ variant.val.success = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
400
+ break;
401
+ }
402
+ case 1: {
403
+ variant.val.failure = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
404
+ break;
405
+ }
406
+ }
407
+ *ret = variant;
408
+ }
409
+
410
+ void ruby_js_js_runtime_reflect_set(ruby_js_js_runtime_borrow_js_abi_value_t target, ext_string_t *property_key, ruby_js_js_runtime_borrow_js_abi_value_t value, ruby_js_js_runtime_js_abi_result_t *ret) {
411
+ __attribute__((__aligned__(4)))
412
+ uint8_t ret_area[8];
413
+ uint8_t *ptr = (uint8_t *) &ret_area;
414
+ __wasm_import_ruby_js_js_runtime_reflect_set((target).__handle, (uint8_t *) (*property_key).ptr, (*property_key).len, (value).__handle, ptr);
415
+ ruby_js_js_runtime_js_abi_result_t variant;
416
+ variant.tag = (int32_t) *((uint8_t*) (ptr + 0));
417
+ switch ((int32_t) variant.tag) {
418
+ case 0: {
419
+ variant.val.success = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
420
+ break;
421
+ }
422
+ case 1: {
423
+ variant.val.failure = (ruby_js_js_runtime_own_js_abi_value_t) { *((int32_t*) (ptr + 4)) };
424
+ break;
425
+ }
426
+ }
427
+ *ret = variant;
428
+ }
429
+
430
+ void ruby_js_js_runtime_throw_prohibit_rewind_exception(ext_string_t *message) {
431
+ __wasm_import_ruby_js_js_runtime_throw_prohibit_rewind_exception((uint8_t *) (*message).ptr, (*message).len);
432
+ }
433
+
434
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-show-version")))
435
+ void __wasm_export_exports_ruby_js_ruby_runtime_ruby_show_version(void) {
436
+ exports_ruby_js_ruby_runtime_ruby_show_version();
437
+ }
438
+
439
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-init")))
440
+ void __wasm_export_exports_ruby_js_ruby_runtime_ruby_init(void) {
441
+ exports_ruby_js_ruby_runtime_ruby_init();
442
+ }
443
+
444
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-sysinit")))
445
+ void __wasm_export_exports_ruby_js_ruby_runtime_ruby_sysinit(uint8_t * arg, size_t arg0) {
446
+ ext_list_string_t arg1 = (ext_list_string_t) { (ext_string_t*)(arg), (arg0) };
447
+ exports_ruby_js_ruby_runtime_ruby_sysinit(&arg1);
448
+ }
449
+
450
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-options")))
451
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_ruby_options(uint8_t * arg, size_t arg0) {
452
+ ext_list_string_t arg1 = (ext_list_string_t) { (ext_string_t*)(arg), (arg0) };
453
+ exports_ruby_js_ruby_runtime_own_rb_iseq_t ret = exports_ruby_js_ruby_runtime_ruby_options(&arg1);
454
+ return (ret).__handle;
455
+ }
456
+
457
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-script")))
458
+ void __wasm_export_exports_ruby_js_ruby_runtime_ruby_script(uint8_t * arg, size_t arg0) {
459
+ ext_string_t arg1 = (ext_string_t) { (uint8_t*)(arg), (arg0) };
460
+ exports_ruby_js_ruby_runtime_ruby_script(&arg1);
461
+ }
462
+
463
+ __attribute__((__export_name__("ruby:js/ruby-runtime#ruby-init-loadpath")))
464
+ void __wasm_export_exports_ruby_js_ruby_runtime_ruby_init_loadpath(void) {
465
+ exports_ruby_js_ruby_runtime_ruby_init_loadpath();
466
+ }
467
+
468
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-eval-string-protect")))
469
+ uint8_t * __wasm_export_exports_ruby_js_ruby_runtime_rb_eval_string_protect(uint8_t * arg, size_t arg0) {
470
+ ext_string_t arg1 = (ext_string_t) { (uint8_t*)(arg), (arg0) };
471
+ exports_ruby_js_ruby_runtime_tuple2_own_rb_abi_value_s32_t ret;
472
+ exports_ruby_js_ruby_runtime_rb_eval_string_protect(&arg1, &ret);
473
+ uint8_t *ptr = (uint8_t *) &RET_AREA;
474
+ *((int32_t*)(ptr + 0)) = ((ret).f0).__handle;
475
+ *((int32_t*)(ptr + 4)) = (ret).f1;
476
+ return ptr;
477
+ }
478
+
479
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-funcallv-protect")))
480
+ uint8_t * __wasm_export_exports_ruby_js_ruby_runtime_rb_funcallv_protect(int32_t arg, int32_t arg0, uint8_t * arg1, size_t arg2) {
481
+ exports_ruby_js_ruby_runtime_list_borrow_rb_abi_value_t arg3 = (exports_ruby_js_ruby_runtime_list_borrow_rb_abi_value_t) { (exports_ruby_js_ruby_runtime_borrow_rb_abi_value_t*)(arg1), (arg2) };
482
+ exports_ruby_js_ruby_runtime_tuple2_own_rb_abi_value_s32_t ret;
483
+ exports_ruby_js_ruby_runtime_rb_funcallv_protect(((exports_ruby_js_ruby_runtime_rb_abi_value_t*) arg), (uint32_t) (arg0), &arg3, &ret);
484
+ uint8_t *ptr = (uint8_t *) &RET_AREA;
485
+ *((int32_t*)(ptr + 0)) = ((ret).f0).__handle;
486
+ *((int32_t*)(ptr + 4)) = (ret).f1;
487
+ return ptr;
488
+ }
489
+
490
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-intern")))
491
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_rb_intern(uint8_t * arg, size_t arg0) {
492
+ ext_string_t arg1 = (ext_string_t) { (uint8_t*)(arg), (arg0) };
493
+ exports_ruby_js_ruby_runtime_rb_id_t ret = exports_ruby_js_ruby_runtime_rb_intern(&arg1);
494
+ return (int32_t) (ret);
495
+ }
496
+
497
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-errinfo")))
498
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_rb_errinfo(void) {
499
+ exports_ruby_js_ruby_runtime_own_rb_abi_value_t ret = exports_ruby_js_ruby_runtime_rb_errinfo();
500
+ return (ret).__handle;
501
+ }
502
+
503
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-clear-errinfo")))
504
+ void __wasm_export_exports_ruby_js_ruby_runtime_rb_clear_errinfo(void) {
505
+ exports_ruby_js_ruby_runtime_rb_clear_errinfo();
506
+ }
507
+
508
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rstring-ptr")))
509
+ uint8_t * __wasm_export_exports_ruby_js_ruby_runtime_rstring_ptr(int32_t arg) {
510
+ ext_string_t ret;
511
+ exports_ruby_js_ruby_runtime_rstring_ptr(((exports_ruby_js_ruby_runtime_rb_abi_value_t*) arg), &ret);
512
+ uint8_t *ptr = (uint8_t *) &RET_AREA;
513
+ *((size_t*)(ptr + 4)) = (ret).len;
514
+ *((uint8_t **)(ptr + 0)) = (uint8_t *) (ret).ptr;
515
+ return ptr;
516
+ }
517
+
518
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-vm-bugreport")))
519
+ void __wasm_export_exports_ruby_js_ruby_runtime_rb_vm_bugreport(void) {
520
+ exports_ruby_js_ruby_runtime_rb_vm_bugreport();
521
+ }
522
+
523
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-gc-enable")))
524
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_rb_gc_enable(void) {
525
+ bool ret = exports_ruby_js_ruby_runtime_rb_gc_enable();
526
+ return ret;
527
+ }
528
+
529
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-gc-disable")))
530
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_rb_gc_disable(void) {
531
+ bool ret = exports_ruby_js_ruby_runtime_rb_gc_disable();
532
+ return ret;
533
+ }
534
+
535
+ __attribute__((__export_name__("ruby:js/ruby-runtime#rb-set-should-prohibit-rewind")))
536
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_rb_set_should_prohibit_rewind(int32_t arg) {
537
+ bool ret = exports_ruby_js_ruby_runtime_rb_set_should_prohibit_rewind(arg);
538
+ return ret;
539
+ }
540
+
541
+ __attribute__((__export_name__("ruby:js/ruby-runtime#export-rb-value-to-js")))
542
+ int32_t __wasm_export_exports_ruby_js_ruby_runtime_export_rb_value_to_js(void) {
543
+ exports_ruby_js_ruby_runtime_own_rb_abi_value_t ret = exports_ruby_js_ruby_runtime_export_rb_value_to_js();
544
+ return (ret).__handle;
545
+ }
546
+
547
+ // Ensure that the *_component_type.o object is linked in
548
+
549
+ extern void __component_type_object_force_link_ext(void);
550
+ void __component_type_object_force_link_ext_public_use_in_this_compilation_unit(void) {
551
+ __component_type_object_force_link_ext();
552
+ }