Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC 0014: CHASM Processor #14

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Conversation

Pyrofab
Copy link
Member

@Pyrofab Pyrofab commented Apr 22, 2021

This RFC describes the details regarding the processor component of the ASMR CHASM system outlined in RFC 3 (#3). This document is still far from done, and will have to be kept updated as the design for the overarching system evolves.

Implementation design is based on the ASMR Processor Prototype by Earthcomputer.

Rendered View

Co-authored-by: Earthcomputer <[email protected]>
@Pyrofab Pyrofab changed the title RFC: ASMR Processor RFC 14: ASMR Processor Apr 22, 2021
@Haven-King Haven-King added the draft RFCs in drafting, may not be final label Apr 23, 2021
@marshoepial
Copy link

marshoepial commented May 21, 2021

I don't think there is any inherent downside to allowing modders to implement transformers on their own. As long as each transformers' writes are checked against the reservations they made during the read phase, there shouldn't be any issues with conflicts arising from badly written custom transformers. Something like a wrapper or handler for org.objectweb.asm.tree.InsnList that has those checks should be fine, I think.

And of course if the bytecode is malformed, then that would be on the JVM to check.

@Earthcomputer
Copy link
Contributor

The problem is, badly written transformers might not conflict when you might think they should, with the current design. The ASMR backend has a fair amount of manual conflict detection, on top of automatic conflict detection. I'm thinking of either changing the backend to force you to always specify what type of conflict detection you want, or making the backend harder to write in directly.

@darkerbit
Copy link

New name for ASMR from the 26.06. developer meeting: CHASM, short for Collision Handling ASM

@darkerbit darkerbit changed the title RFC 14: ASMR Processor RFC 14: CHASM Processor Jun 26, 2021
@Akarys42 Akarys42 changed the title RFC 14: CHASM Processor RFC 0014: CHASM Processor Apr 14, 2023
@sylv256
Copy link

sylv256 commented Aug 10, 2023

has this been finalized + what needs to be done to get this merged?

@anonymous123-code
Copy link

This seems rather outdated (especially the JVM bytecode part, chassembly exists now)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
draft RFCs in drafting, may not be final
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants