Skip to content

Conversation

@kjarosh
Copy link
Member

@kjarosh kjarosh commented Sep 21, 2025

It's more efficient and simpler to just copy trivially copyable objects instead of referencing them.

@kjarosh kjarosh added A-avm1 Area: AVM1 (ActionScript 1 & 2) T-refactor Type: Refactor / Cleanup labels Sep 21, 2025
@SuchAFuriousDeath
Copy link
Contributor

SuchAFuriousDeath commented Sep 21, 2025

Look like there's a lint for this: https://rust-lang.github.io/rust-clippy/rust-1.90.0/index.html#trivially_copy_pass_by_ref, it's just opt-in. But maybe it would do more bad than good here, not sure.

@torokati44
Copy link
Member

For the coverage report comment posting failure: https://stackoverflow.com/a/76994510/635587 ...?

Alternatively, you could try using the @RuffleBuild account's token somehow.

@kjarosh
Copy link
Member Author

kjarosh commented Sep 21, 2025

Look like there's a lint for this: https://rust-lang.github.io/rust-clippy/rust-1.90.0/index.html#trivially_copy_pass_by_ref, it's just opt-in. But maybe it would do more bad than good here, not sure.

I'm currently using this lint to fix this stuff, my plan was to enable it but the biggest issue is that Ruffle is being compiled for various different platforms with different word sizes. We'll see if that's problematic or not.

@kjarosh kjarosh added the waiting-on-review Waiting on review from a Ruffle team member label Sep 21, 2025
@SuchAFuriousDeath
Copy link
Contributor

SuchAFuriousDeath commented Sep 21, 2025

Look like there's a lint for this: https://rust-lang.github.io/rust-clippy/rust-1.90.0/index.html#trivially_copy_pass_by_ref, it's just opt-in. But maybe it would do more bad than good here, not sure.

I'm currently using this lint to fix this stuff, my plan was to enable it but the biggest issue is that Ruffle is being compiled for various different platforms with different word sizes. We'll see if that's problematic or not.

The documentation says that the cutoff for when the lint is triggered or not is customizable, if that's of any use.

@kjarosh
Copy link
Member Author

kjarosh commented Sep 21, 2025

The documentation says that the cutoff for when the lint is triggered or not is customizable, if that's of any use.

That's true, but the issue is that you have some types that depend on word size, some that don't. Setting the cutoff fixes issues for fixed size types, but then breaks for types that depend on word size.

That's why my strategy is to fix obvious issues and then assess whether the lint is useful.

Date is trivially copyable and in general shouldn't be referenced.
Object is a Gc and referencing it produces double references.
@kjarosh kjarosh enabled auto-merge (rebase) September 30, 2025 17:48
@kjarosh kjarosh merged commit 94fa3c1 into ruffle-rs:master Sep 30, 2025
24 of 25 checks passed
@kjarosh kjarosh deleted the copy-ref-avm1 branch September 30, 2025 20:08
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Oct 5, 2025
------------------------------------------------------------------------------------------------------
chromebook-linux-audio.mk 90d29575f479b4fbef1d152a9739de5248c30d06 # Version: Commits on Sept 29, 2025
------------------------------------------------------------------------------------------------------
adl: install fixed rt1019-rt5682 tplg,

--------------------------------------------------
faudio.mk 25.10 # Version: Commits on Oct 01, 2025
--------------------------------------------------
Minor improvements to FAudio CI. 25.10 is functionally identical to 25.09.

