You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "blackdrag (via GitHub)" <gi...@apache.org> on 2026/06/10 00:29:27 UTC
[PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
blackdrag opened a new pull request, #2598:
URL: https://github.com/apache/groovy/pull/2598
This change adds a target method handle in the dgm helper classes. Invokedynamic then does not have to use the path of a generic meta method invocation, but can invoke the target of the dgm helper directly. For this bytecode generation changes are done in the dgm converter, as well as changes in indy method handling for that case. The change contains also a cleanup of some warnings, a test for the dgm converter changes and some cleanup/refactoring in the Selector
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4665563623
### JMH summary — indy (commit `85a11ab`)
Speedup vs trailing 90-day baseline on gh-pages. Higher = faster.
`1.00` = in line with history. Per-benchmark ratio, geomean within group.
Time-per-op units inverted so direction is consistent.
| Group | Speedup | n |
|--------|---------|---|
| bench | 0.978 × | 26 |
| core | 1.000 × | 77 |
| grails | 1.052 × | 80 |
<sub>Baseline: <code>dev/bench/jmh/<part>/indy/data.js</code> on gh-pages, trailing 90 days. <a href="https://apache.github.io/groovy/dev/bench/jmh/summary.html">Daily dashboard</a> · <a href="https://apache.github.io/groovy/dev/bench/jmh/">Per-suite raw data</a></sub>
<!-- jmh-summary:indy -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "daniellansun (via GitHub)" <gi...@apache.org>.
daniellansun commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4701453330
Merged. Thanks.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "daniellansun (via GitHub)" <gi...@apache.org>.
daniellansun merged PR #2598:
URL: https://github.com/apache/groovy/pull/2598
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4665487713
## [Codecov](https://app.codecov.io/gh/apache/groovy/pull/2598?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:x: Patch coverage is `84.68468%` with `17 lines` in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 68.4490%. Comparing base ([`15c1b26`](https://app.codecov.io/gh/apache/groovy/commit/15c1b26983cb0acf41345a327eddb357ff87d36b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`f962b5c`](https://app.codecov.io/gh/apache/groovy/commit/f962b5c1e454949bc141a5f4933e44c3b01483f9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 17 commits behind head on master.
| [Files with missing lines](https://app.codecov.io/gh/apache/groovy/pull/2598?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
|---|---|---|
| [...java/org/codehaus/groovy/vmplugin/v8/Selector.java](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fvmplugin%2Fv8%2FSelector.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3ZtcGx1Z2luL3Y4L1NlbGVjdG9yLmphdmE=) | 75.8064% | [5 Missing and 10 partials :warning: ](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [...n/java/org/codehaus/groovy/tools/DgmConverter.java](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Ftools%2FDgmConverter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3Rvb2xzL0RnbUNvbnZlcnRlci5qYXZh) | 95.8333% | [0 Missing and 2 partials :warning: ](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
<details><summary>Additional details and impacted files</summary>
[](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
```diff
@@ Coverage Diff @@
## master #2598 +/- ##
==================================================
+ Coverage 68.3052% 68.4490% +0.1438%
- Complexity 33399 33428 +29
==================================================
Files 1518 1518
Lines 126879 126912 +33
Branches 23005 23006 +1
==================================================
+ Hits 86665 86870 +205
+ Misses 32529 32350 -179
- Partials 7685 7692 +7
```
| [Files with missing lines](https://app.codecov.io/gh/apache/groovy/pull/2598?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [...odehaus/groovy/reflection/GeneratedMetaMethod.java](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Freflection%2FGeneratedMetaMethod.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3JlZmxlY3Rpb24vR2VuZXJhdGVkTWV0YU1ldGhvZC5qYXZh) | `90.7407% <100.0000%> (+31.8622%)` | :arrow_up: |
| [...n/java/org/codehaus/groovy/tools/DgmConverter.java](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Ftools%2FDgmConverter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3Rvb2xzL0RnbUNvbnZlcnRlci5qYXZh) | `95.0311% <95.8333%> (+95.0311%)` | :arrow_up: |
| [...java/org/codehaus/groovy/vmplugin/v8/Selector.java](https://app.codecov.io/gh/apache/groovy/pull/2598?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fvmplugin%2Fv8%2FSelector.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3ZtcGx1Z2luL3Y4L1NlbGVjdG9yLmphdmE=) | `80.7615% <75.8064%> (-0.4756%)` | :arrow_down: |
... and [11 files with indirect coverage changes](https://app.codecov.io/gh/apache/groovy/pull/2598/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
</details>
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "testlens-app[bot] (via GitHub)" <gi...@apache.org>.
testlens-app[bot] commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4665439093
## 🚨 TestLens detected 1 failed test 🚨
Here is what you can do:
1) Inspect the test failures carefully.
2) If you are convinced that some of the tests are flaky, you can mute them below.
3) Finally, trigger a rerun by checking the rerun checkbox.
### Test Summary
| Check | Project/Task | Test | Runs |
|---|---|---|---|
| [Build and test / lts \(17, macos-latest\)](https://github.com/apache/groovy/actions/runs/27244838293/job/80456438023?pr=2598) | :test | ActorTest > testScheduleAtFixedRateCancelStopsFurtherFires\(\) | ❌ |
🏷️ Commit: f962b5c1e454949bc141a5f4933e44c3b01483f9
▶️ Tests: 45981 executed
🟡 Checks: 5/28 completed
### Test Failures
<details>
<summary><strong>ActorTest > testScheduleAtFixedRateCancelStopsFurtherFires()</strong> (:test in <a href="https://github.com/apache/groovy/actions/runs/27244838293/job/80456438023?pr=2598">Build and test / lts (17, macos-latest)</a>)</summary>
```
java.lang.AssertionError: expected 2 or 3 ticks (got 4). Expression: (n in [2, 3]). Values: n = 4
at org.codehaus.groovy.runtime.InvokerHelper.createAssertError(InvokerHelper.java:402)
at TestScript20.run(TestScript20.groovy:28)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:553)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:588)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:572)
at groovy.test.GroovyAssert.assertScript(GroovyAssert.java:106)
at groovy.test.GroovyAssert.assertScript(GroovyAssert.java:96)
at groovy.concurrent.ActorTest.testScheduleAtFixedRateCancelStopsFurtherFires(ActorTest.groovy:1372)
```
</details>
### Muted Tests
> [!NOTE]
> Checks are currently running using the configuration below.
Select tests to mute in this pull request:
🔲 ActorTest > testScheduleAtFixedRateCancelStopsFurtherFires\(\) <!-- uniqueId=[engine:junit-jupiter]/[class:groovy.concurrent.ActorTest]/[method:testScheduleAtFixedRateCancelStopsFurtherFires()] -->
Reuse successful test results:
🔲 ♻️ Only rerun the tests that failed or were muted before
Click the checkbox to trigger a rerun:
🔲 **Rerun jobs**
---
_Learn more about TestLens at [testlens.app](https://testlens.app)._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4665517097
### JMH summary — classic (commit `85a11ab`)
Speedup vs trailing 90-day baseline on gh-pages. Higher = faster.
`1.00` = in line with history. Per-benchmark ratio, geomean within group.
Time-per-op units inverted so direction is consistent.
| Group | Speedup | n |
|--------|---------|---|
| bench | 1.235 × | 26 |
| core | 1.039 × | 77 |
| grails | 0.975 × | 80 |
<sub>Baseline: <code>dev/bench/jmh/<part>/classic/data.js</code> on gh-pages, trailing 90 days. <a href="https://apache.github.io/groovy/dev/bench/jmh/summary.html">Daily dashboard</a> · <a href="https://apache.github.io/groovy/dev/bench/jmh/">Per-suite raw data</a></sub>
<!-- jmh-summary:classic -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GROOVY-12069: introduce methodhandles in dgm wrappers [groovy]
Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #2598:
URL: https://github.com/apache/groovy/pull/2598#issuecomment-4665506933
## [](https://sonarcloud.io/dashboard?id=apache_groovy&pullRequest=2598) **Quality Gate passed**
Issues
 [2 New issues](https://sonarcloud.io/project/issues?id=apache_groovy&pullRequest=2598&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_groovy&pullRequest=2598&issueStatuses=ACCEPTED)
Measures
 [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_groovy&pullRequest=2598&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [92.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_groovy&pullRequest=2598&metric=new_coverage&view=list)
 [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_groovy&pullRequest=2598&metric=new_duplicated_lines_density&view=list)
<!-- sqra-placement-anchor -->
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_groovy&pullRequest=2598)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@groovy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org