[ https://issues.apache.org/jira/browse/GROOVY-7239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-7239. ----------------------------- > Allow optimized array access in static compiled code with indy > -------------------------------------------------------------- > > Key: GROOVY-7239 > URL: https://issues.apache.org/jira/browse/GROOVY-7239 > Project: Groovy > Issue Type: Improvement > Reporter: Jochen Theodorou > Assignee: Jochen Theodorou > Fix For: 2.5.0-alpha-1 > > > to perform a intArray[i] access Groovy usually goes through an either fully > dynamic path, or a special method in BytecodeInterface8. This has to be done, > because of the semantics of allowing a negative array index. This results in > a speed penalty even for static compiled code. > The improvement here is to use invokedynamic to perform the array access > instead. The semantics will stay equal, but if a constant call site can be > used performance will be on par with Java. This of course works only if the > callsite will use static information. This means this change is suitable only > for @CompileStatic for now. > This change also implies no null check for the array, causing an NPE is the > array is null. But this is in line with current behavior in static compilation -- This message was sent by Atlassian JIRA (v6.3.15#6346)