Skip to content

Conversation

@madsmtm
Copy link
Contributor

@madsmtm madsmtm commented Feb 11, 2021

Does some work on making avm1 SWF parsing non-allocating and more efficient. We now read OpCode in Activation::do_action, and then call the SWF parsing functions on the swf::avm1::Reader directly, bypassing the need for the swf::avm1::Action enum - as discussed on Discord.

This also allows us to use iterators in e.g. OpCode::Push, which is otherwise quite difficult since the iterators have to consume bytes from the reader before parsing the next action.

@madsmtm madsmtm changed the title Swf avm1 no alloc Read SWF avm1 actions without unnecessary allocations Feb 11, 2021
@madsmtm
Copy link
Contributor Author

madsmtm commented Feb 17, 2021

The tests are currently failing on infinite_recursion_function_in_setter, not sure how to fix that reliably?

@madsmtm madsmtm closed this Mar 2, 2021
@madsmtm madsmtm reopened this Mar 2, 2021
@madsmtm madsmtm force-pushed the swf-avm1-no-alloc branch from 1d70a2d to bf8d092 Compare March 2, 2021 11:21
@danielhjacobs danielhjacobs added swf Related to the SWF format A-avm1 Area: AVM1 (ActionScript 1 & 2) T-perf T-perf Type: Performance Improvements and removed T-perf labels Sep 17, 2024
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) swf Related to the SWF format T-perf Type: Performance Improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants