js 2.5.1 → 2.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/js/bindgen/ext.c +552 -0
- data/ext/js/bindgen/ext.h +170 -0
- data/ext/js/bindgen/ext_component_type.o +0 -0
- data/ext/js/bindgen/{rb-js-abi-host.c → legacy/rb-js-abi-host.c} +2 -2
- data/ext/js/bindgen/{rb-js-abi-host.h → legacy/rb-js-abi-host.h} +2 -2
- data/ext/js/bindgen/{rb-js-abi-host.wit → legacy/rb-js-abi-host.wit} +1 -1
- data/ext/js/depend +10 -3
- data/ext/js/extconf.rb +16 -2
- data/ext/js/js-core.c +24 -13
- data/ext/js/types.h +103 -0
- data/ext/{witapi → js}/witapi-core.c +138 -6
- data/js.gemspec +1 -1
- data/lib/js/version.rb +1 -1
- data/wit/js-runtime.wit +45 -0
- data/wit/ruby-runtime.wit +43 -0
- data/wit/world.wit +6 -0
- metadata +17 -17
- data/ext/witapi/bindgen/.clang-format +0 -2
- data/ext/witapi/depend +0 -11
- data/ext/witapi/extconf.rb +0 -3
- /data/ext/{witapi/bindgen → js/bindgen/legacy}/rb-abi-guest.c +0 -0
- /data/ext/{witapi/bindgen → js/bindgen/legacy}/rb-abi-guest.h +0 -0
- /data/ext/{witapi/bindgen → js/bindgen/legacy}/rb-abi-guest.wit +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab2a18bea019f59904c71b83f4ef3ff3b5f3401a4ac855da7922eeae08268f0b
|
4
|
+
data.tar.gz: 6abf47657bcc65f0c4f7f50c476e2995d40b965b7ffd42fb92bc101d137b0f92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
}
|