From c1a43da5d928cc9aa6e8a586d97f40eaaac639af Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Wed, 21 Apr 2021 23:17:48 +0200 Subject: [PATCH 1/6] Start ASMR Processor RFC Co-authored-by: Earthcomputer --- rfc/0000-asmr-processor.md | 118 ++++++++++++++++++++++++ rfc/0000-assets/asmr_class_diagram.png | Bin 0 -> 20036 bytes rfc/0000-assets/asmr_class_diagram.svg | 1 + rfc/0000-assets/asmr_hello_world.png | Bin 0 -> 150999 bytes rfc/0000-assets/asmr_object_diagram.png | Bin 0 -> 68955 bytes 5 files changed, 119 insertions(+) create mode 100644 rfc/0000-asmr-processor.md create mode 100644 rfc/0000-assets/asmr_class_diagram.png create mode 100644 rfc/0000-assets/asmr_class_diagram.svg create mode 100644 rfc/0000-assets/asmr_hello_world.png create mode 100644 rfc/0000-assets/asmr_object_diagram.png diff --git a/rfc/0000-asmr-processor.md b/rfc/0000-asmr-processor.md new file mode 100644 index 00000000..514eec26 --- /dev/null +++ b/rfc/0000-asmr-processor.md @@ -0,0 +1,118 @@ +## Summary + +This RFC is part of a series aiming to define and prototype the ASM-Regex project. It expands upon [RFC-0003](https://github.com/QuiltMC/rfcs/pulls/3) by proposing a design for the processor, a backend module that loads transformers and applies them as needed to a given classpath. + +## Motivation + +ASM-Regex would be based on two key kinds of components: + +- **Processor** - a backend library which applies *transformers* to the application's bytecode. +- **Compiler** - a piece of software which can take in some form of input (annotated classes, domain-specific language, etc.) and turn them into *transformers* usable by the processor. + +*Transformers* present themselves as classes loadable by the JVM that can transform the ASMR tree provided by the processor. Those would be invisible to modders, being only generated by compilers as intermediary objects to be executed by the processor. + +### Requirements + +*The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [tools.ietf.org RFC 2119](https://tools.ietf.org/html/rfc2119)* + +- The processor **must** generate a data structure representing the bytecode from all classes belonging to a given classpath +- The processor **must** load a predefined list of transformers +- The processor **must** offer ways to tweak the order in which transformers are loaded and applied +- The processor **must** allow transformers to factor other transformations into their own +- The bytecode processing system **must** be deterministic given a game version, a set of mods, and a set of config properties +- The processor **should not** verify the output bytecode; this task is left to the JVM's verifier. Compilers should ensure the generated transformers generate bytecode that is valid and well-formed. + +## Explanation + +### Implementation + +#### Class representation + +![Class diagram of the tree API](0000-assets/asmr_class_diagram.png) + +Many nodes in the tree representation of a class (`org.objectweb.asm.tree`) count as "symbols" that can be matched against and replaced. Mixin has the concept of matching an `AbstractInsnNode` using custom injection points, here we generalize this concept to be able to match against and transform everything from whole `MethodNode`s, all the way down to individual fields of an instruction, such as the operand to an `ALOAD` instruction. + +The granularity of the tree structure is a key point of this design. Individual operands to instructions are treated the same conceptually to a whole instruction node, which is treated the same as a whole method node in a class. + +![Hello World Example Diagram](0000-assets/asmr_hello_world.png) + +A "slice" is a pointer to one or more sequential nodes. It can be one of two types: + +- `AsmrSlice`: references a single node +- `AsmrListSlice`: references a parent list, a start node within the list, and an end node within the list. + - To better account for changes to the node list made by other transformers, list slices can choose whether they include the start and end nodes. For example here, pointing right after the field instruction node is not the same thing as pointing right before the load constant instruction node because, if another transformer injects between those two nodes, the new nodes will be included in the former case but not in the latter case. + +For a slice of instructions in a method (similar to what mixin has), the parent is the method instruction list ("body"), and the start and end indexes are into that instruction list. There can also be a slice of fields or methods in a class, and a slice of operands in a single instruction. If a single symbol needs to be targeted, it is represented as a slice of length 1. You can also have a slice of length 0, where the start index equals the end index. + +#### Processor phases + +// 2 orderings : general order (read+write) calculated from a dependency graph, and write order + +The processor phases are split into two phases (actually it's more complicated than this, more on that later). We first have the read phase and then we have the write phase. + +When a class is transformed, the read phase is first invoked for all transformers. This is when all transformers inspect the tree of the class and collect a set of slices they are interested in. Also in this phase, the transformers are allowed to tell the processor certain things about the slices they identify. For example, a transformer could tell the processor that a certain slice must not be modified by any other transformer during the write phase. No modification to the class tree happens in this phase. + +In the read phase, each transformer also tells the processor about the writes it plans to do during the write phase (along with which write function to use in each case, see below). Note that this means that between the read phase and the write phase, the processor can detect inter-mod conflicts, which are defined as one processor marking a slice for write which overlaps a slice that another processor marked as cannot-be-modified. + +In the write phase, all planned writes are invoked. A "write" is defined as replacing a slice with another "replacement" tree. The replacement tree can be constructed from literal values or can have subtrees substituted with slices that were gathered during the read phase (this is called "capturing"). A tree can of course be constructed from literal values in some places and captured slices in others. Note that you can inject without replacing any code by replacing an empty slice. + +For example, let's say you want to capture a local variable. In the read phase, you can identify a local variable by an `aload x` instruction somewhere (which may be nearby to some interesting piece of code), and capture the `x` operand in a slice. Then, in a write, you can read and write that variable by substituting the captured slice containing `x` into an `aload` or `astore` instruction. + +#### Order of operations + +With the aforementioned features, you can implement most of what Mixin supports (and a lot more too). However there are one or two things unanswered, and that's "priority", and what about if some transformer is designed to read or modify the code *after* some or all transformation has taken place? + +As of writing this draft, the basic idea is that write operations can be given some way to declare their ordering, so that the writes can be applied in a way that honours something equivalent to Mixin's priority system. Additionally, there may be a number of read phases and write phases happening in alternation for transformers that declare they want to work on partially or fully transformed code. + +#### Format + +Transformers in the backend need to be very flexible to be able to support all these features. The initial idea is that the read phase, and probably the write phase too, need something close to a Turing machine to be implemented properly. But at that point, since they are basically executing code anyway, why not make the backend format... Java bytecode? A transformer implements a Java interface, the read method is called during the read phase, which passes method references back to the transformer to be executed during the write phase. The implementation of a transformer may capture slices using fields in that class. + +There is one clear disadvantage to using Java bytecode as the target format for the backend, and that's that it means you could implement a transformer directly in Java if you wanted to. The way to discourage this would be to offer attractive frontend solutions that do the same thing as what they would want to do with the backend, so why do it the hard way? + +In addition, what is the *real* problem with people doing what they're not supposed to and compiling Java to the backend directly? After all, the read-write paradigm in the backend is designed to have inter-mod safety, so even if someone manages to write a transformer in Java they are not likely to break anything that way. No, the *real* problem is that the backend isn't designed to be easy to write code in, and it may be easy to forget to do things, such as marking slices as unmodifiable. Also, there aren't rigorous checks in the backend against creating broken bytecode. Both of these checks are the responsibility of the compiler. + + + +The problem could also be mitigated by putting illegal Java identifier characters in the interface method(s) that need to be implemented. + + + + +## Drawbacks + +Why should we not do this? + + +## Rationale and Alternatives + +- Instead of using a dedicated processor, transformers could be self-contained executables that each scan the classpath +- Being able to create transformers in Java seems like a relatively small price to pay. While there is always the option of a Turing machine, it would require writing and maintaining a separate parser library. + + + +## Prior Art + +- Mixin +- Forge's patches +- ASM's Tree API + + + +## Unresolved Questions + +- Labels. We need a way to create labels and substitute them. Maybe this could mean that the actual substitution trees are created in the read phase, but not actually substituted until the write phase? + +### Out of scope for this RFC + +- What should the frontend look like? +- How are compilers implemented? + - This document's purpose is to propose a design for the processor backend. The task of designing one or more compilers is left to a future proposal. + +## Expected Response + + \ No newline at end of file diff --git a/rfc/0000-assets/asmr_class_diagram.png b/rfc/0000-assets/asmr_class_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..860d0a20c96870263df429ae88faffdab035bfef GIT binary patch literal 20036 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 JS?83{1ON$M(9Zw> literal 0 HcmV?d00001 diff --git a/rfc/0000-assets/asmr_class_diagram.svg b/rfc/0000-assets/asmr_class_diagram.svg new file mode 100644 index 00000000..3d65623c --- /dev/null +++ b/rfc/0000-assets/asmr_class_diagram.svg @@ -0,0 +1 @@ +7Vptc+I2EP41zNx1Joxlm7ePgSTXF5JJm9yl7TcFC6xGtqgsAs6v78qWMH6DBExynSOTGdjV6sX7PFrvSrScUbD6IvDcv+YeYS3b8lYt56Jl2whZNnwoTZxquq5WzAT1tFGmuKMvRCstrV1Qj0Q5Q8k5k3SeV054GJKJzOmwEHyZN5tylp91jmekpLibYFbWPlBP+qm2b/cy/c+EznwzM+oO0pYAG2P9JJGPPb7cUDmXLWckOJfpt2A1Ikw5z/jl4Zf4gY2ful9+/T36F38d/nZ/8+0sHezqLV3WjyBIKPceuhMv5dIZ8F7v5Xoobnp/f3X6Z0i7IZKxcRjxwH9a5EL6fMZDzC4z7VDwRegRNawFUmYz5nwOSgTKf4iUsSYDXkgOKl8GTLdGEgt5rsAFRchDYnRXlDE9LAm9ggVoNtrTdavFFnDe4SRtF/GFmJBtnrHXEMPeIDwgUsTQURCGJX3Oz4o1SWdru3XXW05hPbalN5Tjajbp7QRMzA8BbpgRqXtlcIIvcLxhNlcGUf08bqd6Hj0cfElHNNLGM2aqhEFvYJOe8hmzhfZPy+4ymaCVfuLHSAoM29zuzrTefLZsBylgz6NA3EAYKhEzWtKA4YQKUx5Kw1HVZ+JT5o1xzBcKeqDS5MlIQ58L+gL2OMc+zU2YFkYDVo044yLjWtbpTg2mpxEkgm63hmKooLrGq5zhGEfSLJAzhucRfUyWrDoGgDMNh1xKHuQo/UyEJKs9SF3mqh7F7uW5gAwHl1lARMbG3wyGllvP7w0qvZ0pqIIpw+QtMI8/hWSZOvRzyzlXHCBseh/Py4wAP8kEUMGfSAHBClAxo7MQREamqptyNIUXxblWSxW9htEcT2g4Gyc2F26m+UP7Rak49J2yJDj51PNImERFiSV+XHNS71BYaGcI/+DekdXutDqw8BHIKJPhX5kLOeKh2h40wZoAe5Ykkq8lRv2OLBPDBIXu63hg7BqngV1DA0HmDE/IJy59Ij6fcG8Y9479wbg7Fbg7evtfCR6cgD8O8L3+BwM/+Ih0Ezwm4j/XeSUIfykBsNDixWqz8SJ+ZQqaS2M9igMeevc+DQvZbLKEFZXrFcD3jQWAlM2vBDP9KzLcbVnYzgxXb8I04dz1rm48ET5DqJChGtmMkT7AwZlwaaIBytdJOxdmVdtXNh8nsUblzNpqt00pk99MY/wIJXxuA5g4OAHiEFERCQOIaeleU4lrbUy72BaadAGvO7fWZfNOvg62Jq9nVnvgdtw8Iql0KAPNOLEBvlCK8ek0IrKAbjN4lvNfwPOnHwFPgNPpNYSfVcBv8F742f0SfkkJCp75ETCEPYkcJ+d81AikfZRH1DDl+Ii6FRnpXkcX59psTCN5OsaozVz2OMZA3fx+d+yKYwy3Ipvt2PU8POwUo1y/Kgp8U2KKfUqd+4wrJzI0Qwan/92RoaqoHWYKdZJ1XyLAqaLd9SqqO4jfcoZVhfvRStp+5Rv/3UratjtwNsvadWttUQvSLREUnl7lHcVK95FxFRve+bZFv3531qJONRdenXYcdlrZ/b6ghlS6a+8D9xvv3z6GEqh/INbVKSbU/20LDbK/fv490kPQvNFeuAFp6HoOFWoXc11XdygBq95mf6RTh3KVs2dSfEqGm85/Cte7bq/zwemPffolQZ1nahKYQwOZUx1Cmg5VTs08Rw095mju8NBzy1kccDH36eQUhRr/ZYGbP5itDENVF0xHC0NOuQrTz/h/O5fbC47CzYVrvdnNIGY/aUu3c/bDQOfyPw== \ No newline at end of file diff --git a/rfc/0000-assets/asmr_hello_world.png b/rfc/0000-assets/asmr_hello_world.png new file mode 100644 index 0000000000000000000000000000000000000000..071b20ffbf2e7b5798a9e66684a997f0f09906c7 GIT binary patch literal 150999 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 literal 0 HcmV?d00001 diff --git a/rfc/0000-assets/asmr_object_diagram.png b/rfc/0000-assets/asmr_object_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3079771265126cc1aa0cd6c9128dfd7fb3d29c26 GIT binary patch literal 68955 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 Date: Fri, 23 Apr 2021 01:49:05 +0200 Subject: [PATCH 2/6] Update RFC number --- ...000-asmr-processor.md => 0014-asmr-processor.md} | 0 .../asmr_class_diagram.png | Bin .../asmr_class_diagram.svg | 0 .../asmr_hello_world.png | Bin .../asmr_object_diagram.png | Bin 5 files changed, 0 insertions(+), 0 deletions(-) rename rfc/{0000-asmr-processor.md => 0014-asmr-processor.md} (100%) rename rfc/{0000-assets => 0014-assets}/asmr_class_diagram.png (100%) rename rfc/{0000-assets => 0014-assets}/asmr_class_diagram.svg (100%) rename rfc/{0000-assets => 0014-assets}/asmr_hello_world.png (100%) rename rfc/{0000-assets => 0014-assets}/asmr_object_diagram.png (100%) diff --git a/rfc/0000-asmr-processor.md b/rfc/0014-asmr-processor.md similarity index 100% rename from rfc/0000-asmr-processor.md rename to rfc/0014-asmr-processor.md diff --git a/rfc/0000-assets/asmr_class_diagram.png b/rfc/0014-assets/asmr_class_diagram.png similarity index 100% rename from rfc/0000-assets/asmr_class_diagram.png rename to rfc/0014-assets/asmr_class_diagram.png diff --git a/rfc/0000-assets/asmr_class_diagram.svg b/rfc/0014-assets/asmr_class_diagram.svg similarity index 100% rename from rfc/0000-assets/asmr_class_diagram.svg rename to rfc/0014-assets/asmr_class_diagram.svg diff --git a/rfc/0000-assets/asmr_hello_world.png b/rfc/0014-assets/asmr_hello_world.png similarity index 100% rename from rfc/0000-assets/asmr_hello_world.png rename to rfc/0014-assets/asmr_hello_world.png diff --git a/rfc/0000-assets/asmr_object_diagram.png b/rfc/0014-assets/asmr_object_diagram.png similarity index 100% rename from rfc/0000-assets/asmr_object_diagram.png rename to rfc/0014-assets/asmr_object_diagram.png From 0276e45a181a27f068ac42b4faf661a0aed2cd9b Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Fri, 23 Apr 2021 01:52:35 +0200 Subject: [PATCH 3/6] Fix image references --- rfc/0014-asmr-processor.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rfc/0014-asmr-processor.md b/rfc/0014-asmr-processor.md index 514eec26..d6aea30e 100644 --- a/rfc/0014-asmr-processor.md +++ b/rfc/0014-asmr-processor.md @@ -28,13 +28,13 @@ ASM-Regex would be based on two key kinds of components: #### Class representation -![Class diagram of the tree API](0000-assets/asmr_class_diagram.png) +![Class diagram of the tree API](0014-assets/asmr_class_diagram.png) Many nodes in the tree representation of a class (`org.objectweb.asm.tree`) count as "symbols" that can be matched against and replaced. Mixin has the concept of matching an `AbstractInsnNode` using custom injection points, here we generalize this concept to be able to match against and transform everything from whole `MethodNode`s, all the way down to individual fields of an instruction, such as the operand to an `ALOAD` instruction. The granularity of the tree structure is a key point of this design. Individual operands to instructions are treated the same conceptually to a whole instruction node, which is treated the same as a whole method node in a class. -![Hello World Example Diagram](0000-assets/asmr_hello_world.png) +![Hello World Example Diagram](0014-assets/asmr_hello_world.png) A "slice" is a pointer to one or more sequential nodes. It can be one of two types: From df0ed208ced7e254e52556e5b754ff2b28b0a1c6 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Wed, 28 Apr 2021 23:49:45 +0200 Subject: [PATCH 4/6] Update proposal based on current prototype Co-authored-by: Earthcomputer --- rfc/0014-asmr-processor.md | 26 ++++++++++++++++++++++++ rfc/0014-assets/asmr_hello_world.png | Bin 150999 -> 144773 bytes rfc/0014-assets/asmr_object_diagram.png | Bin 68955 -> 68580 bytes 3 files changed, 26 insertions(+) diff --git a/rfc/0014-asmr-processor.md b/rfc/0014-asmr-processor.md index d6aea30e..2565d7c4 100644 --- a/rfc/0014-asmr-processor.md +++ b/rfc/0014-asmr-processor.md @@ -76,6 +76,32 @@ In addition, what is the *real* problem with people doing what they're not suppo The problem could also be mitigated by putting illegal Java identifier characters in the interface method(s) that need to be implemented. +#### Transformer Verifier + +To ensure determinism in bytecode modifications, transformers' own bytecode is scanned and verified. An exception is thrown if a transformer does not respect the following criteria: + +- All references to non-whitelisted or blacklisted classes are disallowed. + - All classes are blacklisted by default + - The transformer class itself (the one that's currently being verified) is whitelisted. + - All classes that ship with the ASMR processor are whitelisted by default. + - This check is *not* the same as checking the package prefix, as this restriction may be circumvented by putting a mod's own classes in the same package. + - Certain JDK classes are whitelisted, such as `String`, the full list of them may be added to over time. + - All classes, methods, etc. annotated with `@ApiStatus.Internal` or `@HideFromTransformers` are blacklisted. + - Some JDK methods inside blacklisted classes may be whitelisted, such as `System.arraycopy`, the full list of them may be added to over time. + - Some JDK methods inside whitelisted classes may be blacklisted, such as `Math.random`, the full list of them may be added to over time. +- Certain bytecode instructions are disallowed, such as `MONITORENTER` and `MONITOREXIT`. +- Certain method modifiers are disallowed, such as `ACC_SYNCHRONIZED` and `ACC_NATIVE`. +- All usages of the `INVOKEDYNAMIC` instruction will be disallowed except: + - If the bootstrap method is a member of `java/lang/invoke/StringConcatFactory`. + - If the bootstrap method is `java/lang/invoke/LambdaMetafactory.metafactory`, and: + - The return type additionally is not annotated as `@ApiStatus.NotExtendable`. + - The lambda captures are either primitive types, from a short list of acceptable JDK classes (e.g. `String`), or annotated with `@AllowLambdaCapture`. + - More allowable `INVOKEDYNAMIC` calls may be added in the future. +- All verified classes shall extend `java/lang/Object`. +- Verified classes may only have fields with the `ACC_FINAL` modifier. In addition, these fields shall only be from a short list of allowable types, such as primitive types and `String`. + - If the class file version is 52 (Java 8) or lower, then all `PUTFIELD` and `PUTSTATIC` instructions whose owner is the current transformer class will be disallowed, unless they are respectively in a `` or `` method. + - This explicit check is needed in addition to the `ACC_FINAL` rule because Java 8 JVMs do not throw a `VerifyError` when final field is modified outside the appropriate initialization method. + @ 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 Date: Thu, 29 Apr 2021 00:11:24 +0200 Subject: [PATCH 5/6] Replace slice with capture in more spots --- rfc/0014-asmr-processor.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rfc/0014-asmr-processor.md b/rfc/0014-asmr-processor.md index 2565d7c4..3d4292c7 100644 --- a/rfc/0014-asmr-processor.md +++ b/rfc/0014-asmr-processor.md @@ -36,13 +36,13 @@ The granularity of the tree structure is a key point of this design. Individual ![Hello World Example Diagram](0014-assets/asmr_hello_world.png) -A "slice" is a pointer to one or more sequential nodes. It can be one of two types: +A "capture" is a pointer to one or more sequential nodes. It can be one of two types: -- `AsmrSlice`: references a single node -- `AsmrListSlice`: references a parent list, a start node within the list, and an end node within the list. - - To better account for changes to the node list made by other transformers, list slices can choose whether they include the start and end nodes. For example here, pointing right after the field instruction node is not the same thing as pointing right before the load constant instruction node because, if another transformer injects between those two nodes, the new nodes will be included in the former case but not in the latter case. +- `AsmrCapture`: references a single node +- `AsmrListCapture`: references a parent list, a start node within the list, and an end node within the list. + - To better account for changes to the node list made by other transformers, list captures can choose whether they include the start and end nodes. For example here, pointing right after the field instruction node is not the same thing as pointing right before the load constant instruction node because, if another transformer injects between those two nodes, the new nodes will be captured in the former case but not in the latter case. -For a slice of instructions in a method (similar to what mixin has), the parent is the method instruction list ("body"), and the start and end indexes are into that instruction list. There can also be a slice of fields or methods in a class, and a slice of operands in a single instruction. If a single symbol needs to be targeted, it is represented as a slice of length 1. You can also have a slice of length 0, where the start index equals the end index. +For a capture of instructions in a method (similar to what Mixin has), the parent is the method instruction list ("body"), and the start and end indexes are into that instruction list. There can also be a capture of fields or methods in a class, and a capture of operands in a single instruction. If a single symbol needs to be targeted, it can be either represented as a basic capture, or as a list capture of length 1. There can also be a list capture of length 0, where the start index equals the end index. #### Processor phases @@ -50,7 +50,7 @@ For a slice of instructions in a method (similar to what mixin has), the parent The processor phases are split into two phases (actually it's more complicated than this, more on that later). We first have the read phase and then we have the write phase. -When a class is transformed, the read phase is first invoked for all transformers. This is when all transformers inspect the tree of the class and collect a set of slices they are interested in. Also in this phase, the transformers are allowed to tell the processor certain things about the slices they identify. For example, a transformer could tell the processor that a certain slice must not be modified by any other transformer during the write phase. No modification to the class tree happens in this phase. +When a class is transformed, the read phase is first invoked for all transformers. This is when all transformers inspect the tree of the class and collect a set of captures they are interested in. Also in this phase, the transformers are allowed to tell the processor certain things about the slices they identify. For example, a transformer could tell the processor that a certain slice must not be modified by any other transformer during the write phase. No modification to the class tree happens in this phase. In the read phase, each transformer also tells the processor about the writes it plans to do during the write phase (along with which write function to use in each case, see below). Note that this means that between the read phase and the write phase, the processor can detect inter-mod conflicts, which are defined as one processor marking a slice for write which overlaps a slice that another processor marked as cannot-be-modified. @@ -78,7 +78,7 @@ The problem could also be mitigated by putting illegal Java identifier character #### Transformer Verifier -To ensure determinism in bytecode modifications, transformers' own bytecode is scanned and verified. An exception is thrown if a transformer does not respect the following criteria: +To ensure bytecode modifications that are functionally pure, transformers' own bytecode is scanned and verified. An exception is thrown if a transformer does not respect the following criteria: - All references to non-whitelisted or blacklisted classes are disallowed. - All classes are blacklisted by default From 4cd6b5201f797be3e478e82d22a753099a846d85 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Tue, 29 Jun 2021 13:46:36 +0200 Subject: [PATCH 6/6] Staring down the chasm --- rfc/{0014-asmr-processor.md => 0014-chasm-processor.md} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename rfc/{0014-asmr-processor.md => 0014-chasm-processor.md} (95%) diff --git a/rfc/0014-asmr-processor.md b/rfc/0014-chasm-processor.md similarity index 95% rename from rfc/0014-asmr-processor.md rename to rfc/0014-chasm-processor.md index 3d4292c7..4f387af8 100644 --- a/rfc/0014-asmr-processor.md +++ b/rfc/0014-chasm-processor.md @@ -1,15 +1,15 @@ ## Summary -This RFC is part of a series aiming to define and prototype the ASM-Regex project. It expands upon [RFC-0003](https://github.com/QuiltMC/rfcs/pulls/3) by proposing a design for the processor, a backend module that loads transformers and applies them as needed to a given classpath. +This RFC is part of a series aiming to define and prototype the CHASM (Collision-Handling ASM, formerly referred to as ASMR) project. It expands upon [RFC-0003](https://github.com/QuiltMC/rfcs/pulls/3) by proposing a design for the processor, a backend module that loads transformers and applies them as needed to a given classpath. ## Motivation -ASM-Regex would be based on two key kinds of components: +CHASM would be based on two key kinds of components: - **Processor** - a backend library which applies *transformers* to the application's bytecode. - **Compiler** - a piece of software which can take in some form of input (annotated classes, domain-specific language, etc.) and turn them into *transformers* usable by the processor. -*Transformers* present themselves as classes loadable by the JVM that can transform the ASMR tree provided by the processor. Those would be invisible to modders, being only generated by compilers as intermediary objects to be executed by the processor. +*Transformers* present themselves as classes loadable by the JVM that can transform the CHASM tree provided by the processor. Those would be invisible to modders, being only generated by compilers as intermediary objects to be executed by the processor. ### Requirements @@ -83,7 +83,7 @@ To ensure bytecode modifications that are functionally pure, transformers' own b - All references to non-whitelisted or blacklisted classes are disallowed. - All classes are blacklisted by default - The transformer class itself (the one that's currently being verified) is whitelisted. - - All classes that ship with the ASMR processor are whitelisted by default. + - All classes that ship with the CHASM processor are whitelisted by default. - This check is *not* the same as checking the package prefix, as this restriction may be circumvented by putting a mod's own classes in the same package. - Certain JDK classes are whitelisted, such as `String`, the full list of them may be added to over time. - All classes, methods, etc. annotated with `@ApiStatus.Internal` or `@HideFromTransformers` are blacklisted.