[
https://issues.apache.org/jira/browse/GROOVY-12022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18081938#comment-18081938
]
ASF GitHub Bot commented on GROOVY-12022:
-----------------------------------------
blackdrag opened a new pull request, #2546:
URL: https://github.com/apache/groovy/pull/2546
replace indy code for array access in static compilation mode with existing
code in BytecodeInterface8 and deprecate now surplus
IndyStaticTypesMultiTypeDispatcher. Performance wise there is no gain to use
indy here and it simplifies code paths and JIT work
> deprecate IndyStaticTypesMultiTypeDispatcher
> --------------------------------------------
>
> Key: GROOVY-12022
> URL: https://issues.apache.org/jira/browse/GROOVY-12022
> Project: Groovy
> Issue Type: Bug
> Reporter: Jochen Theodorou
> Assignee: Jochen Theodorou
> Priority: Minor
>
> In IndyStaticTypesMultiTypeDispatcher.java (lines 95-99), the get and set
> names are swapped for float and boolean arrays (using name "get" for a
> descriptor that returns void and takes a value).
> The code works because the IndyInterface.staticArrayAccess bootstrap method
> ignores the name parameter and uses the parameter count of the MethodType
> instead.
> But in general I see no reason to use invokedynamic here. The non-indy code
> uses BytecodeInterface8 to access the specific code paths for array access
> and should be faster than the indy version since it is a "simple" static
> method invocation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)