Commit graph

12 commits

Author SHA1 Message Date
刘皓
06819fb9a9
Start implementing VX/VX Ace bindings in libretro builds 2025-04-13 17:30:50 -04:00
刘皓
981a7a2bd0
Remove unnecessary coroutines from libretro color= binding implementations 2025-04-02 13:22:31 -04:00
刘皓
207a5263e5
Fix typo in libretro flashable bindings 2025-03-22 11:52:44 -04:00
刘皓
7d557354da
Implement flashable and viewport element bindings for libretro builds 2025-03-20 22:38:05 -04:00
刘皓
eeef9ff943
Don't make sandbox_malloc into a coroutine
Okay, the coroutine implementation of `sandbox_malloc` is clearly
broken. It would be working if Asyncify instrumented the `memory.grow`
WebAssembly instruction, but it doesn't instrument it.

This commit reverts commit 42c4ff9497 and
also increases the default VM memory allocation from 64 MiB to 96 MiB to
account for the lack of ability to increase the memory allocation at run
time. I'll find some new way to implement increasing the memory
allocation later.
2025-03-18 13:49:41 -04:00
刘皓
42c4ff9497
Make sandbox_malloc into a coroutine
According to AddressSanitizer, when `sandbox_malloc` causes the
WebAssembly memory to grow in size, every single coroutine on the
sandbox stack gets corrupted. So if `sandbox_malloc` is going to cause
the memory to grow in size, we need to yield so that there are no
coroutines on the sandbox stack while the reallocation occurs.
2025-02-17 00:38:40 -05:00
刘皓
cae4166765
Use rb_obj_alloc instead of rb_class_new_instance in binding-sandbox
Somehow, using `rb_class_new_instance` causes use-after-free errors in
the subsequent call to `set_private_data`.

Well, `rb_obj_alloc` is what's used in the normal MRI bindings. I just
replaced the `rb_obj_alloc` calls with `rb_class_new_instance`
at some point in binding-sandbox. Guess that wasn't a good idea.
2025-02-16 23:30:09 -05:00
刘皓
4e05a3cc99
Fix objects being prematurely freed in binding-sandbox 2025-02-07 18:10:06 -05:00
刘皓
060fa3b9b3
Fix some mistakes in binding-sandbox 2025-02-07 12:14:29 -05:00
刘皓
a75cf4ae22
Implement plane bindings for binding-sandbox 2025-02-06 19:44:34 -05:00
刘皓
74ebe267ee
Implement tilemap bindings for binding-sandbox 2025-02-06 15:01:05 -05:00
刘皓
6aa52c926c
Implement viewport bindings for binding-sandbox 2025-02-06 13:01:46 -05:00