Skip to content

Conversation

moulins
Copy link
Contributor

@moulins moulins commented Oct 5, 2025

  • Makes avm1::function::Executable private for better encapsulation;
  • Deduplicate and clean up some code in avm1/function.rs;
  • Replace some matches by let-elses in native methods (for shorter code).

This has no behavioral changes.

@moulins moulins changed the title avm1: Some Function refactors DRAFT: avm1: Some Function refactors Oct 7, 2025
@moulins moulins marked this pull request as draft October 7, 2025 04:25
@moulins moulins force-pushed the avm1-function-refactors branch from 1e6b6dc to e7c1f3c Compare October 7, 2025 23:19
@moulins moulins marked this pull request as ready for review October 7, 2025 23:19
@moulins moulins changed the title DRAFT: avm1: Some Function refactors avm1: Some Function refactors Oct 7, 2025
@moulins moulins added A-avm1 Area: AVM1 (ActionScript 1 & 2) T-refactor Type: Refactor / Cleanup labels Oct 7, 2025
@moulins moulins force-pushed the avm1-function-refactors branch from e7c1f3c to 0e682d3 Compare October 7, 2025 23:40
@moulins moulins added the waiting-on-review Waiting on review from a Ruffle team member label Oct 8, 2025
@moulins moulins force-pushed the avm1-function-refactors branch from 0e682d3 to bd553b9 Compare October 11, 2025 08:55
- Remove some outdated comments
- Deduplicate code for `__constructor__/constructor` property definitions
- Move (most of) `Executable::exec` to `Avm1Function::exec`
Also adds `Function::exec_constructor` for use by `super` calls.
It's slightly shorter, and cleaner.
This splits creating the raw `FunctionObject`, and
builf the actual AVM1 `Object` that contains it.
@moulins moulins force-pushed the avm1-function-refactors branch from bd553b9 to 5bc91a2 Compare October 12, 2025 10:26
@moulins moulins enabled auto-merge (rebase) October 12, 2025 10:28
@moulins moulins merged commit 531f1ac into ruffle-rs:master Oct 12, 2025
22 of 25 checks passed
@moulins moulins mentioned this pull request Oct 12, 2025
@moulins moulins deleted the avm1-function-refactors branch October 12, 2025 11:41
@Lord-McSweeney Lord-McSweeney removed the waiting-on-review Waiting on review from a Ruffle team member label Oct 16, 2025
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-avm1 Area: AVM1 (ActionScript 1 & 2) T-refactor Type: Refactor / Cleanup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants