[code-reflection] RFR: Add isQuotable attribute to LambdaOp [v7]
Mourad Abbay
mabbay at openjdk.org
Mon Sep 15 12:44:40 UTC 2025
> In the `interpreter` and `ByteCodeGenerator` we detect if a lambda is quotable based on its functional interface. This approach will not work if intersection type is used e.g. `Runnable r = (Runnable & Quotable) () -> {};` This PR adds a flag to LambdaOp that will be set by the `javac` for quotable lambdas.
Mourad Abbay has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
- Merge branch 'code-reflection' into lambda-isQuotable-attr
- Apply suggestion
- Rectify the way we get the flags of a lambda invokedynamic
- Correct the way we detect if a lambda is quotable when lifting bytecode
- Update expected models in tests to include the attribute
- Detect if a lambda is quotable when lifting bytecode
- Apply review comments
- Add attribute to LambdaOp
-------------
Changes:
- all: https://git.openjdk.org/babylon/pull/545/files
- new: https://git.openjdk.org/babylon/pull/545/files/1fa78060..19a3a2ad
Webrevs:
- full: https://webrevs.openjdk.org/?repo=babylon&pr=545&range=06
- incr: https://webrevs.openjdk.org/?repo=babylon&pr=545&range=05-06
Stats: 12968 lines in 156 files changed: 6395 ins; 5614 del; 959 mod
Patch: https://git.openjdk.org/babylon/pull/545.diff
Fetch: git fetch https://git.openjdk.org/babylon.git pull/545/head:pull/545
PR: https://git.openjdk.org/babylon/pull/545
More information about the babylon-dev
mailing list