Skip to content

Conversation

@kjarosh
Copy link
Member

@kjarosh kjarosh commented Sep 18, 2025

This refactor moves splice implementation from AVM2 to ArrayStorage. The goal was to improve performance of splice, which was only partially successful, as it works better, but the bottleneck is still the weird FP behavior with holes and the prototype.

Nonetheless, this looks like a step in the right direction.

CC @adrian17 @SuchAFuriousDeath

@kjarosh kjarosh added A-avm2 Area: AVM2 (ActionScript 3) T-refactor Type: Refactor / Cleanup labels Sep 18, 2025
@kjarosh kjarosh force-pushed the array-splice branch 2 times, most recently from fac0132 to e3201a1 Compare September 19, 2025 19:33
@kjarosh kjarosh added the waiting-on-review Waiting on review from a Ruffle team member label Sep 19, 2025
This refactor moves splice implementation from AVM2 to ArrayStorage.
The goal was to improve performance of splice, which was only partially
successful, as it works better, but the bottleneck is still the weird FP
behavior with holes and the prototype.

Nonetheless, this looks like a step in the right direction.
@kjarosh kjarosh removed the waiting-on-review Waiting on review from a Ruffle team member label Oct 12, 2025
@kjarosh kjarosh enabled auto-merge (rebase) October 12, 2025 21:23
@kjarosh kjarosh merged commit d401582 into ruffle-rs:master Oct 12, 2025
25 checks passed
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Oct 19, 2025
----------------------------------------------------------------------------------
clk.mk 9c014001dac74bd3e443600cd3fbf727a6402e62 # Version: Commits on Oct 13, 2025
----------------------------------------------------------------------------------
Merge pull request #1600 from TomHarte/ShorterOpenDialogue

macOS: shorten prompt to File -> Open...,

------------------------------------------------------------------------------------------
dolphin-emu.mk 1067754d218edab5ece7a1878a987c5d61bdaa65 # Version: Commits on Oct 13, 2025
------------------------------------------------------------------------------------------
Merge pull request #13983 from jordan-woyak/wmreal-android-fix

WiimoteReal: Use GetEnvForThread within IORead/IOWrite calls to fix real Wii remotes on Android.,

------------------------------------------------------------------------------------------
duckstation.mk a035c487218e7b5c00645977ed3a7cf4d4d3f783 # Version: Commits on Oct 13, 2025
------------------------------------------------------------------------------------------
GameList: Fall back to achievement badges for game icons,