Thanks to our [GitHub Sponsors](https://github.com/sponsors/flibitijibibo/), including...

Super Duper Sponsors:

- [Re-Logic](https://re-logic.com/)

Super Sponsors:

- @CDGKen

- @compcj

- @jbevain

- @kg

- @NoelFB

- @superjoebob

- @terinfire

- @TerryCavanagh

Sponsors:

- @bartwe

- @bwiklund

- @Conan-Kudo

- @Eldirans

- @GlaireDaggers

- @isaboll1

- @isadorasophia

- @larsiusprime

- @tgpholly

- @xxxbxxx

- [Bit Kid Games](http://bitkidgames.com/)

- [Lunar Ray Games](http://www.lunarraygames.com/),

----------------------------------------------------------------------------------------
amiberry.mk 452783ae8c94a67984b664e9b24f0b99ad163dcd # Version: Commits on Sept 29, 2025
----------------------------------------------------------------------------------------
ci: set least-privilege permissions,

----------------------------------------------------------------------------------------
applewin.mk e6201e04d34658299f63116751ba6b91fea10a7a # Version: Commits on Sept 28, 2025
----------------------------------------------------------------------------------------
Merge pull request #316 from AppleWin/master

Update,

-----------------------------------------------------------------------------------
ares.mk 18500e679bbe01464c22e49ea9ac3cfbac7a02e4 # Version: Commits on Oct 01, 2025
-----------------------------------------------------------------------------------
ld: Fixed a potential threading issue with frame prefetch,

----------------------------------------------------------------------------------
clk.mk 009f71a1866a291d88b6fe5dd41ace4fe485bfd3 # Version: Commits on Oct 01, 2025
----------------------------------------------------------------------------------
Update version number.,

------------------------------------------------------------------------------------------
dolphin-emu.mk a570b24c96128e5d342d9770fdbc1cf22f16ab89 # Version: Commits on Oct 01, 2025
------------------------------------------------------------------------------------------
Merge pull request #13985 from Dentomologist/jit64_fix_dcbz_regression

Jit64: Fix dcbz regression,

-------------------------------------------------------------------------------------------
duckstation.mk c79097226501ee5406dd950fac94bd41b8cde030 # Version: Commits on Sept 30, 2025
-------------------------------------------------------------------------------------------
System: Warn if geometry tolerance is not default,

-----------------------------------------------------------------------------------
eden.mk 4be6d30cd95634777e0ea0790d7c51a3d09bb773 # Version: Commits on Oct 01, 2025
-----------------------------------------------------------------------------------
[fixup] fix bad variable names (#2642)

--------------------------------------------------------------------------------------
hatari.mk 2cae7647a8c2a0343f3f2910023201475dd565ab # Version: Commits on Sept 28, 2025
--------------------------------------------------------------------------------------
Limit DMA sector count on Falcon to 14 bit (like on real hardware),

-------------------------------------------------------------------------------------
ikemen.mk 96eae81af39d1298f942cf3e2d711bb6e3ea768a # Version: Commits on Oct 01, 2025
-------------------------------------------------------------------------------------
style: fix code style issues with gofmt,

------------------------------------------------------------------------------------------
lightspark.mk cebd94d9829a6b4467df22b93bf72ce445343242 # Version: Commits on Sept 30, 2025
------------------------------------------------------------------------------------------
[test-runner] Use the new filesystem library, instead of `std::filesystem`

This replaces all uses of `std::filesystem` with the newly added

filesystem library.

It also makes some parts of the code simpler.,

------------------------------------------------------------------------------------------------
lindbergh-loader.mk 813ea1c49d4b96925c06c8f1b4caf9e8a749b405 # Version: Commits on Sept 30, 2025
------------------------------------------------------------------------------------------------
A few bugs fixed and 2 additions.,

---------------------------------------------------------------------------------------
melonds.mk f143e89c931d12a234851e443b7d85f8017db9a3 # Version: Commits on Sept 29, 2025
---------------------------------------------------------------------------------------
fix UB in software renderer,

---------------------------------------------------------------------------------------
openmsx.mk b2947c5237b569642f85ca283fac37f02c061dbf # Version: Commits on Sept 29, 2025
---------------------------------------------------------------------------------------
Simplify Shader API

A load/compile error in the Shader constructor now throws an exception

(before it only printed a warning). That means that now, after the

constructor finishes we have guaranteed a correct Shader object. That

allows to remove some checks and simplify the API.,

-----------------------------------------------------
pcsx2.mk v2.5.195 # Version: Commits on Sept 30, 2025
-----------------------------------------------------
- [GS/TC: Optimize block offset calculation.](PCSX2/pcsx2#13339)

,

------------------------------------------------------------------------------------
play.mk 29bf47316ae409099a36ea4cae084d9574e95dd1 # Version: Commits on Sept 28, 2025
------------------------------------------------------------------------------------
Add patch to batlgr3 to fix hanging in 3D scenes.,

--------------------------------------------------------------------------------------
ppsspp.mk 2f4b1adc98d36a4d3fdd0a413d65a7a0b306ed4c # Version: Commits on Sept 30, 2025
--------------------------------------------------------------------------------------
Merge pull request #20845 from hrydgard/checkbox-fix

Fix the OnClick behavior on checkboxes, oops. Fixes cheats.,

-------------------------------------------------------------------------------------
rpcs3.mk 23b339d410fafc21326502d381b4b03611fa294b # Version: Commits on Sept 30, 2025
-------------------------------------------------------------------------------------
rpcs3_version: Bump to 0.0.38,

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

* build(deps): bump the cargo-minor group with 7 updates by @dependabot[bot] in ruffle-rs/ruffle#21806

* web: Add 'peer: true' to some dependencies by @tsunamistate in ruffle-rs/ruffle#21801

* build(deps-dev): bump the npm-minor group across 1 directory with 19 updates by @dependabot[bot] in ruffle-rs/ruffle#21809

* avm1: Do not reference trivially copyable objects by @kjarosh in ruffle-rs/ruffle#21721

**Full Changelog**: ruffle-rs/ruffle@nightly-2025-09-29...nightly-2025-10-01,

-----------------------------------------------------
ryujinx.mk 1.3.146 # Version: Commits on Oct 01, 2025
-----------------------------------------------------
Canary-1.3.146

----------------------------------------------------------------------------------------
thextech.mk 166402a2ab7f57d01450b77a8356f88edb2be25d # Version: Commits on Sept 30, 2025
----------------------------------------------------------------------------------------
Translated using Weblate (Japanese)

Currently translated at 60.8% (414 of 680 strings)

Co-authored-by: 3UPPER <[email protected]>

Translate-URL: https://hosted.weblate.org/projects/thextech/engine-general/ja/

Translation: TheXTech Engine/Engine General,

---------------------------------------------------------------------------------------
tsugaru.mk a6cf19ae556db952fa0092976f810989e6678232 # Version: Commits on Sept 28, 2025
---------------------------------------------------------------------------------------
Updated CMake minimum version to 3.20 (to fix macOS build),

----------------------------------------------------
xemu.mk v0.8.106 # Version: Commits on Sept 29, 2025
----------------------------------------------------
,

--------------------------------------------------------------------------------------------
xenia-native.mk 21166607227a2809f6b5c72dec6457e41394431c # Version: Commits on Sept 30, 2025
--------------------------------------------------------------------------------------------
[UI] Added some missing glyphs that might be used in text,

-----------------------------------------------------------------------------------
ymir.mk 6599af08e5a9f42dc54d496667c9a763f06e8a47 # Version: Commits on Oct 01, 2025
-----------------------------------------------------------------------------------
feat(debug): Added VDP2 CRAM palette viewer/editor,

----------------------------------------------------------------------------------------------
img-gpu-powervr.mk b60da16be1b36453aa46599889c28310fd148fb8 # Version: Commits on Apr 28, 2025
----------------------------------------------------------------------------------------------
Merge branch 'CR_17892_ethercat_ziv.xu' into 'jh7110-devel'

CR_17892_ethercat_ziv.xu

See merge request sdk/soft_3rdpart!95,

--------------------------------------------------------------------------------------------
sdl12-compat.mk 6152f8de38fa9188e280dbbba5d37b15a3a499b5 # Version: Commits on Sept 30, 2025
--------------------------------------------------------------------------------------------
Fixed style,

---------------------------------------------------------------------------------------
aic8800.mk 2bf2dc64bedaf3f0fcbcc206125afa5da8b3835b # Version: Commits on Sept 30, 2025
---------------------------------------------------------------------------------------
feat: release 4.0+git20250410.b99ca8b6-3,

------------------------------------------------------------------------------------
box64.mk d547fe4d372fb8249b0f8874a87088849c707f1d # Version: Commits on Oct 01, 2025
------------------------------------------------------------------------------------
[ARM64_DYNAREC] Small improvment on some invalid opcode handling,

---------------------------------------------------------------------------------------
corsixth.mk 47c2bd25f05412bb3ac2d06b48844b35b21d0a08 # Version: Commits on Oct 01, 2025
---------------------------------------------------------------------------------------
Epidemic. Vaccination cursor does not work fix (#3052)

* epidemic vaccination cursor does not work

* epidemic vaccination cursor does not work fix. improvements by review.

* epidemic vaccination cursor does not work fix.  lua tests error resolving.

* epidemic vaccination cursor does not work fix. improvements by review.,

------------------------------------------------------------------------------------------
devilutionx.mk 607aaf82045fd1c94e8b4cdb41432cabd510908d # Version: Commits on Oct 01, 2025
------------------------------------------------------------------------------------------
Update Spanish translation,

--------------------------------------------------------------------------------------
eduke32.mk 64cac0216881b39728d236728b38853afaa2a44f # Version: Commits on Sep 29, 2025
--------------------------------------------------------------------------------------
Update credits

---------------------------------------------------------------------------------------
etlegacy.mk 4e833f2626f8ba2514f8f4748b0fcba717e6e567 # Version: Commits on Oct 01, 2025
---------------------------------------------------------------------------------------
ui: Fix ctype usage. (#3199)

The argument of these functions is of type int, but only a very

restricted subset of values are actually valid.  The argument must either

be the value of the macro EOF (which has a negative value), or must be a

non-negative value within the range representable as unsigned char.

Passing invalid (negative char) values leads to undefined behavior.

This fixes a segfault on startup on NetBSD 11.,

--------------------------------------------------------------------------------------------
jazz2-native.mk b32f05bb3715df69d32cc73fd5e8f734bff334ad # Version: Commits on Sept 30, 2025
--------------------------------------------------------------------------------------------
Minor fixes,

----------------------------------------------------
nblood.mk r14283 # Version: Commits on Sept 30, 2025
----------------------------------------------------
-

---------------------------------------------------------------------------------------
stalker.mk 9ccefbb6cb72315cf7cc82c2f2096a1140d31094 # Version: Commits on Sept 29, 2025
---------------------------------------------------------------------------------------
build(deps): bump Externals/imgui from `28837ec` to `1f020e5` (#1959)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>,

-----------------------------------------------------------------------------------------
supertux2.mk 53ebcfcba988dd46071df2903b56bfcf81bdc8ae # Version: Commits on Sept 30, 2025
-----------------------------------------------------------------------------------------
Fix MacOS executable name,

---------------------------------------------------------------------------------------
evsieve.mk b67f32c355eed2e9424aa26d10870700d6c2b3ff # Version: Commits on Sept 30, 2025
---------------------------------------------------------------------------------------
Update libevdev bindings.,

----------------------------------------------------------------------------------------
mangohud.mk b0586184e88221a12dcf7972218c9a467974eb9f # Version: Commits on Sept 28, 2025
----------------------------------------------------------------------------------------
params: use atomic in most places,

-------------------------------------------------------
rgbds.mk v1.0.0-rc2 # Version: Commits on Sept 30, 2025
-------------------------------------------------------
Release v1.0.0-rc2,

----------------------------------------------------------------------------------------
retroarch.mk 5ace54acc403b75c7bed0757c9dfb287cd08a4c0 # Version: Commits on Oct 01, 2025
----------------------------------------------------------------------------------------
Fetch translations from Crowdin,

----------------------------------------------------------------------------------------
doomretro.mk eb760ea9d244385b0c17e581d8e8ac5446d65f45 # Version: Commits on Oct 01, 2025
----------------------------------------------------------------------------------------
Further work on enhancements to player's path in automap,

--------------------------------------------------------------------------------------
gzdoom.mk f4cba8e3a23584743b988b1ed6fc6cea53c9575d # Version: Commits on Sept 28, 2025
--------------------------------------------------------------------------------------
Update text,

------------------------------------------------------------------------------------------
xash3d-fwgs.mk 7266c5469a83b406b0533b2ff7f12d6ba9c665cc # Version: Commits on Oct 01, 2025
------------------------------------------------------------------------------------------
ci: upgrade to latest SDL2 release,

-----------------------------------------------------------------------------------------------
libretro-bennugd.mk be9382f6e1f5fe2632db85ce102434c34b9b576a # Version: Commits on Oct 01, 2025
-----------------------------------------------------------------------------------------------
workaround for bug in zig causing windows crosscompile with zig to fail,

---------------------------------------------------------------------------------------------
libretro-citra.mk d6f50f7e03901bf2e6958b42d4737f8137abaae8 # Version: Commits on Oct 01, 2025
---------------------------------------------------------------------------------------------
libretro: on ios also turn off shader jit if unavailable,

-------------------------------------------------------------------------------------------------------
libretro-doublecherrygb.mk d5e0e0d31a8a09f4e3135089668433a50034a36b # Version: Commits on Sept 30, 2025
-------------------------------------------------------------------------------------------------------
Merge branch 'perfomance/improvements',

----------------------------------------------------------------------------------------------
libretro-fbneo.mk 9726100ba22a558290860a2648e1e6a8b8719478 # Version: Commits on Sept 30, 2025
----------------------------------------------------------------------------------------------
(libretro) update files,

--------------------------------------------------------------------------------------------------
libretro-gearcoleco.mk 51a90ea44632ccd17d74653b7f18197d84b31888 # Version: Commits on Oct 01, 2025
--------------------------------------------------------------------------------------------------
Update artifact name,

-------------------------------------------------------------------------------------------------
libretro-geargrafx.mk 8fb3d8869ad804713634d39fd046fb08c92edd72 # Version: Commits on Oct 01, 2025
-------------------------------------------------------------------------------------------------
Update artifact name,

--------------------------------------------------------------------------------------------------
libretro-gearsystem.mk 9c310da50d9bba03e6b694b68c6b5a2744e045e7 # Version: Commits on Oct 01, 2025
--------------------------------------------------------------------------------------------------
Update artifact name,

------------------------------------------------------------------------------------------------------
libretro-mame2003-plus.mk 59b8a9fb06a47a3ce6aecd09b07f3f001e3d9b08 # Version: Commits on Sept 30, 2025
------------------------------------------------------------------------------------------------------
Update segas32.c,

-------------------------------------------------------------------------------------------------
libretro-panda3ds.mk 2bedba53d33727e3820aed91d39656761f840206 # Version: Commits on Sept 29, 2025
-------------------------------------------------------------------------------------------------
Update .clang-format,

-----------------------------------------------------------------------------------------------
libretro-ppsspp.mk 2f4b1adc98d36a4d3fdd0a413d65a7a0b306ed4c # Version: Commits on Sept 30, 2025
-----------------------------------------------------------------------------------------------
Merge pull request #20845 from hrydgard/checkbox-fix

Fix the OnClick behavior on checkboxes, oops. Fixes cheats.,

--------------------------------------------------------------------------------------------
libretro-ps2.mk 9485a53fa5aa2bff17e04518116107f81a8c82e3 # Version: Commits on Sept 28, 2025
--------------------------------------------------------------------------------------------
Show git version hash,

----------------------------------------------------------------------------------------------
libretro-tic80.mk 463d8b14effb3a90c345fc15a14da297deb79773 # Version: Commits on Sept 29, 2025
----------------------------------------------------------------------------------------------
sokol branch 258 tile esc key mouse flicker fix (#2849),

---------------------------------------------------------------------------------------------
libretro-vba-m.mk 68e7d98b8503cbbe903c1b82215ce49ee03ef3b6 # Version: Commits on Oct 01, 2025
---------------------------------------------------------------------------------------------
Fix pause when inactive for new wxWidgets

Handle the Iconize event to pause when \pause when inactive\ is enabled,

to work around a change in recent versions of wxWidgets that ignore this

unfocus event.

Fix #1494.

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

--------------------------------------------------------------------------------------------
slang-shaders.mk cc9d2d31e7e5ed71b4e6a34234cac2fff7774baf # Version: Commits on Oct 01, 2025
--------------------------------------------------------------------------------------------
remove top field first from 240p codepath

it was causing a black screen on 240p content by treating the entire screen like a scanline gap. That is, increasing the 'interlacing scanline bright %' value made the image visible again. This shouldn't even be involved in the 240p codepath, AFAICT, so I'm taking it out.,
@Lord-McSweeney Lord-McSweeney removed the waiting-on-review Waiting on review from a Ruffle team member label Oct 16, 2025
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.

4 participants