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

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


On Mon, 31 Mar 2025 11:05:56 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

This pull request has now been integrated.

Changeset: bd0569ee
Author:    Adam Sotona <asotona at openjdk.org>
URL:       https://git.openjdk.org/babylon/commit/bd0569ee1a32d3394a82bd36a29b67e7c2069b71
Stats:     481 lines in 7 files changed: 223 ins; 168 del; 90 mod

Onnx direct reflection over records as tuples

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

PR: https://git.openjdk.org/babylon/pull/375


More information about the babylon-dev mailing list