-----------------------------------------------------------------------------------
eden.mk 56e2dbc6198125bbc26ff7aef11a0c0e435400d4 # Version: Commits on Oct 13, 2025
-----------------------------------------------------------------------------------
added barriers against zero valued overlayControlData.individualScale (#2721)

--------------------------------------------------------------------------------------
flycast.mk 8edd8fc447fef631f5ac8f9d3a50e8e592f68aa3 # Version: Commits on Oct 13, 2025
--------------------------------------------------------------------------------------
Merge remote-tracking branch 'origin/dev',

--------------------------------------------------------------------------------------
melonds.mk 91ab68090c0aa588aabaeaa5e2c62564fd661ccc # Version: Commits on Oct 13, 2025
--------------------------------------------------------------------------------------
AR: add fun D4 opcodes,

----------------------------------------------------
pcsx2.mk v2.5.222 # Version: Commits on Oct 13, 2025
----------------------------------------------------
- [Debugger: Floating point display in memory view](PCSX2/pcsx2#13362)

,

------------------------------------------------------------------------------------
rpcs3.mk 1cae72c87281525468a09f721d4781aff42d433d # Version: Commits on Oct 12, 2025
------------------------------------------------------------------------------------
vk: Uniquely identify images using a monotonic incrementing counter,

-------------------------------------------------------------------------------------
ikemen.mk 42a345be637db241b57bf056ffe3d349362d0aaf # Version: Commits on Oct 13, 2025
-------------------------------------------------------------------------------------
Merge pull request #2777 from rakieldev/fixes

fix: random cycle restarting from the last used index, mirrored palettes in demo mode mirror match,

-----------------------------------------------------------------------------------------
lightspark.mk c86d37119f745964b23bedf5b4dfe4939abfccbb # Version: Commits on Oct 13, 2025
-----------------------------------------------------------------------------------------
revert previous commit,

---------------------------------------------------------------
ruffle.mk nightly-2025-10-13 # Version: Commits on Oct 13, 2025
---------------------------------------------------------------
## What's Changed

* avm1: Adjust clip removal logic for rewinds by @jarca0123 in ruffle-rs/ruffle#21336

* core: Add ARM64 `FJCVTZS` instruction optimization for `f64` to `i32` by @CrazyboyQCD in ruffle-rs/ruffle#21780

* avm1: Remove `base_clip_unloaded` flag in `Activation` by @moulins in ruffle-rs/ruffle#21866

* avm1: Some `Function` refactors by @moulins in ruffle-rs/ruffle#21849

* chore: fix formatting by @moulins in ruffle-rs/ruffle#21902

* chore: Update wgpu to 26, egui to match by @torokati44 in ruffle-rs/ruffle#21730

* chore: Update cpal to 0.16, dropping oboe by @torokati44 in ruffle-rs/ruffle#21903

* avm2: Refactor Array.splice to ArrayStorage by @kjarosh in ruffle-rs/ruffle#21690

* ci: Remove posting coverage comment by @kjarosh in ruffle-rs/ruffle#21838

## New Contributors

* @CrazyboyQCD made their first contribution in ruffle-rs/ruffle#21780

**Full Changelog**: ruffle-rs/ruffle@nightly-2025-10-12...nightly-2025-10-13,

------------------------------------------------------------------------------------
box64.mk 81c56d7155cdd7a4c49173a2fe4d7bdd87698683 # Version: Commits on Oct 13, 2025
------------------------------------------------------------------------------------
Bumped version to v0.3.8,

---------------------------------------------------------------------------------------
etlegacy.mk 5ac4099159ef2b6282709932101654c522024731 # Version: Commits on Oct 13, 2025
---------------------------------------------------------------------------------------
app: google changed requirements for apps to use only 16KB page size so make sure we are aligned,

-------------------------------------------------------------------------------------------
jazz2-native.mk c0a761ebae78e9e964ed2e21a5fb90561b02dc60 # Version: Commits on Oct 13, 2025
-------------------------------------------------------------------------------------------
Fixed build,

-----------------------------------------------------------------------------------------
retroarch.mk 8d16395de9d8a2534a00feb354163a68488ca90d # Version: Commits on Sept 01, 2025
-----------------------------------------------------------------------------------------
apple: fix display server resolution/refresh rates on macos/ios,

-------------------------------------------------------------------
libserum.mk v2.3.0-concentrate.1 # Version: Commits on Oct 11, 2025
-------------------------------------------------------------------
use fixed unit64_t instead of size_t that varies between 32bit and 64bit,

-----------------------------------------------------
libzedmd.mk v0.9.7 # Version: Commits on Oct 05, 2025
-----------------------------------------------------
removed osx build target,

----------------------------------------------------------------------------------------
doomretro.mk 6788a780439384f784b49737471e50011f73314d # Version: Commits on Oct 13, 2025
----------------------------------------------------------------------------------------
Minor tweaks,

-------------------------------------------------------------------------------------
gzdoom.mk e558d2be8a13f74ed16f70646bc442185e682db2 # Version: Commits on Oct 11, 2025
-------------------------------------------------------------------------------------
properly handle reading from embedded compressed archives.

Fixes #2622,

-----------------------------------------------------------------------------------
tr1x.mk cec5d916a64e9fc6bfc1ee31593644c0c2a381f5 # Version: Commits on Oct 12, 2025
-----------------------------------------------------------------------------------
objects: rename GAME_OBJECT_ID to OBJECT_ID

This rename is necessary, as `OBJECT_ID` is supposed to refer to the

internal TRX indexing, whereas \game object ID\s refer to the OG level

data indexing, and are used strictly by the level reading facilities.,

-----------------------------------------------------------------------------------
tr2x.mk cec5d916a64e9fc6bfc1ee31593644c0c2a381f5 # Version: Commits on Oct 12, 2025
-----------------------------------------------------------------------------------
objects: rename GAME_OBJECT_ID to OBJECT_ID

This rename is necessary, as `OBJECT_ID` is supposed to refer to the

internal TRX indexing, whereas \game object ID\s refer to the OG level

data indexing, and are used strictly by the level reading facilities.,

-----------------------------------------------------------------------------------------------
libretro-flycast.mk 8edd8fc447fef631f5ac8f9d3a50e8e592f68aa3 # Version: Commits on Oct 13, 2025
-----------------------------------------------------------------------------------------------
Merge remote-tracking branch 'origin/dev',

---------------------------------------------------------------------------------------------
libretro-vba-m.mk 53bc1c173872fb8924488192124bed835f6bcfee # Version: Commits on Oct 13, 2025
---------------------------------------------------------------------------------------------
Default bilinear=false, hide_menu_bar=false

Signed-off-by: Rafael Kitover <[email protected]>,

-------------------------------------------------------------------------------------------
glsl-shaders.mk 2eca39ad100cabf1ebe0323c7b67c321eba6c837 # Version: Commits on Oct 13, 2025
-------------------------------------------------------------------------------------------
Update ntsc_module (#544)

* Update ntsc_module.glsl

* Update crt-consumer-1w.glsl

* Update ntsc_module.glsl,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-avm2 Area: AVM2 (ActionScript 3) T-refactor Type: Refactor / Cleanup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants