[code-reflection] RFR: Onnx direct reflection over records as tuples [v11]

Adam Sotona asotona at openjdk.org
Wed Apr 2 08:21:21 UTC 2025


On Wed, 2 Apr 2025 07:42:20 GMT, Adam Sotona <asotona at openjdk.org> wrote:

>> This PR removes `ExplicitOnnxOps.LoopReturn` and reflects directly on Records.
>> 
>> Unfortunately in some situations `new LoopReturn` cause javac crashing with IOOBE  at `jdk.incubator.code/jdk.incubator.code.internal.ReflectMethods$BodyScanner.thisValue(ReflectMethods.java:689)`.
>> 
>> Problematic use cases are at `WalkTheMazeTest::turnRight` and `WalkTheMazeTest::turnLeftWhileWall`.
>> While seamlessly working use cases are at `WalkTheMazeTest::walkAroundTheMaze` and `SimpleTest::forLoopAdd`.
>> 
>> As a temporary workaround any static factory method returning a record is also treated as a tuple constructor.
>> 
>> Please review.
>> 
>> Thanks,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Applied OnnxTransformer patch from @PaulSandoz

Thanks for the reviews!

-------------

PR Comment: https://git.openjdk.org/babylon/pull/375#issuecomment-2771767386


More information about the babylon-dev mailing list